vaidik / commentjson

Add JavaScript or Python style comments in JSON.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

0.9.0: pytest is failing

kloczek opened this issue · comments

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-commentjson-0.9.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-commentjson-0.9.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.15, pytest-7.2.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/commentjson-0.9.0
collected 112 items

commentjson/tests/test_commentjson.py .............                                                                                                                  [ 11%]
commentjson/tests/test_json/test_decode.py FFFFFFFFFFFF............                                                                                                  [ 33%]
commentjson/tests/test_json/test_dump.py FFFFFF......                                                                                                                [ 43%]
commentjson/tests/test_json/test_encode_basestring_ascii.py FFFs..                                                                                                   [ 49%]
commentjson/tests/test_json/test_float.py FFFFs...                                                                                                                   [ 56%]
commentjson/tests/test_json/test_indent.py FF..                                                                                                                      [ 59%]
commentjson/tests/test_json/test_pass1.py F.                                                                                                                         [ 61%]
commentjson/tests/test_json/test_pass2.py F.                                                                                                                         [ 63%]
commentjson/tests/test_json/test_pass3.py F.                                                                                                                         [ 65%]
commentjson/tests/test_json/test_recursion.py FFFFFFs.s...                                                                                                           [ 75%]
commentjson/tests/test_json/test_separators.py FF..                                                                                                                  [ 79%]
commentjson/tests/test_json/test_unicode.py FFFFFFFFFFF............                                                                                                  [100%]

================================================================================= FAILURES =================================================================================
_________________________________________________________________________ TestDecode.test_decimal __________________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1c7c0>

    def test_decimal(self):
>       rval = self.loads('1.1', parse_float=decimal.Decimal)
E       AttributeError: 'TestDecode' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_decode.py:10: AttributeError
__________________________________________________________________________ TestDecode.test_float ___________________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1c9d0>

    def test_float(self):
>       rval = self.loads('1', parse_int=float)
E       AttributeError: 'TestDecode' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_decode.py:15: AttributeError
______________________________________________________________________ TestDecode.test_empty_objects _______________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1c970>

    def test_empty_objects(self):
>       self.assertEqual(self.loads('{}'), {})
E       AttributeError: 'TestDecode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_decode.py:20: AttributeError
____________________________________________________________________ TestDecode.test_object_pairs_hook _____________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1cbe0>

    def test_object_pairs_hook(self):
        s = '{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}'
        p = [("xkd", 1), ("kcw", 2), ("art", 3), ("hxm", 4),
             ("qrt", 5), ("pad", 6), ("hoy", 7)]
>       self.assertEqual(self.loads(s), eval(s))
E       AttributeError: 'TestDecode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_decode.py:28: AttributeError
__________________________________________________________________ TestDecode.test_decoder_optimizations ___________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1cca0>

    def test_decoder_optimizations(self):
        # Several optimizations were made that skip over calls to
        # the whitespace regex, so this test is designed to try and
        # exercise the uncommon cases. The array cases are already covered.
>       rval = self.loads('{   "key"    :    "value"    ,  "k":"v"    }')
E       AttributeError: 'TestDecode' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_decode.py:50: AttributeError
________________________________________________________________________ TestDecode.test_keys_reuse ________________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1cdc0>

    def test_keys_reuse(self):
        s = '[{"a_key": 1, "b_\xe9": 2}, {"a_key": 3, "b_\xe9": 4}]'
>       self.check_keys_reuse(s, self.loads)
E       AttributeError: 'TestDecode' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_decode.py:61: AttributeError
________________________________________________________________________ TestDecode.test_extra_data ________________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1ce80>

    def test_extra_data(self):
        s = '[1, 2, 3]5'
        msg = 'Extra data'
>       self.assertRaisesRegex(self.JSONDecodeError, msg, self.loads, s)
E       AttributeError: 'TestDecode' object has no attribute 'assertRaisesRegex'

/usr/lib64/python3.8/test/test_json/test_decode.py:69: AttributeError
______________________________________________________________________ TestDecode.test_invalid_escape ______________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b1cfa0>

    def test_invalid_escape(self):
        s = '["abc\\y"]'
        msg = 'escape'
