There were only needed to support Python < 2.2, and we now require at least Python 2.6. Conflicts: .travis.yml Examples/test-suite/python/autodoc_runme.py Source/Modules/python.cxx This is a cherry-pick and merge from patch in #1261
29 lines
673 B
Python
29 lines
673 B
Python
import python_pickle
|
|
|
|
import pickle
|
|
import sys
|
|
|
|
def check(p):
|
|
msg = p.msg
|
|
if msg != "hi there":
|
|
raise RuntimeError("Bad, got: " + msg)
|
|
|
|
python_pickle.cvar.debug = False
|
|
|
|
p = python_pickle.PickleMe("hi there")
|
|
check(p)
|
|
|
|
r = p.__reduce__()
|
|
if python_pickle.cvar.debug:
|
|
print "__reduce__ returned:", r
|
|
pickle_string = pickle.dumps(p)
|
|
newp = pickle.loads(pickle_string)
|
|
check(newp)
|
|
|
|
# Not yet working... some crash and others are not producing a sensible "can't be pickled" error
|
|
#nfp = python_pickle.NotForPickling("no no")
|
|
#print nfp.__reduce__()
|
|
#pickle_string = pickle.dumps(nfp)
|
|
#print pickle_string
|
|
#newp = pickle.loads(pickle_string)
|
|
#print newp.msg
|