jsonpickle 0.5.0 claims to support Python 3, but it has 8 failures and 50 errors with Python 3.
$ PYTHONPATH="$(pwd)" python3.3 tests/runtests.py
...
======================================================================
ERROR: test_long (util_tests.PrimitiveTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/jsonpickle-0.5.0/tests/util_tests.py", line 41, in test_long
self.assertTrue(is_primitive(long(3)))
NameError: global name 'long' is not defined
======================================================================
ERROR: test_class (jsonpickle_test.PicklingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/jsonpickle-0.5.0/tests/jsonpickle_test.py", line 225, in test_class
flattened = self.pickler.flatten(inst)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 121, in flatten
return self._flatten(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 132, in _flatten
flatten_func = self._get_flattener(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 164, in _get_flattener
if util.is_type(obj):
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 38, in is_type
return type(obj) is type or type(obj) is types.ClassType
AttributeError: 'module' object has no attribute 'ClassType'
======================================================================
ERROR: test_set_notunpicklable (jsonpickle_test.PicklingTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/jsonpickle-0.5.0/tests/jsonpickle_test.py", line 370, in test_set_notunpicklable
self.assertEqual(sorted(flattened), sorted(['one', 2, 3]))
TypeError: unorderable types: int() < str()
======================================================================
ERROR: test_decode (jsonpickle_test.JSONPickleTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/jsonpickle-0.5.0/tests/jsonpickle_test.py", line 509, in test_decode
unpickled = jsonpickle.decode(self.expected_json)
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 149, in decode
return unpickler.decode(string, backend=backend, keys=keys)
File "/tmp/jsonpickle-0.5.0/jsonpickle/unpickler.py", line 25, in decode
return context.restore(backend.decode(string), reset=reset)
File "/tmp/jsonpickle-0.5.0/jsonpickle/unpickler.py", line 71, in restore
return self._restore(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/unpickler.py", line 94, in _restore
return restore(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/unpickler.py", line 116, in _restore_object
handler = handlers.BaseHandler._registry.get(cls)
AttributeError: type object 'BaseHandler' has no attribute '_registry'
======================================================================
ERROR: test_unicode_dict_keys (jsonpickle_test.JSONPickleTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/jsonpickle-0.5.0/tests/jsonpickle_test.py", line 522, in test_unicode_dict_keys
pickled = jsonpickle.encode({'é'.decode('utf-8'): 'é'.decode('utf-8')})
AttributeError: 'str' object has no attribute 'decode'
======================================================================
ERROR: test (thirdparty_tests.FeedParserTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/jsonpickle-0.5.0/tests/thirdparty_tests.py", line 65, in setUp
self.doc = feedparser.parse(RSS_DOC)
File "/usr/lib64/python3.3/site-packages/feedparser.py", line 3984, in parse
saxparser.parse(source)
File "/usr/lib64/python3.3/site-packages/drv_libxml2.py", line 189, in parse
eltName = (_d(reader.NamespaceUri()),\
File "/usr/lib64/python3.3/site-packages/drv_libxml2.py", line 70, in _d
return _decoder(s)[0]
File "/usr/lib64/python3.3/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
TypeError: 'str' does not support the buffer interface
======================================================================
FAIL: is_function (jsonpickle.util)
Doctest: jsonpickle.util.is_function
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 2154, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for jsonpickle.util.is_function
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 159, in is_function
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 165, in jsonpickle.util.is_function
Failed example:
is_function(locals)
Expected:
True
Got:
False
======================================================================
FAIL: is_function (jsonpickle.util)
Doctest: jsonpickle.util.is_function
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 2154, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for jsonpickle.util.is_function
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 159, in is_function
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 165, in jsonpickle.util.is_function
Failed example:
is_function(locals)
Expected:
True
Got:
False
======================================================================
FAIL: flatten (jsonpickle.pickler.Pickler)
Doctest: jsonpickle.pickler.Pickler.flatten
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 2154, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for jsonpickle.pickler.Pickler.flatten
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 89, in flatten
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 97, in jsonpickle.pickler.Pickler.flatten
Failed example:
p.flatten(u'hello world')
Expected:
u'hello world'
Got:
'hello world'
======================================================================
FAIL: _getclassdetail (jsonpickle.pickler)
Doctest: jsonpickle.pickler._getclassdetail
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 2154, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for jsonpickle.pickler._getclassdetail
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 311, in _getclassdetail
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 317, in jsonpickle.pickler._getclassdetail
Failed example:
_getclassdetail(25)
Expected:
('__builtin__', 'int')
Got:
('builtins', 'int')
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 319, in jsonpickle.pickler._getclassdetail
Failed example:
_getclassdetail(None)
Expected:
('__builtin__', 'NoneType')
Got:
('builtins', 'NoneType')
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 321, in jsonpickle.pickler._getclassdetail
Failed example:
_getclassdetail(False)
Expected:
('__builtin__', 'bool')
Got:
('builtins', 'bool')
======================================================================
FAIL: _mktyperef (jsonpickle.pickler)
Doctest: jsonpickle.pickler._mktyperef
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 2154, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for jsonpickle.pickler._mktyperef
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 299, in _mktyperef
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 303, in jsonpickle.pickler._mktyperef
Failed example:
_mktyperef(AssertionError)[tags.TYPE].rsplit('.', 1)[0]
Expected:
'exceptions'
Got:
'builtins'
======================================================================
FAIL: jsonpickle ()
Doctest: jsonpickle
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 2154, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for jsonpickle
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 9, in jsonpickle
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 22, in jsonpickle
Failed example:
print obj.name
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[2]>", line 1
print obj.name
^
SyntaxError: invalid syntax
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 28, in jsonpickle
Failed example:
pickled = jsonpickle.encode(obj)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[4]>", line 1, in <module>
pickled = jsonpickle.encode(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 131, in encode
max_depth=max_depth)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 30, in encode
return backend.encode(context.flatten(value, reset=reset))
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 121, in flatten
return self._flatten(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 132, in _flatten
flatten_func = self._get_flattener(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 164, in _get_flattener
if util.is_type(obj):
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 38, in is_type
return type(obj) is type or type(obj) is types.ClassType
AttributeError: 'module' object has no attribute 'ClassType'
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 29, in jsonpickle
Failed example:
print(pickled)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[5]>", line 1, in <module>
print(pickled)
NameError: name 'pickled' is not defined
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 34, in jsonpickle
Failed example:
unpickled = jsonpickle.decode(pickled)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[6]>", line 1, in <module>
unpickled = jsonpickle.decode(pickled)
NameError: name 'pickled' is not defined
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 35, in jsonpickle
Failed example:
str(unpickled.name)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[7]>", line 1, in <module>
str(unpickled.name)
NameError: name 'unpickled' is not defined
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 46, in jsonpickle
Failed example:
obj == unpickled
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[8]>", line 1, in <module>
obj == unpickled
NameError: name 'unpickled' is not defined
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 48, in jsonpickle
Failed example:
obj.name == unpickled.name
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[9]>", line 1, in <module>
obj.name == unpickled.name
NameError: name 'unpickled' is not defined
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 50, in jsonpickle
Failed example:
type(obj) == type(unpickled)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[10]>", line 1, in <module>
type(obj) == type(unpickled)
NameError: name 'unpickled' is not defined
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 57, in jsonpickle
Failed example:
oneway = jsonpickle.encode(obj, unpicklable=False)
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[11]>", line 1, in <module>
oneway = jsonpickle.encode(obj, unpicklable=False)
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 131, in encode
max_depth=max_depth)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 30, in encode
return backend.encode(context.flatten(value, reset=reset))
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 121, in flatten
return self._flatten(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 132, in _flatten
flatten_func = self._get_flattener(obj)
File "/tmp/jsonpickle-0.5.0/jsonpickle/pickler.py", line 164, in _get_flattener
if util.is_type(obj):
File "/tmp/jsonpickle-0.5.0/jsonpickle/util.py", line 38, in is_type
return type(obj) is type or type(obj) is types.ClassType
AttributeError: 'module' object has no attribute 'ClassType'
----------------------------------------------------------------------
File "/tmp/jsonpickle-0.5.0/jsonpickle/__init__.py", line 58, in jsonpickle
Failed example:
print oneway
Exception raised:
Traceback (most recent call last):
File "/usr/lib64/python3.3/doctest.py", line 1287, in __run
compileflags, 1), test.globs)
File "<doctest jsonpickle[12]>", line 1
print oneway
^
SyntaxError: invalid syntax
----------------------------------------------------------------------
Ran 167 tests in 1.022s
FAILED (failures=8, errors=50)