>       self.assertRaisesRegex(self.JSONDecodeError, msg, self.loads, s)
E       AttributeError: 'TestDecode' object has no attribute 'assertRaisesRegex'

/usr/lib64/python3.8/test/test_json/test_decode.py:74: AttributeError
____________________________________________________________________ TestDecode.test_invalid_input_type ____________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b46af0>

    def test_invalid_input_type(self):
        msg = 'the JSON object must be str'
        for value in [1, 3.14, [], {}, None]:
>           self.assertRaisesRegex(TypeError, msg, self.loads, value)
E           AttributeError: 'TestDecode' object has no attribute 'assertRaisesRegex'

/usr/lib64/python3.8/test/test_json/test_decode.py:79: AttributeError
___________________________________________________________________ TestDecode.test_string_with_utf8_bom ___________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b46ac0>

    def test_string_with_utf8_bom(self):
        # see #18958
        bom_json = "[1,2,3]".encode('utf-8-sig').decode('utf-8')
>       with self.assertRaises(self.JSONDecodeError) as cm:
E       AttributeError: 'TestDecode' object has no attribute 'assertRaises'

/usr/lib64/python3.8/test/test_json/test_decode.py:84: AttributeError
______________________________________________________________________ TestDecode.test_negative_index ______________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b460a0>

    def test_negative_index(self):
>       d = self.json.JSONDecoder()
E       AttributeError: 'TestDecode' object has no attribute 'json'

/usr/lib64/python3.8/test/test_json/test_decode.py:96: AttributeError
________________________________________________________________________ TestDecode.test_limit_int _________________________________________________________________________

self = <test.test_json.test_decode.TestDecode object at 0x7f6335b46310>

    def test_limit_int(self):
        maxdigits = 5000
        with support.adjust_int_max_str_digits(maxdigits):
>           self.loads('1' * maxdigits)
E           AttributeError: 'TestDecode' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_decode.py:102: AttributeError
____________________________________________________________________________ TestDump.test_dump ____________________________________________________________________________

self = <test.test_json.test_dump.TestDump object at 0x7f6335b52460>

    def test_dump(self):
        sio = StringIO()
>       self.json.dump({}, sio)
E       AttributeError: 'TestDump' object has no attribute 'json'

/usr/lib64/python3.8/test/test_json/test_dump.py:9: AttributeError
___________________________________________________________________________ TestDump.test_dumps ____________________________________________________________________________

self = <test.test_json.test_dump.TestDump object at 0x7f6335b52850>

    def test_dumps(self):
>       self.assertEqual(self.dumps({}), '{}')
E       AttributeError: 'TestDump' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_dump.py:13: AttributeError
_______________________________________________________________________ TestDump.test_dump_skipkeys ________________________________________________________________________

self = <test.test_json.test_dump.TestDump object at 0x7f6335b52280>

    def test_dump_skipkeys(self):
        v = {b'invalid_key': False, 'valid_key': True}
>       with self.assertRaises(TypeError):
E       AttributeError: 'TestDump' object has no attribute 'assertRaises'

/usr/lib64/python3.8/test/test_json/test_dump.py:17: AttributeError
______________________________________________________________________ TestDump.test_encode_truefalse ______________________________________________________________________

self = <test.test_json.test_dump.TestDump object at 0x7f6335b52790>

    def test_encode_truefalse(self):
>       self.assertEqual(self.dumps(
                 {True: False, False: True}, sort_keys=True),
                 '{"false": true, "true": false}')
E       AttributeError: 'TestDump' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_dump.py:26: AttributeError
_______________________________________________________________________ TestDump.test_encode_mutated _______________________________________________________________________

self = <test.test_json.test_dump.TestDump object at 0x7f6335b52910>

    def test_encode_mutated(self):
        a = [object()] * 10
        def crasher(obj):
            del a[-1]
>       self.assertEqual(self.dumps(a, default=crasher),
                 '[null, null, null, null, null]')
E       AttributeError: 'TestDump' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_dump.py:38: AttributeError
______________________________________________________________________ TestDump.test_encode_evil_dict ______________________________________________________________________

