mirror of
https://github.com/python/cpython.git
synced 2025-11-01 10:45:30 +00:00
Quite a few fixes to make the library and test suite more robust when
cPickle cannot be imported. This was necessary because my last mass checkin broke cPickle and I don't feel like debugging it right now; but it seems a good idea in general not to require cPickle when pickle.py is also there. A few unrelated fixes for issues while debigging various test failures. setup.py: disable building of cPickle until I've fixed it Objects/... genobject.c: disallow raising string exceptions Lib/... Cookie.py: fix doctest not to fail if cPickle is missing ctypes/macholib/dyld.py: fix relative imports sqlite3/__init__.py: fix relative import xml/dom/__init__.py: fix relative import Lib/test/... regrtest.py: reduce list of skipped items on darwin test_generators.py: don't test string exceptions; test throw() errors test_traceback.py: don't test string exceptions pickletester.py: don't fail if cPickle is missing test_datetime.py: don't fail if cPickle is missing test_descr.py: don't fail if cPickle is missing (still some other failures) test_exceptions.py: don't fail if cPickle is missing test_re.py: don't fail if cPickle is missing test_array.py: use pickle, not cPickle test_bool.py: don't fail if cPickle is missing test_deque.py: use pickle, not cPickle test_logging.py: use pickle, not cPickle
This commit is contained in:
parent
3b271054d7
commit
bf12cdbb28
18 changed files with 84 additions and 69 deletions
|
|
@ -2666,7 +2666,11 @@ def setdict():
|
|||
def pickles():
|
||||
if verbose:
|
||||
print "Testing pickling and copying new-style classes and objects..."
|
||||
import pickle, cPickle
|
||||
import pickle
|
||||
try:
|
||||
import cPickle
|
||||
except ImportError:
|
||||
cPickle = None
|
||||
|
||||
def sorteditems(d):
|
||||
L = d.items()
|
||||
|
|
@ -2722,6 +2726,8 @@ def pickles():
|
|||
pass
|
||||
|
||||
for p in pickle, cPickle:
|
||||
if p is None:
|
||||
continue # cPickle not found -- skip it
|
||||
for bin in 0, 1:
|
||||
if verbose:
|
||||
print p.__name__, ["text", "binary"][bin]
|
||||
|
|
@ -2781,7 +2787,7 @@ def pickles():
|
|||
|
||||
def pickleslots():
|
||||
if verbose: print "Testing pickling of classes with __slots__ ..."
|
||||
import pickle, cPickle
|
||||
import pickle, pickle as cPickle
|
||||
# Pickling of classes with __slots__ but without __getstate__ should fail
|
||||
global B, C, D, E
|
||||
class B(object):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue