sources for test_pickle.py [rev. unknown]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from StringIO import StringIO
def pickletest(mod):
    f1 = StringIO()
    f2 = StringIO()
    pickler1 = mod.Pickler(f1)
    unpickler1 = mod.Unpickler(f2)
    pickler2 = mod.Pickler(f2)
    unpickler2 = mod.Unpickler(f1)
    #pickler1.memo = unpickler1.memo = {}
    #pickler2.memo = unpickler2.memo = {}
    d = {}
    pickler1.dump(d)
    f1.seek(0)
    d_other = unpickler2.load()
    # translate unpickler2 memo to pickler2
    pickler2.memo = dict([(id(obj), (int(x), obj))
                            for x, obj in unpickler2.memo.items()])
    pickler2.dump(d_other)
    f2.seek(0)
    unpickler1.memo = dict([(str(x), y) for x, y in pickler1.memo.values()])
    d_back = unpickler1.load()
    assert d is d_back
def test_cpickle():
    import cPickle
    pickletest(cPickle)
def test_pickle():
    import pickle
    pickletest(pickle)