self = <test.test_json.test_dump.TestDump object at 0x7f6335b52d00>

    def test_encode_evil_dict(self):
        class D(dict):
            def keys(self):
                return L

        class X:
            def __hash__(self):
                del L[0]
                return 1337

            def __lt__(self, o):
                return 0

        L = [X() for i in range(1122)]
        d = D()
        d[1337] = "true.dat"
>       self.assertEqual(self.dumps(d, sort_keys=True), '{"1337": "true.dat"}')
E       AttributeError: 'TestDump' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_dump.py:58: AttributeError
__________________________________________________________ TestEncodeBasestringAscii.test_encode_basestring_ascii __________________________________________________________

self = <test.test_json.test_encode_basestring_ascii.TestEncodeBasestringAscii object at 0x7f6335b402e0>

    def test_encode_basestring_ascii(self):
>       fname = self.json.encoder.encode_basestring_ascii.__name__
E       AttributeError: 'TestEncodeBasestringAscii' object has no attribute 'json'

/usr/lib64/python3.8/test/test_json/test_encode_basestring_ascii.py:22: AttributeError
_______________________________________________________________ TestEncodeBasestringAscii.test_ordered_dict ________________________________________________________________

self = <test.test_json.test_encode_basestring_ascii.TestEncodeBasestringAscii object at 0x7f6335b40070>

    def test_ordered_dict(self):
        # See issue 6105
        items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
>       s = self.dumps(OrderedDict(items))
E       AttributeError: 'TestEncodeBasestringAscii' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_encode_basestring_ascii.py:32: AttributeError
________________________________________________________________ TestEncodeBasestringAscii.test_sorted_dict ________________________________________________________________

self = <test.test_json.test_encode_basestring_ascii.TestEncodeBasestringAscii object at 0x7f6335b40b50>

    def test_sorted_dict(self):
        items = [('one', 1), ('two', 2), ('three', 3), ('four', 4), ('five', 5)]
>       s = self.dumps(dict(items), sort_keys=True)
E       AttributeError: 'TestEncodeBasestringAscii' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_encode_basestring_ascii.py:37: AttributeError
__________________________________________________________________________ TestFloat.test_floats ___________________________________________________________________________

self = <test.test_json.test_float.TestFloat object at 0x7f6335ae4d60>

    def test_floats(self):
        for num in [1617161771.7650001, math.pi, math.pi**100, math.pi**-100, 3.1]:
>           self.assertEqual(float(self.dumps(num)), num)
E           AttributeError: 'TestFloat' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_float.py:8: AttributeError
___________________________________________________________________________ TestFloat.test_ints ____________________________________________________________________________

self = <test.test_json.test_float.TestFloat object at 0x7f6335ae4af0>

    def test_ints(self):
        for num in [1, 1<<32, 1<<64]:
>           self.assertEqual(self.dumps(num), str(num))
E           AttributeError: 'TestFloat' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_float.py:13: AttributeError
_______________________________________________________________________ TestFloat.test_out_of_range ________________________________________________________________________

self = <test.test_json.test_float.TestFloat object at 0x7f6335ae4940>

    def test_out_of_range(self):
>       self.assertEqual(self.loads('[23456789012E666]'), [float('inf')])
E       AttributeError: 'TestFloat' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_float.py:17: AttributeError
_________________________________________________________________________ TestFloat.test_allow_nan _________________________________________________________________________

self = <test.test_json.test_float.TestFloat object at 0x7f6335ae4580>

    def test_allow_nan(self):
        for val in (float('inf'), float('-inf'), float('nan')):
>           out = self.dumps([val])
E           AttributeError: 'TestFloat' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_float.py:22: AttributeError
__________________________________________________________________________ TestIndent.test_indent __________________________________________________________________________

