remove double-wrap warning (#1061)

* remove double-wrap warning

* remove double-wrap tests
This commit is contained in:
Alex Nichol
2018-06-04 17:00:27 -04:00
committed by GitHub
parent d5300b5714
commit 5404b39d06
2 changed files with 0 additions and 32 deletions

View File

@@ -244,22 +244,11 @@ class Wrapper(Env):
self.observation_space = self.env.observation_space
self.reward_range = self.env.reward_range
self.metadata = self.env.metadata
self._warn_double_wrap()
@classmethod
def class_name(cls):
return cls.__name__
def _warn_double_wrap(self):
env = self.env
while True:
if isinstance(env, Wrapper):
if env.class_name() == self.class_name():
raise error.DoubleWrapperError("Attempted to double wrap with Wrapper: {}".format(self.__class__.__name__))
env = env.env
else:
break
def step(self, action):
if hasattr(self, "_step"):
deprecated_warn_once("%s doesn't implement 'step' method, but it implements deprecated '_step' method." % type(self))

View File

@@ -1,21 +0,0 @@
import gym
from gym import error
from gym import wrappers
import tempfile
import shutil
def test_no_double_wrapping():
temp = tempfile.mkdtemp()
try:
env = gym.make("FrozenLake-v0")
env = wrappers.Monitor(env, temp)
try:
env = wrappers.Monitor(env, temp)
except error.DoubleWrapperError:
pass
else:
assert False, "Should not allow double wrapping"
env.close()
finally:
shutil.rmtree(temp)