Skip to content

Commit

Permalink
Suppress protocol 3 pickle tests on Python2.
Browse files Browse the repository at this point in the history
  • Loading branch information
tseaver committed Jun 8, 2013
1 parent 935be03 commit 8ae7a5c
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
8 changes: 7 additions & 1 deletion src/ZODB/_compat.py
Expand Up @@ -14,14 +14,20 @@

try:
# Python 2.x
from cPickle import Pickler, Unpickler, dump, dumps, loads
from cPickle import Pickler
from cPickle import Unpickler
from cPickle import dump
from cPickle import dumps
from cPickle import loads
from cPickle import HIGHEST_PROTOCOL
IMPORT_MAPPING = {}
NAME_MAPPING = {}
_protocol = 1
except ImportError:
# Python 3.x: can't use stdlib's pickle because
# http://bugs.python.org/issue6784
import zodbpickle.pickle
HIGHEST_PROTOCOL = 3
from _compat_pickle import IMPORT_MAPPING, NAME_MAPPING

class Pickler(zodbpickle.pickle.Pickler):
Expand Down
8 changes: 5 additions & 3 deletions src/ZODB/tests/testUtils.py
Expand Up @@ -122,9 +122,11 @@ def test_get_pickle_metadata_w_protocol_2_class_pickle(self):
def test_get_pickle_metadata_w_protocol_3_class_pickle(self):
from ZODB.utils import get_pickle_metadata
from ZODB._compat import dumps
pickle = dumps(ExampleClass, protocol=3)
self.assertEqual(get_pickle_metadata(pickle),
(__name__, ExampleClass.__name__))
from ZODB._compat import HIGHEST_PROTOCOL
if HIGHEST_PROTOCOL >= 3:
pickle = dumps(ExampleClass, protocol=3)
self.assertEqual(get_pickle_metadata(pickle),
(__name__, ExampleClass.__name__))


class ExampleClass(object):
Expand Down

0 comments on commit 8ae7a5c

Please sign in to comment.