self = <test.test_json.test_indent.TestIndent object at 0x7f6335b35220>

    def test_indent(self):
        h = [['blorpie'], ['whoops'], [], 'd-shtaeou', 'd-nthiouh', 'i-vhbjkhnth',
             {'nifty': 87}, {'field': 'yes', 'morefield': False} ]

        expect = textwrap.dedent("""\
        [
        \t[
        \t\t"blorpie"
        \t],
        \t[
        \t\t"whoops"
        \t],
        \t[],
        \t"d-shtaeou",
        \t"d-nthiouh",
        \t"i-vhbjkhnth",
        \t{
        \t\t"nifty": 87
        \t},
        \t{
        \t\t"field": "yes",
        \t\t"morefield": false
        \t}
        ]""")

>       d1 = self.dumps(h)
E       AttributeError: 'TestIndent' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_indent.py:32: AttributeError
_________________________________________________________________________ TestIndent.test_indent0 __________________________________________________________________________

self = <test.test_json.test_indent.TestIndent object at 0x7f6335b35cd0>

    def test_indent0(self):
        h = {3: 1}
        def check(indent, expected):
            d1 = self.dumps(h, indent=indent)
            self.assertEqual(d1, expected)

            sio = StringIO()
            self.json.dump(h, sio, indent=indent)
            self.assertEqual(sio.getvalue(), expected)

        # indent=0 should emit newlines
>       check(0, '{\n"3": 1\n}')

/usr/lib64/python3.8/test/test_json/test_indent.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

indent = 0, expected = '{\n"3": 1\n}'

    def check(indent, expected):
>       d1 = self.dumps(h, indent=indent)
E       AttributeError: 'TestIndent' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_indent.py:53: AttributeError
___________________________________________________________________________ TestPass1.test_parse ___________________________________________________________________________

self = <test.test_json.test_pass1.TestPass1 object at 0x7f6335b35e50>

    def test_parse(self):
        # test in/out equivalence and parsing
>       res = self.loads(JSON)
E       AttributeError: 'TestPass1' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_pass1.py:69: AttributeError
___________________________________________________________________________ TestPass2.test_parse ___________________________________________________________________________

self = <test.test_json.test_pass2.TestPass2 object at 0x7f6335b35c10>

    def test_parse(self):
        # test in/out equivalence and parsing
>       res = self.loads(JSON)
E       AttributeError: 'TestPass2' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_pass2.py:12: AttributeError
___________________________________________________________________________ TestPass3.test_parse ___________________________________________________________________________

self = <test.test_json.test_pass3.TestPass3 object at 0x7f6335ae4370>

    def test_parse(self):
        # test in/out equivalence and parsing
>       res = self.loads(JSON)
E       AttributeError: 'TestPass3' object has no attribute 'loads'

/usr/lib64/python3.8/test/test_json/test_pass3.py:18: AttributeError
_____________________________________________________________________ TestRecursion.test_listrecursion _____________________________________________________________________

self = <test.test_json.test_recursion.TestRecursion object at 0x7f6335b580d0>

    def test_listrecursion(self):
        x = []
        x.append(x)
        try:
>           self.dumps(x)
E           AttributeError: 'TestRecursion' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_recursion.py:13: AttributeError
_____________________________________________________________________ TestRecursion.test_dictrecursion _____________________________________________________________________

self = <test.test_json.test_recursion.TestRecursion object at 0x7f6335b58670>

    def test_dictrecursion(self):
        x = {}
        x["test"] = x
        try:
>           self.dumps(x)
E           AttributeError: 'TestRecursion' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_recursion.py:36: AttributeError
___________________________________________________________________ TestRecursion.test_defaultrecursion ____________________________________________________________________

self = <test.test_json.test_recursion.TestRecursion object at 0x7f6335b58d60>

    def test_defaultrecursion(self):
>       class RecursiveJSONEncoder(self.json.JSONEncoder):
E       AttributeError: 'TestRecursion' object has no attribute 'json'

/usr/lib64/python3.8/test/test_json/test_recursion.py:47: AttributeError
____________________________________________________________ TestRecursion.test_highly_nested_objects_decoding _____________________________________________________________

self = <test.test_json.test_recursion.TestRecursion object at 0x7f6335b58790>

    def test_highly_nested_objects_decoding(self):
        # test that loading highly-nested objects doesn't segfault when C
        # accelerations are used. See #12017
>       with self.assertRaises(RecursionError):
E       AttributeError: 'TestRecursion' object has no attribute 'assertRaises'

