py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python --version
Python 3.9.19
py$(PYV): commands[1]> python -m pytest --cov=sdjson -r aR tests/
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: tox.ini
timeout: 300.0s
timeout method: signal
timeout func_only: False
collecting ... collected 155 items

tests/stdlib_tests/test_decode.py::test_decimal PASSED
tests/stdlib_tests/test_decode.py::test_decoder_optimizations PASSED
tests/stdlib_tests/test_decode.py::test_empty_objects PASSED
tests/stdlib_tests/test_decode.py::test_extra_data PASSED
tests/stdlib_tests/test_decode.py::test_float PASSED
tests/stdlib_tests/test_decode.py::test_invalid_escape PASSED
tests/stdlib_tests/test_decode.py::test_invalid_input_type PASSED
tests/stdlib_tests/test_decode.py::test_keys_reuse PASSED
tests/stdlib_tests/test_decode.py::test_negative_index PASSED
tests/stdlib_tests/test_decode.py::test_object_pairs_hook PASSED
tests/stdlib_tests/test_decode.py::test_string_with_utf8_bom PASSED
tests/stdlib_tests/test_default.py::test_default PASSED
tests/stdlib_tests/test_dump.py::test_dump PASSED
tests/stdlib_tests/test_dump.py::test_dump_skipkeys PASSED
tests/stdlib_tests/test_dump.py::test_dumps PASSED
tests/stdlib_tests/test_dump.py::test_encode_evil_dict PASSED
tests/stdlib_tests/test_dump.py::test_encode_mutated PASSED
tests/stdlib_tests/test_dump.py::test_encode_truefalse[data0-{"false": true, "true": false}] PASSED
tests/stdlib_tests/test_dump.py::test_encode_truefalse[data1-{"false": 1, "2": 3.0, "4.0": 5, "6": true}] PASSED
tests/stdlib_tests/test_encode_basestring_ascii.py::test_ordered_dict PASSED
tests/stdlib_tests/test_encode_basestring_ascii.py::test_sorted_dict PASSED
tests/stdlib_tests/test_enum.py::test_dict_keys PASSED
tests/stdlib_tests/test_enum.py::test_dict_values PASSED
tests/stdlib_tests/test_enum.py::test_floats PASSED
tests/stdlib_tests/test_enum.py::test_ints PASSED
tests/stdlib_tests/test_enum.py::test_list PASSED
tests/stdlib_tests/test_enum.py::test_weird_floats PASSED
tests/stdlib_tests/test_fail.py::test_extra_data["spam",42-Extra data-6] PASSED
tests/stdlib_tests/test_fail.py::test_extra_data[42,"spam"-Extra data-2] PASSED
tests/stdlib_tests/test_fail.py::test_extra_data[[],[]-Extra data-2] PASSED
tests/stdlib_tests/test_fail.py::test_extra_data[[]]-Extra data-2] PASSED
tests/stdlib_tests/test_fail.py::test_extra_data[{},{}-Extra data-2] PASSED
tests/stdlib_tests/test_fail.py::test_extra_data[{}}-Extra data-2] PASSED
tests/stdlib_tests/test_fail.py::test_failures PASSED
tests/stdlib_tests/test_fail.py::test_linecol[ !-1-2-1] PASSED
tests/stdlib_tests/test_fail.py::test_linecol[!-1-1-0] PASSED
tests/stdlib_tests/test_fail.py::test_linecol[\n  \n\n     !-4-6-10] PASSED
tests/stdlib_tests/test_fail.py::test_linecol[\n!-2-1-1] PASSED
tests/stdlib_tests/test_fail.py::test_non_string_keys_dict PASSED
tests/stdlib_tests/test_fail.py::test_not_serializable PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input["-Unterminated string starting at-0] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input["spam-Unterminated string starting at-0] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[-Expecting value-0] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[["-Unterminated string starting at-1] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[["spam",-Expecting value-8] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[["spam"-Expecting ',' delimiter-7] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[["spam-Unterminated string starting at-1] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[[-Expecting value-1] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[[42,-Expecting value-4] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[[42-Expecting ',' delimiter-3] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{"-Unterminated string starting at-1] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam"-Expecting ':' delimiter-7] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam":-Expecting value-8] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam":42,-Expecting property name enclosed in double quotes-11] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam":42-Expecting ',' delimiter-10] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{"spam-Unterminated string starting at-1] PASSED
tests/stdlib_tests/test_fail.py::test_truncated_input[{-Expecting property name enclosed in double quotes-1] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[["]-Unterminated string starting at-1] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[["spam",]-Expecting value-8] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[["spam":-Expecting ',' delimiter-7] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[,-Expecting value-1] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[42 "spam"-Expecting ',' delimiter-4] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[42,]-Expecting value-4] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[42:-Expecting ',' delimiter-3] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[{"spam":42]-Expecting ',' delimiter-11] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[{"spam":]-Expecting value-9] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[{"spam"]-Expecting ':' delimiter-8] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[[{]-Expecting property name enclosed in double quotes-2] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam",-Expecting ':' delimiter-7] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":42 "ham"-Expecting ',' delimiter-11] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":42,}-Expecting property name enclosed in double quotes-11] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":[42}-Expecting ',' delimiter-11] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":[}-Expecting value-9] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam":}-Expecting value-8] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{"spam"}-Expecting ':' delimiter-7] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{,-Expecting property name enclosed in double quotes-1] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{42-Expecting property name enclosed in double quotes-1] PASSED
tests/stdlib_tests/test_fail.py::test_unexpected_data[{:-Expecting property name enclosed in double quotes-1] PASSED
tests/stdlib_tests/test_float.py::test_allow_nan PASSED
tests/stdlib_tests/test_float.py::test_floats PASSED
tests/stdlib_tests/test_float.py::test_ints PASSED
tests/stdlib_tests/test_float.py::test_out_of_range PASSED
tests/stdlib_tests/test_indent.py::test_indent PASSED
tests/stdlib_tests/test_indent.py::test_indent0 PASSED
tests/stdlib_tests/test_passes.py::test_parse_pass_1 PASSED
tests/stdlib_tests/test_passes.py::test_parse_pass_2 PASSED
tests/stdlib_tests/test_passes.py::test_parse_pass_3 PASSED
tests/stdlib_tests/test_recursion.py::test_defaultrecursion PASSED
tests/stdlib_tests/test_recursion.py::test_dictrecursion PASSED
tests/stdlib_tests/test_recursion.py::test_endless_recursion PASSED
tests/stdlib_tests/test_recursion.py::test_highly_nested_objects_decoding PASSED
tests/stdlib_tests/test_recursion.py::test_highly_nested_objects_encoding PASSED
tests/stdlib_tests/test_recursion.py::test_listrecursion PASSED
tests/stdlib_tests/test_separators.py::test_illegal_separators PASSED
tests/stdlib_tests/test_separators.py::test_separators PASSED
tests/stdlib_tests/test_unicode.py::test_big_unicode_decode PASSED
tests/stdlib_tests/test_unicode.py::test_big_unicode_encode PASSED
tests/stdlib_tests/test_unicode.py::test_bytes_decode PASSED
tests/stdlib_tests/test_unicode.py::test_bytes_encode PASSED
tests/stdlib_tests/test_unicode.py::test_encoding3 PASSED
tests/stdlib_tests/test_unicode.py::test_encoding4 PASSED
tests/stdlib_tests/test_unicode.py::test_encoding5 PASSED
tests/stdlib_tests/test_unicode.py::test_encoding6 PASSED
tests/stdlib_tests/test_unicode.py::test_object_pairs_hook_with_unicode PASSED
tests/stdlib_tests/test_unicode.py::test_unicode_decode PASSED
tests/stdlib_tests/test_unicode.py::test_unicode_preservation PASSED
tests/test_custom_class.py::test_custom_class PASSED
tests/test_custom_encoders.py::test_date_str PASSED
tests/test_custom_encoders.py::test_date_tuple PASSED
tests/test_custom_encoders.py::test_datetime_float PASSED
tests/test_custom_encoders.py::test_datetime_str PASSED
tests/test_custom_encoders.py::test_datetime_tuple PASSED
tests/test_custom_encoders.py::test_decimal_float PASSED
tests/test_custom_encoders.py::test_decimal_str PASSED
tests/test_custom_encoders.py::test_fraction_float PASSED
tests/test_custom_encoders.py::test_fraction_str PASSED
tests/test_custom_encoders.py::test_named_tuple XFAIL (Not implement...)
tests/test_custom_encoders.py::test_time_float PASSED
tests/test_custom_encoders.py::test_time_str PASSED
tests/test_custom_encoders.py::test_time_tuple PASSED
tests/test_custom_encoders.py::test_timedelta_float PASSED
tests/test_load.py::test_bools PASSED
tests/test_load.py::test_dict_failure[dictionary0] XFAIL
tests/test_load.py::test_dict_failure[dictionary1] XFAIL
tests/test_load.py::test_float[-1.005] PASSED
tests/test_load.py::test_float[-1.0] PASSED
tests/test_load.py::test_float[-1234.005] PASSED
tests/test_load.py::test_float[-1234.0] PASSED
tests/test_load.py::test_float[-12340000000.005] PASSED
tests/test_load.py::test_float[-12340000000.0] PASSED
tests/test_load.py::test_float[1.005] PASSED
tests/test_load.py::test_float[1.0] PASSED
tests/test_load.py::test_float[1234.005] PASSED
tests/test_load.py::test_float[1234.0] PASSED
tests/test_load.py::test_float[12340000000.005] PASSED
tests/test_load.py::test_float[12340000000.0] PASSED
tests/test_load.py::test_int[-12340000000] PASSED
tests/test_load.py::test_int[-1234] PASSED
tests/test_load.py::test_int[-1] PASSED
tests/test_load.py::test_int[12340000000] PASSED
tests/test_load.py::test_int[1234] PASSED
tests/test_load.py::test_int[1] PASSED
tests/test_load.py::test_none PASSED
tests/test_load.py::test_tuple_failure XFAIL
tests/test_load.py::test_write_then_read[dict] PASSED
tests/test_load.py::test_write_then_read[egg and bacon-egg and bacon] PASSED
tests/test_load.py::test_write_then_read[egg and spam-egg and spam] PASSED
tests/test_load.py::test_write_then_read[egg bacon and spam-egg bacon and spam] PASSED
tests/test_load.py::test_write_then_read[egg sausage and bacon-egg sausage and bacon] PASSED
tests/test_load.py::test_write_then_read[list] PASSED
tests/test_load.py::test_write_then_read[tuple] PASSED
tests/test_multiple_files.py::test_multiple_files PASSED
tests/test_overloading.py::test_overloading PASSED
tests/test_protocols.py::test_protocols PASSED
tests/test_unregister.py::test_unregister PASSED

================================== XFAILURES ===================================
$(@D)/tests/test_custom_encoders.py:232: assert '["Alice", 12, "Sue"]' == '{"name": "Al...cher": "Sue"}'
$(@D)/tests/test_load.py:101: AssertionError: assert {'2': 3.0, '4...e, 'false': 1} == {False: 1, 2:...0: 5, 6: True}
$(@D)/tests/test_load.py:101: AssertionError: assert {'false': True, 'true': False} == {False: True, True: False}
$(@D)/tests/test_load.py:110: AssertionError: assert [True, False, 1, 2.5, 'spam'] == (True, False, 1, 2.5, 'spam')

Required test coverage of 99.0% reached. Total coverage: 99.21%
============================= slowest 25 durations =============================
=========================== short test summary info ============================
======== 151 passed, 4 xfailed ========
  py$(PYV): OK
  congratulations :)