Fix RandomNumberGenerator pickling (#2639)

* Fix RandomNumberGenerator pickling

* Add test for RNG pickling fix

* Fix Python 3.7 compatibility about tuple unpacking

See: https://bugs.python.org/issue32117

* Fix formatting issue

* Add test for space pickling
This commit is contained in:
JYX
2022-03-02 23:38:26 +08:00
committed by GitHub
parent 8d4dff1b66
commit 15b5c6c29f
3 changed files with 86 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
import pickle
from gym import error
from gym.utils import seeding
@@ -16,3 +18,13 @@ def test_valid_seeds():
for seed in [0, 1]:
random, seed1 = seeding.np_random(seed)
assert seed == seed1
def test_rng_pickle():
rng, _ = seeding.np_random(seed=0)
pickled = pickle.dumps(rng)
rng2 = pickle.loads(pickled)
assert isinstance(
rng2, seeding.RandomNumberGenerator
), "Unpickled object is not a RandomNumberGenerator"
assert rng.random() == rng2.random()