/usr/lib64/python3.8/test/test_json/test_recursion.py:71: AttributeError
____________________________________________________________ TestRecursion.test_highly_nested_objects_encoding _____________________________________________________________

self = <test.test_json.test_recursion.TestRecursion object at 0x7f6335b58e20>

    def test_highly_nested_objects_encoding(self):
        # See #12051
        l, d = [], {}
        for x in range(100000):
            l, d = [l], {'k':d}
>       with self.assertRaises(RecursionError):
E       AttributeError: 'TestRecursion' object has no attribute 'assertRaises'

/usr/lib64/python3.8/test/test_json/test_recursion.py:83: AttributeError
___________________________________________________________________ TestRecursion.test_endless_recursion ___________________________________________________________________

self = <test.test_json.test_recursion.TestRecursion object at 0x7f6335b58070>

    def test_endless_recursion(self):
        # See #12051
>       class EndlessJSONEncoder(self.json.JSONEncoder):
E       AttributeError: 'TestRecursion' object has no attribute 'json'

/usr/lib64/python3.8/test/test_json/test_recursion.py:90: AttributeError
______________________________________________________________________ TestSeparators.test_separators ______________________________________________________________________

self = <test.test_json.test_separators.TestSeparators object at 0x7f6335afd280>

    def test_separators(self):
        h = [['blorpie'], ['whoops'], [], 'd-shtaeou', 'd-nthiouh', 'i-vhbjkhnth',
             {'nifty': 87}, {'field': 'yes', 'morefield': False} ]

        expect = textwrap.dedent("""\
        [
          [
            "blorpie"
          ] ,
          [
            "whoops"
          ] ,
          [] ,
          "d-shtaeou" ,
          "d-nthiouh" ,
          "i-vhbjkhnth" ,
          {
            "nifty" : 87
          } ,
          {
            "field" : "yes" ,
            "morefield" : false
          }
        ]""")


>       d1 = self.dumps(h)
E       AttributeError: 'TestSeparators' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_separators.py:32: AttributeError
__________________________________________________________________ TestSeparators.test_illegal_separators __________________________________________________________________

self = <test.test_json.test_separators.TestSeparators object at 0x7f6335afd5b0>

    def test_illegal_separators(self):
        h = {1: 2, 3: 4}
>       self.assertRaises(TypeError, self.dumps, h, separators=(b', ', ': '))
E       AttributeError: 'TestSeparators' object has no attribute 'assertRaises'

/usr/lib64/python3.8/test/test_json/test_separators.py:44: AttributeError
________________________________________________________________________ TestUnicode.test_encoding3 ________________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1130>

    def test_encoding3(self):
        u = '\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
>       j = self.dumps(u)
E       AttributeError: 'TestUnicode' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_unicode.py:12: AttributeError
________________________________________________________________________ TestUnicode.test_encoding4 ________________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1a60>

    def test_encoding4(self):
        u = '\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
>       j = self.dumps([u])
E       AttributeError: 'TestUnicode' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_unicode.py:17: AttributeError
________________________________________________________________________ TestUnicode.test_encoding5 ________________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1c70>

    def test_encoding5(self):
        u = '\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
>       j = self.dumps(u, ensure_ascii=False)
E       AttributeError: 'TestUnicode' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_unicode.py:22: AttributeError
________________________________________________________________________ TestUnicode.test_encoding6 ________________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1220>

    def test_encoding6(self):
        u = '\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
>       j = self.dumps([u], ensure_ascii=False)
E       AttributeError: 'TestUnicode' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_unicode.py:27: AttributeError
___________________________________________________________________ TestUnicode.test_big_unicode_encode ____________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1f10>

    def test_big_unicode_encode(self):
        u = '\U0001d120'
>       self.assertEqual(self.dumps(u), '"\\ud834\\udd20"')
E       AttributeError: 'TestUnicode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_unicode.py:32: AttributeError
___________________________________________________________________ TestUnicode.test_big_unicode_decode ____________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1670>

    def test_big_unicode_decode(self):
        u = 'z\U0001d120x'
