mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-08-01 22:11:25 +00:00
remove double-wrap warning (#1061)
* remove double-wrap warning * remove double-wrap tests
This commit is contained in:
11
gym/core.py
11
gym/core.py
@@ -244,22 +244,11 @@ class Wrapper(Env):
|
|||||||
self.observation_space = self.env.observation_space
|
self.observation_space = self.env.observation_space
|
||||||
self.reward_range = self.env.reward_range
|
self.reward_range = self.env.reward_range
|
||||||
self.metadata = self.env.metadata
|
self.metadata = self.env.metadata
|
||||||
self._warn_double_wrap()
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def class_name(cls):
|
def class_name(cls):
|
||||||
return cls.__name__
|
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):
|
def step(self, action):
|
||||||
if hasattr(self, "_step"):
|
if hasattr(self, "_step"):
|
||||||
deprecated_warn_once("%s doesn't implement 'step' method, but it implements deprecated '_step' method." % type(self))
|
deprecated_warn_once("%s doesn't implement 'step' method, but it implements deprecated '_step' method." % type(self))
|
||||||
|
@@ -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)
|
|
Reference in New Issue
Block a user