[pypy-svn] r26569 - pypy/dist/pypy/interpreter/test
ericvrp at codespeak.net
ericvrp at codespeak.net
Sat Apr 29 11:39:03 CEST 2006
Author: ericvrp
Date: Sat Apr 29 11:39:00 2006
New Revision: 26569
Modified:
pypy/dist/pypy/interpreter/test/test_pickle.py
Log:
(Yusei, ericvrp)
more tests that pass
Modified: pypy/dist/pypy/interpreter/test/test_pickle.py
==============================================================================
--- pypy/dist/pypy/interpreter/test/test_pickle.py (original)
+++ pypy/dist/pypy/interpreter/test/test_pickle.py Sat Apr 29 11:39:00 2006
@@ -1,5 +1,5 @@
class AppTestInterpObjectPickling:
-
+
def test_pickle_code(self):
def f():
return 42
@@ -8,7 +8,7 @@
pckl = pickle.dumps(code)
result = pickle.loads(pckl)
assert code == result
-
+
def test_pickle_global_func(self):
import new
mod = new.module('mod')
@@ -23,7 +23,7 @@
result = pickle.loads(pckl)
assert func is result
del sys.modules['mod']
-
+
def test_pickle_not_imported_module(self):
import new
mod = new.module('mod')
@@ -34,13 +34,13 @@
assert mod.__name__ == result.__name__
assert mod.__dict__ == result.__dict__
#print mod.__dict__
-
+
def test_pickle_builtin_func(self):
import pickle
pckl = pickle.dumps(map)
result = pickle.loads(pckl)
assert map is result
-
+
def test_pickle_non_top_reachable_func(self):
def func():
return 42
@@ -57,7 +57,7 @@
assert func.func_dict == result.func_dict
assert func.func_doc == result.func_doc
assert func.func_globals == result.func_globals
-
+
def test_pickle_cell(self):
def g():
x = [42]
@@ -65,13 +65,13 @@
x[0] += 1
return x
return f.func_closure[0]
- import pickle
+ import pickle
cell = g()
pckl = pickle.dumps(cell)
result = pickle.loads(pckl)
assert cell == result
assert not (cell != result)
-
+
def test_pickle_frame(self):
skip("work in progress")
from sys import exc_info
@@ -86,7 +86,7 @@
pckl = pickle.dumps(frame)
result = pickle.loads(pckl)
assert frame == result
-
+
def test_pickle_traceback(self):
skip("work in progress")
def f():
@@ -101,39 +101,57 @@
pckl = pickle.dumps(tb)
result = pickle.loads(pckl)
assert tb == result
-
+
def test_pickle_module(self):
import pickle
mod = pickle
pckl = pickle.dumps(mod)
result = pickle.loads(pckl)
assert mod is result
-
+
def test_pickle_moduledict(self):
import pickle
moddict = pickle.__dict__
pckl = pickle.dumps(moddict)
result = pickle.loads(pckl)
assert moddict is result
-
+
def test_pickle_bltins_module(self):
import pickle
mod = __builtins__
pckl = pickle.dumps(mod)
result = pickle.loads(pckl)
assert mod is result
-
+
+ def test_pickle_buffer(self):
+ import pickle
+ a = buffer('ABCDEF')
+ pckl = pickle.dumps(a)
+ result = pickle.loads(pckl)
+ assert a == result
+
+ def test_pickle_complex(self):
+ import pickle
+ a = complex(1.23,4.567)
+ pckl = pickle.dumps(a)
+ result = pickle.loads(pckl)
+ assert a == result
+
def test_pickle_method(self):
skip("work in progress")
class myclass(object):
def f(self):
pass
+ def __reduce__(self):
+ return (myclass,())
import pickle
- method = myclass.f
+ myclass_inst = myclass()
+ method = myclass_inst.f
pckl = pickle.dumps(method)
result = pickle.loads(pckl)
assert method == result
+
def test_pickle_staticmethod(self):
skip("work in progress")
class myclass(object):
@@ -145,7 +163,7 @@
pckl = pickle.dumps(method)
result = pickle.loads(pckl)
assert method == result
-
+
def test_pickle_classmethod(self):
skip("work in progress")
class myclass(object):
@@ -157,26 +175,7 @@
pckl = pickle.dumps(method)
result = pickle.loads(pckl)
assert method == result
-
- def test_pickle_dictiter(self):
- skip("work in progress")
- import pickle
- diter = iter({})
- pckl = pickle.dumps(diter)
- result = pickle.loads(pckl)
- assert diter == result
-
- def test_pickle_enum(self):
- skip("work in progress")
- import pickle
- e = enumerate([])
- pckl = pickle.dumps(e)
- result = pickle.loads(pckl)
- assert e == result
-
- #def test_pickle_enumfactory(self):
- # skip("work in progress")
-
+
def test_pickle_sequenceiter(self):
'''
In PyPy there is no distinction here between listiterator and
@@ -189,7 +188,27 @@
pckl = pickle.dumps(liter)
result = pickle.loads(pckl)
assert liter == result
-
+
+ def test_pickle_dictiter(self):
+ skip("work in progress")
+ import pickle
+ diter = iter({})
+ pckl = pickle.dumps(diter)
+ result = pickle.loads(pckl)
+ assert diter == result
+
+ def test_pickle_enum(self):
+ import pickle
+ e = enumerate(range(10))
+ e.next()
+ e.next()
+ e._iter= 42 #XXX HACK, because we have no sequence/dict iterator yet
+ pckl = pickle.dumps(e)
+ result = pickle.loads(pckl)
+ assert type(e) is type(result)
+ assert e._iter == result._iter #change when _iter is an iter(..) again
+ assert e._index == result._index
+
def test_pickle_xrangeiter(self):
import pickle
riter = iter(xrange(5))
@@ -199,7 +218,7 @@
result = pickle.loads(pckl)
assert type(riter) is type(result)
assert list(result) == [2,3,4]
-
+
def test_pickle_reversed_iterator(self):
import pickle
i = reversed(xrange(5))
@@ -209,10 +228,10 @@
result = pickle.loads(pckl)
assert type(i) is type(result)
assert list(result) == [2,1,0]
-
+
def test_pickle_generator(self):
skip("work in progress")
- import pickle
+ import pickle
def giveme(n):
x = 0
while x < n:
More information about the Pypy-commit
mailing list