>       self.assertEqual(self.loads('"' + u + '"'), u)
E       AttributeError: 'TestUnicode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_unicode.py:37: AttributeError
_____________________________________________________________________ TestUnicode.test_unicode_decode ______________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1910>

    def test_unicode_decode(self):
        for i in range(0, 0xd7ff):
            u = chr(i)
            s = '"\\u{0:04x}"'.format(i)
>           self.assertEqual(self.loads(s), u)
E           AttributeError: 'TestUnicode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_unicode.py:44: AttributeError
__________________________________________________________________ TestUnicode.test_unicode_preservation ___________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1280>

    def test_unicode_preservation(self):
>       self.assertEqual(type(self.loads('""')), str)
E       AttributeError: 'TestUnicode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_unicode.py:47: AttributeError
______________________________________________________________________ TestUnicode.test_bytes_encode _______________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1880>

    def test_bytes_encode(self):
>       self.assertRaises(TypeError, self.dumps, b"hi")
E       AttributeError: 'TestUnicode' object has no attribute 'assertRaises'

/usr/lib64/python3.8/test/test_json/test_unicode.py:52: AttributeError
______________________________________________________________________ TestUnicode.test_bytes_decode _______________________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae1c40>

    def test_bytes_decode(self):
        for encoding, bom in [
                ('utf-8', codecs.BOM_UTF8),
                ('utf-16be', codecs.BOM_UTF16_BE),
                ('utf-16le', codecs.BOM_UTF16_LE),
                ('utf-32be', codecs.BOM_UTF32_BE),
                ('utf-32le', codecs.BOM_UTF32_LE),
            ]:
            data = ["a\xb5\u20ac\U0001d120"]
>           encoded = self.dumps(data).encode(encoding)
E           AttributeError: 'TestUnicode' object has no attribute 'dumps'

/usr/lib64/python3.8/test/test_json/test_unicode.py:64: AttributeError
_____________________________________________________________ TestUnicode.test_object_pairs_hook_with_unicode ______________________________________________________________

self = <test.test_json.test_unicode.TestUnicode object at 0x7f6335ae4850>

    def test_object_pairs_hook_with_unicode(self):
        s = '{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}'
        p = [("xkd", 1), ("kcw", 2), ("art", 3), ("hxm", 4),
             ("qrt", 5), ("pad", 6), ("hoy", 7)]
>       self.assertEqual(self.loads(s), eval(s))
E       AttributeError: 'TestUnicode' object has no attribute 'assertEqual'

