def test_reads_global(self): global abc, reads_global glbs = self.make_globals() s = _serialize_func(reads_global) del abc, reads_global f = _deserialize_func(s, glbs) self.assertEqual(f(), 200) pass
def test_reads_class(self): global reads_class, MyClass s = _serialize_func(reads_class) del reads_class, MyClass glbs = self.make_globals() f = _deserialize_func(s, glbs) self.assertTrue(repr(f()).startswith('<__main__.MyClass instance at'))
def test_mutually_ref(self): global mutually_ref_f, mutually_ref_g glbs = self.make_globals() serialized = _serialize_func(mutually_ref_f) del mutually_ref_f, mutually_ref_g f = _deserialize_func(serialized, glbs) self.assertEqual(f()[0], 42) self.assertEqual(f()[1]()[0], 100)
def test_aliasing(self): serialized = _serialize_func(calls_aliased_function) glbs = self.make_globals() f = _deserialize_func(serialized, glbs) self.assertEqual(f(), 42)
def test_module(self): serialized = _serialize_func(reads_module) glbs = self.make_globals() f = _deserialize_func(serialized, glbs) self.assertEqual(f(), sys.version)