/usr/lib64/python3.8/test/test_json/test_unicode.py:86: AttributeError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] commentjson/tests/test_json/test_encode_basestring_ascii.py:17: Skip this test since commentjson does not support the API used in the test case.
SKIPPED [1] commentjson/tests/test_json/test_float.py:17: Infinity as a value is not supported yet
SKIPPED [1] commentjson/tests/test_json/test_recursion.py:17: Invalid test case since the API used in the actual test case is not supported by commentjson.
SKIPPED [1] commentjson/tests/test_json/test_recursion.py:23: Invalid test case since the API used in the actual test case is not supported by commentjson.
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_decimal - AttributeError: 'TestDecode' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_float - AttributeError: 'TestDecode' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_empty_objects - AttributeError: 'TestDecode' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_object_pairs_hook - AttributeError: 'TestDecode' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_decoder_optimizations - AttributeError: 'TestDecode' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_keys_reuse - AttributeError: 'TestDecode' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_extra_data - AttributeError: 'TestDecode' object has no attribute 'assertRaisesRegex'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_invalid_escape - AttributeError: 'TestDecode' object has no attribute 'assertRaisesRegex'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_invalid_input_type - AttributeError: 'TestDecode' object has no attribute 'assertRaisesRegex'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_string_with_utf8_bom - AttributeError: 'TestDecode' object has no attribute 'assertRaises'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_negative_index - AttributeError: 'TestDecode' object has no attribute 'json'
FAILED commentjson/tests/test_json/test_decode.py::TestDecode::test_limit_int - AttributeError: 'TestDecode' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_dump.py::TestDump::test_dump - AttributeError: 'TestDump' object has no attribute 'json'
FAILED commentjson/tests/test_json/test_dump.py::TestDump::test_dumps - AttributeError: 'TestDump' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_dump.py::TestDump::test_dump_skipkeys - AttributeError: 'TestDump' object has no attribute 'assertRaises'
FAILED commentjson/tests/test_json/test_dump.py::TestDump::test_encode_truefalse - AttributeError: 'TestDump' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_dump.py::TestDump::test_encode_mutated - AttributeError: 'TestDump' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_dump.py::TestDump::test_encode_evil_dict - AttributeError: 'TestDump' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_encode_basestring_ascii.py::TestEncodeBasestringAscii::test_encode_basestring_ascii - AttributeError: 'TestEncodeBasestringAscii' object has no attribute 'json'
FAILED commentjson/tests/test_json/test_encode_basestring_ascii.py::TestEncodeBasestringAscii::test_ordered_dict - AttributeError: 'TestEncodeBasestringAscii' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_encode_basestring_ascii.py::TestEncodeBasestringAscii::test_sorted_dict - AttributeError: 'TestEncodeBasestringAscii' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_float.py::TestFloat::test_floats - AttributeError: 'TestFloat' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_float.py::TestFloat::test_ints - AttributeError: 'TestFloat' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_float.py::TestFloat::test_out_of_range - AttributeError: 'TestFloat' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_float.py::TestFloat::test_allow_nan - AttributeError: 'TestFloat' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_indent.py::TestIndent::test_indent - AttributeError: 'TestIndent' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_indent.py::TestIndent::test_indent0 - AttributeError: 'TestIndent' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_pass1.py::TestPass1::test_parse - AttributeError: 'TestPass1' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_pass2.py::TestPass2::test_parse - AttributeError: 'TestPass2' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_pass3.py::TestPass3::test_parse - AttributeError: 'TestPass3' object has no attribute 'loads'
FAILED commentjson/tests/test_json/test_recursion.py::TestRecursion::test_listrecursion - AttributeError: 'TestRecursion' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_recursion.py::TestRecursion::test_dictrecursion - AttributeError: 'TestRecursion' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_recursion.py::TestRecursion::test_defaultrecursion - AttributeError: 'TestRecursion' object has no attribute 'json'
FAILED commentjson/tests/test_json/test_recursion.py::TestRecursion::test_highly_nested_objects_decoding - AttributeError: 'TestRecursion' object has no attribute 'assertRaises'
FAILED commentjson/tests/test_json/test_recursion.py::TestRecursion::test_highly_nested_objects_encoding - AttributeError: 'TestRecursion' object has no attribute 'assertRaises'
FAILED commentjson/tests/test_json/test_recursion.py::TestRecursion::test_endless_recursion - AttributeError: 'TestRecursion' object has no attribute 'json'
FAILED commentjson/tests/test_json/test_separators.py::TestSeparators::test_separators - AttributeError: 'TestSeparators' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_separators.py::TestSeparators::test_illegal_separators - AttributeError: 'TestSeparators' object has no attribute 'assertRaises'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_encoding3 - AttributeError: 'TestUnicode' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_encoding4 - AttributeError: 'TestUnicode' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_encoding5 - AttributeError: 'TestUnicode' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_encoding6 - AttributeError: 'TestUnicode' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_big_unicode_encode - AttributeError: 'TestUnicode' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_big_unicode_decode - AttributeError: 'TestUnicode' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_unicode_decode - AttributeError: 'TestUnicode' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_unicode_preservation - AttributeError: 'TestUnicode' object has no attribute 'assertEqual'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_bytes_encode - AttributeError: 'TestUnicode' object has no attribute 'assertRaises'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_bytes_decode - AttributeError: 'TestUnicode' object has no attribute 'dumps'
FAILED commentjson/tests/test_json/test_unicode.py::TestUnicode::test_object_pairs_hook_with_unicode - AttributeError: 'TestUnicode' object has no attribute 'assertEqual'
================================================================ 49 failed, 59 passed, 4 skipped in 19.65s =================================================================

FYI: temporary in my build procedur I've added all those units to --deselect list.

gentle ping .. 😋