Your message dated Wed, 4 Jan 2023 20:32:30 -0500
with message-id 
<CAB4XWXyeTCDcbGZHwANTOJ50U3T8EWsd2uLPFnW5RK8vC=q...@mail.gmail.com>
and subject line Re: python-cattrs: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p 3.10 returned exit code 13
has caused the Debian Bug report #1022372,
regarding python-cattrs: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p 3.10 returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1022372: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1022372
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: python-cattrs
Version: 1.10.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20221023 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> cd docs && \
> PYTHONPATH=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cattr/build 
> http_proxy='http://127.0.0.1:9/' https_proxy='https://127.0.0.1:9/' \
> sphinx-build -N -E -T -b html . /<<PKGBUILDDIR>>/.pybuild/docs/html/
> Running Sphinx v4.5.0
> making output directory... done
> WARNING: html_static_path entry '_static' does not exist
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 16 source files that are out of date
> updating environment: [new config] 16 added, 0 changed, 0 removed
> reading sources... [  6%] benchmarking
> reading sources... [ 12%] cattr
> reading sources... [ 18%] cattr.preconf
> reading sources... [ 25%] contributing
> reading sources... [ 31%] converters
> reading sources... [ 37%] customizing
> reading sources... [ 43%] history
> reading sources... [ 50%] index
> reading sources... [ 56%] installation
> reading sources... [ 62%] modules
> reading sources... [ 68%] preconf
> reading sources... [ 75%] readme
> reading sources... [ 81%] structuring
> reading sources... [ 87%] unions
> reading sources... [ 93%] unstructuring
> reading sources... [100%] usage
> 
> /<<PKGBUILDDIR>>/docs/cattr.preconf.rst:5: WARNING: duplicate label 
> submodules, other instance in /<<PKGBUILDDIR>>/docs/cattr.rst
> /<<PKGBUILDDIR>>/docs/cattr.preconf.rst:64: WARNING: duplicate label module 
> contents, other instance in /<<PKGBUILDDIR>>/docs/cattr.rst
> /<<PKGBUILDDIR>>/docs/unstructuring.rst:94: WARNING: duplicate label 
> ``typing.annotated``, other instance in /<<PKGBUILDDIR>>/docs/structuring.rst
> /<<PKGBUILDDIR>>/docs/unstructuring.rst:100: WARNING: duplicate label 
> ``attrs`` classes and dataclasses, other instance in 
> /<<PKGBUILDDIR>>/docs/structuring.rst
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... /<<PKGBUILDDIR>>/docs/modules.rst: WARNING: document 
> isn't included in any toctree
> done
> preparing documents... done
> writing output... [  6%] benchmarking
> writing output... [ 12%] cattr
> writing output... [ 18%] cattr.preconf
> writing output... [ 25%] contributing
> writing output... [ 31%] converters
> writing output... [ 37%] customizing
> writing output... [ 43%] history
> writing output... [ 50%] index
> writing output... [ 56%] installation
> writing output... [ 62%] modules
> writing output... [ 68%] preconf
> writing output... [ 75%] readme
> writing output... [ 81%] structuring
> writing output... [ 87%] unions
> writing output... [ 93%] unstructuring
> writing output... [100%] usage
> 
> /<<PKGBUILDDIR>>/src/cattr/gen.py:docstring of 
> cattr.gen.make_dict_structure_fn:: WARNING: more than one target found for 
> cross-reference 'Converter': cattr.converters.Converter, cattr.Converter
> /<<PKGBUILDDIR>>/docs/unstructuring.rst:14: WARNING: more than one target 
> found for cross-reference 'Converter.unstructure': 
> cattr.converters.Converter.unstructure, cattr.Converter.unstructure
> /<<PKGBUILDDIR>>/docs/unstructuring.rst:102: WARNING: more than one target 
> found for cross-reference 'Converter': cattr.converters.Converter, 
> cattr.Converter
> /<<PKGBUILDDIR>>/docs/unstructuring.rst:125: WARNING: more than one target 
> found for cross-reference 'Converter.unstructure_attrs_asdict': 
> cattr.converters.Converter.unstructure_attrs_asdict, 
> cattr.Converter.unstructure_attrs_asdict
> /<<PKGBUILDDIR>>/docs/unstructuring.rst:125: WARNING: more than one target 
> found for cross-reference 'Converter.unstructure_attrs_astuple': 
> cattr.converters.Converter.unstructure_attrs_astuple, 
> cattr.Converter.unstructure_attrs_astuple
> /<<PKGBUILDDIR>>/docs/usage.rst:29: WARNING: more than one target found for 
> cross-reference 'Converter': cattr.converters.Converter, cattr.Converter
> generating indices... genindex py-modindex done
> highlighting module code... [  7%] cattr.converters
> highlighting module code... [ 15%] cattr.disambiguators
> highlighting module code... [ 23%] cattr.dispatch
> highlighting module code... [ 30%] cattr.errors
> highlighting module code... [ 38%] cattr.gen
> highlighting module code... [ 46%] cattr.preconf
> highlighting module code... [ 53%] cattr.preconf.bson
> highlighting module code... [ 61%] cattr.preconf.json
> highlighting module code... [ 69%] cattr.preconf.msgpack
> highlighting module code... [ 76%] cattr.preconf.orjson
> highlighting module code... [ 84%] cattr.preconf.pyyaml
> highlighting module code... [ 92%] cattr.preconf.tomlkit
> highlighting module code... [100%] cattr.preconf.ujson
> 
> writing additional pages... search done
> copying static files... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 12 warnings.
> 
> The HTML pages are in ../.pybuild/docs/html.
> rm -rf /<<PKGBUILDDIR>>/.pybuild/docs/html/.doctrees
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cattr/build; 
> python3.10 -m pytest -v --ignore tests/test_unstructure_collections.py -k 
> 'not test_orjson'
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.10.7, pytest-7.1.2, pluggy-1.0.0+repack -- 
> /usr/bin/python3.10
> cachedir: .pytest_cache
> hypothesis profile 'tests' -> deadline=None, 
> suppress_health_check=[HealthCheck.too_slow], 
> database=DirectoryBasedExampleDatabase('/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cattr/build/.hypothesis/examples')
> benchmark: 3.2.2 (defaults: timer=time.perf_counter disable_gc=False 
> min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 
> warmup=True warmup_iterations=5)
> rootdir: /<<PKGBUILDDIR>>, configfile: pyproject.toml
> plugins: hypothesis-6.36.0, benchmark-3.2.2
> collecting ... collected 141 items / 1 deselected / 140 selected
> 
> tests/test_converter_inheritance.py::test_inheritance[GenConverter] PASSED [  
> 0%]
> tests/test_converter_inheritance.py::test_inheritance[Converter] PASSED  [  
> 1%]
> tests/test_converter_inheritance.py::test_gen_hook_priority[Converter] PASSED 
> [  2%]
> tests/test_converter_inheritance.py::test_gen_hook_priority[GenConverter] 
> PASSED [  2%]
> tests/test_dataclasses.py::test_dataclasses_in_attrs[GenConverter] PASSED [  
> 3%]
> tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter] PASSED   [  
> 4%]
> tests/test_dataclasses.py::test_dataclasses_in_container[GenConverter] PASSED 
> [  5%]
> tests/test_dataclasses.py::test_dataclasses_in_container[Converter] PASSED [  
> 5%]
> tests/test_dataclasses.py::test_dataclasses[GenConverter] PASSED         [  
> 6%]
> tests/test_dataclasses.py::test_dataclasses[Converter] PASSED            [  
> 7%]
> tests/test_disambigutors.py::test_edge_errors PASSED                     [  
> 7%]
> tests/test_disambigutors.py::test_fallback PASSED                        [  
> 8%]
> tests/test_disambigutors.py::test_disambiguation PASSED                  [  
> 9%]
> tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED       [ 
> 10%]
> tests/test_factory_hooks.py::test_snake_to_camel[GenConverter] PASSED    [ 
> 10%]
> tests/test_function_dispatch.py::test_function_dispatch PASSED           [ 
> 11%]
> tests/test_function_dispatch.py::test_function_clears_cache_after_function_added
>  PASSED [ 12%]
> tests/test_gen.py::test_structure_linecache PASSED                       [ 
> 12%]
> tests/test_gen.py::test_unstructure_linecache PASSED                     [ 
> 13%]
> tests/test_gen.py::test_no_linecache PASSED                              [ 
> 14%]
> tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED   [ 
> 15%]
> tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED       [ 
> 15%]
> tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED    [ 
> 16%]
> tests/test_gen_dict.py::test_individual_overrides PASSED                 [ 
> 17%]
> tests/test_gen_dict.py::test_unmodified_generated_structuring PASSED     [ 
> 17%]
> tests/test_gen_dict.py::test_renaming PASSED                             [ 
> 18%]
> tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED           [ 
> 19%]
> tests/test_gen_dict.py::test_omitting PASSED                             [ 
> 20%]
> tests/test_gen_dict.py::test_omitting_structure PASSED                   [ 
> 20%]
> tests/test_gen_dict_563.py::test_roundtrip PASSED                        [ 
> 21%]
> tests/test_gen_dict_563.py::test_roundtrip_dc PASSED                     [ 
> 22%]
> tests/test_generics.py::test_deep_copy PASSED                            [ 
> 22%]
> tests/test_generics.py::test_able_to_structure_generics[int-str-result0] 
> PASSED [ 23%]
> tests/test_generics.py::test_able_to_structure_generics[str-str-result1] 
> PASSED [ 24%]
> tests/test_generics.py::test_able_to_structure_generics[List-str-result2] 
> PASSED [ 25%]
> tests/test_generics.py::test_structure_generics_with_cols[int-result0] PASSED 
> [ 25%]
> tests/test_generics.py::test_structure_generics_with_cols[str-result1] PASSED 
> [ 26%]
> tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] 
> PASSED [ 27%]
> tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] 
> PASSED [ 27%]
> tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] 
> PASSED [ 28%]
> tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] 
> PASSED [ 29%]
> tests/test_generics.py::test_structure_nested_generics[TClass-str-result0] 
> PASSED [ 30%]
> tests/test_generics.py::test_structure_nested_generics[List-str-result1] 
> PASSED [ 30%]
> tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen 
> PASSED [ 31%]
> tests/test_generics.py::test_structure_unions_of_generics PASSED         [ 
> 32%]
> tests/test_generics.py::test_structure_list_of_generic_unions PASSED     [ 
> 32%]
> tests/test_generics.py::test_raises_if_no_generic_params_supplied PASSED [ 
> 33%]
> tests/test_generics.py::test_unstructure_generic_attrs PASSED            [ 
> 34%]
> tests/test_generics.py::test_unstructure_deeply_nested_generics PASSED   [ 
> 35%]
> tests/test_generics.py::test_unstructure_deeply_nested_generics_list PASSED [ 
> 35%]
> tests/test_generics.py::test_unstructure_protocol PASSED                 [ 
> 36%]
> tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls
>  PASSED [ 37%]
> tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func
>  PASSED [ 37%]
> tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins
>  PASSED [ 38%]
> tests/test_preconf.py::test_stdlib_json PASSED                           [ 
> 39%]
> tests/test_preconf.py::test_ujson PASSED                                 [ 
> 40%]
> tests/test_preconf.py::test_msgpack PASSED                               [ 
> 40%]
> tests/test_preconf.py::test_bson PASSED                                  [ 
> 41%]
> tests/test_preconf.py::test_pyyaml PASSED                                [ 
> 42%]
> tests/test_preconf.py::test_tomlkit FAILED                               [ 
> 42%]
> tests/test_recursive.py::test_simple_recursive PASSED                    [ 
> 43%]
> tests/test_structure.py::test_structuring_primitives PASSED              [ 
> 44%]
> tests/test_structure.py::test_structuring_seqs PASSED                    [ 
> 45%]
> tests/test_structure.py::test_structuring_sets PASSED                    [ 
> 45%]
> tests/test_structure.py::test_stringifying_sets PASSED                   [ 
> 46%]
> tests/test_structure.py::test_structuring_hetero_tuples PASSED           [ 
> 47%]
> tests/test_structure.py::test_stringifying_tuples PASSED                 [ 
> 47%]
> tests/test_structure.py::test_structuring_dicts PASSED                   [ 
> 48%]
> tests/test_structure.py::test_structuring_dicts_opts PASSED              [ 
> 49%]
> tests/test_structure.py::test_stringifying_dicts PASSED                  [ 
> 50%]
> tests/test_structure.py::test_structuring_optional_primitives PASSED     [ 
> 50%]
> tests/test_structure.py::test_structuring_lists_of_opt PASSED            [ 
> 51%]
> tests/test_structure.py::test_stringifying_lists_of_opt PASSED           [ 
> 52%]
> tests/test_structure.py::test_structuring_primitive_union_hook PASSED    [ 
> 52%]
> tests/test_structure.py::test_structure_hook_func PASSED                 [ 
> 53%]
> tests/test_structure.py::test_structuring_enums PASSED                   [ 
> 54%]
> tests/test_structure.py::test_structuring_unsupported PASSED             [ 
> 55%]
> tests/test_structure.py::test_subclass_registration_is_honored PASSED    [ 
> 55%]
> tests/test_structure.py::test_structure_union_edge_case PASSED           [ 
> 56%]
> tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED    [ 
> 57%]
> tests/test_structure_attrs.py::test_structure_simple_from_dict_default PASSED 
> [ 57%]
> tests/test_structure_attrs.py::test_roundtrip PASSED                     [ 
> 58%]
> tests/test_structure_attrs.py::test_structure_tuple PASSED               [ 
> 59%]
> tests/test_structure_attrs.py::test_structure_union PASSED               [ 
> 60%]
> tests/test_structure_attrs.py::test_structure_union_none PASSED          [ 
> 60%]
> tests/test_structure_attrs.py::test_structure_union_explicit PASSED      [ 
> 61%]
> tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED  [ 
> 62%]
> tests/test_structure_attrs.py::test_structure_literal[GenConverter] PASSED [ 
> 62%]
> tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] 
> PASSED [ 63%]
> tests/test_structure_attrs.py::test_structure_literal_multiple[GenConverter] 
> PASSED [ 64%]
> tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED 
> [ 65%]
> tests/test_structure_attrs.py::test_structure_literal_error[GenConverter] 
> PASSED [ 65%]
> tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter]
>  PASSED [ 66%]
> tests/test_structure_attrs.py::test_structure_literal_multiple_error[GenConverter]
>  PASSED [ 67%]
> tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter]
>  PASSED [ 67%]
> tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[GenConverter]
>  PASSED [ 68%]
> tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter]
>  PASSED [ 69%]
> tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[GenConverter]
>  PASSED [ 70%]
> tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED 
> [ 70%]
> tests/test_unions.py::test_custom_union_toplevel_roundtrip[GenConverter] 
> PASSED [ 71%]
> tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] 
> PASSED [ 72%]
> tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[GenConverter] 
> PASSED [ 72%]
> tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED 
> [ 73%]
> tests/test_unions.py::test_custom_union_clsfield_roundtrip[GenConverter] 
> PASSED [ 74%]
> tests/test_unstructure.py::test_seq_unstructure PASSED                   [ 
> 75%]
> tests/test_unstructure.py::test_set_unstructure PASSED                   [ 
> 75%]
> tests/test_unstructure.py::test_mapping_unstructure PASSED               [ 
> 76%]
> tests/test_unstructure.py::test_enum_unstructure PASSED                  [ 
> 77%]
> tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED          [ 
> 77%]
> tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED         [ 
> 78%]
> tests/test_unstructure.py::test_unstructure_hooks PASSED                 [ 
> 79%]
> tests/test_unstructure.py::test_unstructure_hook_func PASSED             [ 
> 80%]
> tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 
> 80%]
> tests/metadata/test_genconverter.py::test_simple_roundtrip PASSED        [ 
> 81%]
> tests/metadata/test_genconverter.py::test_simple_roundtrip_defaults PASSED [ 
> 82%]
> tests/metadata/test_genconverter.py::test_simple_roundtrip_with_extra_keys_forbidden
>  PASSED [ 82%]
> tests/metadata/test_genconverter.py::test_forbid_extra_keys PASSED       [ 
> 83%]
> tests/metadata/test_genconverter.py::test_forbid_extra_keys_defaults PASSED [ 
> 84%]
> tests/metadata/test_genconverter.py::test_forbid_extra_keys_nested_override 
> PASSED [ 85%]
> tests/metadata/test_genconverter.py::test_nested_roundtrip PASSED        [ 
> 85%]
> tests/metadata/test_genconverter.py::test_union_field_roundtrip PASSED   [ 
> 86%]
> tests/metadata/test_genconverter.py::test_310_union_field_roundtrip PASSED [ 
> 87%]
> tests/metadata/test_genconverter.py::test_optional_field_roundtrip PASSED [ 
> 87%]
> tests/metadata/test_genconverter.py::test_310_optional_field_roundtrip PASSED 
> [ 88%]
> tests/metadata/test_genconverter.py::test_omit_default_roundtrip PASSED  [ 
> 89%]
> tests/metadata/test_genconverter.py::test_type_overrides PASSED          [ 
> 90%]
> tests/metadata/test_genconverter.py::test_calling_back PASSED            [ 
> 90%]
> tests/metadata/test_genconverter.py::test_overriding_generated_unstructure 
> PASSED [ 91%]
> tests/metadata/test_genconverter.py::test_overriding_generated_unstructure_hook_func
>  PASSED [ 92%]
> tests/metadata/test_genconverter.py::test_overriding_generated_structure 
> PASSED [ 92%]
> tests/metadata/test_genconverter.py::test_overriding_generated_structure_hook_func
>  PASSED [ 93%]
> tests/metadata/test_genconverter.py::test_seq_of_simple_classes_unstructure 
> PASSED [ 94%]
> tests/metadata/test_genconverter.py::test_annotated_attrs PASSED         [ 
> 95%]
> tests/metadata/test_roundtrips.py::test_simple_roundtrip PASSED          [ 
> 95%]
> tests/metadata/test_roundtrips.py::test_simple_roundtrip_defaults PASSED [ 
> 96%]
> tests/metadata/test_roundtrips.py::test_nested_roundtrip PASSED          [ 
> 97%]
> tests/metadata/test_roundtrips.py::test_union_field_roundtrip PASSED     [ 
> 97%]
> tests/metadata/test_roundtrips.py::test_310_union_field_roundtrip PASSED [ 
> 98%]
> tests/metadata/test_roundtrips.py::test_optional_field_roundtrip PASSED  [ 
> 99%]
> tests/metadata/test_roundtrips.py::test_310_optional_field_roundtrip PASSED 
> [100%]
> 
> =================================== FAILURES 
> ===================================
> _________________________________ test_tomlkit 
> _________________________________
> 
>     @given(
> >       everythings(
>             min_key_length=1,
>             allow_null_bytes_in_keys=False,
>             allow_quotes_in_keys=False,
>             allow_control_characters_in_values=False,
>         )
>     )
> E   hypothesis.errors.MultipleFailures: Hypothesis found 3 distinct failures.
> 
> f          = <function given.<locals>.run_test_as_given.<locals>.wrapped_test 
> at 0x7f01ad9f5f30>
> 
> tests/test_preconf.py:270: MultipleFailures
> ---------------------------------- Hypothesis 
> ----------------------------------
> Falsifying example: test_tomlkit(
>     everything=Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('', 0, 0.0), 
> a_counter=Counter({'\\U': 0}), a_mapping={}, a_mutable_mapping={}, 
> a_sequence=[], a_mutable_sequence=[], a_set=set(), a_mutable_set=set(), 
> a_frozenset=frozenset(), an_int_enum=<AnIntEnum.A: 1>, 
> a_str_enum=<AStringEnum.A: 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 
> 0, tzinfo=datetime.timezone.utc), a_string_enum_dict={}),
> )
> everything = Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('...tringEnum.A: 
> 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone.utc), a_string_enum_dict={})
> 
>     @given(
>         everythings(
>             min_key_length=1,
>             allow_null_bytes_in_keys=False,
>             allow_quotes_in_keys=False,
>             allow_control_characters_in_values=False,
>         )
>     )
>     def test_tomlkit(everything: Everything):
>         from tomlkit import dumps as tomlkit_dumps
>         from tomlkit import loads as tomlkit_loads
>     
>         converter = tomlkit_make_converter()
>         unstructured = converter.unstructure(everything)
>         raw = tomlkit_dumps(unstructured)
> >       assert converter.structure(tomlkit_loads(raw), Everything) == 
> > everything
> 
> converter  = <cattr.converters.GenConverter object at 0x7f01a972f640>
> everything = Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('...tringEnum.A: 
> 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone.utc), a_string_enum_dict={})
> raw        = 'string = ""\nbytes = ""\nan_int = 0\na_float = 0.0\na_list = 
> []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\U" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> tomlkit_dumps = <function dumps at 0x7f01abd85f30>
> tomlkit_loads = <function loads at 0x7f01acb552d0>
> unstructured = {'a_counter': {'\\U': 0}, 'a_datetime': 
> datetime.datetime(2000, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), 'a_dict': 
> {}, 'a_float': 0.0, ...}
> 
> tests/test_preconf.py:284: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/tomlkit/api.py:42: in loads
>     return parse(string)
>         string     = 'string = ""\nbytes = ""\nan_int = 0\na_float = 
> 0.0\na_list = []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\U" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> /usr/lib/python3/dist-packages/tomlkit/api.py:82: in parse
>     return Parser(string).parse()
>         string     = 'string = ""\nbytes = ""\nan_int = 0\na_float = 
> 0.0\na_list = []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\U" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> /usr/lib/python3/dist-packages/tomlkit/parser.py:158: in parse
>     key, value = self._parse_table()
>         body       = {'string': '', 'bytes': '', 'an_int': 0, 'a_float': 0.0, 
> 'a_list': [], 'a_homogenous_tuple': [], 'a_hetero_tuple': [''...': 'a', 
> 'a_datetime': DateTime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone(datetime.timedelta(0), 'UTC')), 'a_dict': {}}
>         item       = (None, <Whitespace '\n'>)
>         key        = <Key a_dict>
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
>         value      = {}
> /usr/lib/python3/dist-packages/tomlkit/parser.py:998: in _parse_table
>     item = self._parse_item()
>         comment    = ''
>         cws        = ''
>         full_key   = <Key a_counter>
>         indent     = ''
>         is_aot     = False
>         key        = <Key a_counter>
>         missing_table = False
>         name_parts = (<Key a_counter>,)
>         parent     = None
>         parent_name = None
>         parent_name_parts = ()
>         result     = <tomlkit.items.Null object at 0x7f01a9768640>
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
>         table      = {}
>         trail      = '\n'
>         values     = {}
> /usr/lib/python3/dist-packages/tomlkit/parser.py:242: in _parse_item
>     return self._parse_key_value(True)
>         c          = '"'
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
>         state      = <tomlkit.source._State object at 0x7f01a9769720>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:315: in _parse_key_value
>     key = self._parse_key()
>         indent     = ''
>         parse_comment = True
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:362: in _parse_key
>     return self._parse_quoted_key()
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:378: in _parse_quoted_key
>     key_str = self._parse_string(
>         key_type   = <KeyType.Basic: '"'>
>         original   = ''
>         quote_style = '"'
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:864: in _parse_string
>     value += self._parse_escaped_char(delim.is_multiline())
>         code       = 85
>         delim      = <StringType.SLB: '"'>
>         escaped    = True
>         self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
>         value      = ''
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <tomlkit.parser.Parser object at 0x7f01acefa290>, multiline = False
> 
>     def _parse_escaped_char(self, multiline):
>         if multiline and self._current.is_ws():
>             # When the last non-whitespace character on a line is
>             # a \, it will be trimmed along with all whitespace
>             # (including newlines) up to the next non-whitespace
>             # character or closing delimiter.
>             # """\
>             #     hello \
>             #     world"""
>             tmp = ""
>             while self._current.is_ws():
>                 tmp += self._current
>                 # consume the whitespace, EOF here is an issue
>                 # (middle of string)
>                 self.inc(exception=UnexpectedEofError)
>                 continue
>     
>             # the escape followed by whitespace must have a newline
>             # before any other chars
>             if "\n" not in tmp:
>                 raise self.parse_error(InvalidCharInStringError, 
> self._current)
>     
>             return ""
>     
>         if self._current in _escaped:
>             c = _escaped[self._current]
>     
>             # consume this char, EOF here is an issue (middle of string)
>             self.inc(exception=UnexpectedEofError)
>     
>             return c
>     
>         if self._current in {"u", "U"}:
>             # this needs to be a unicode
>             u, ue = self._peek_unicode(self._current == "U")
>             if u is not None:
>                 # consume the U char and the unicode value
>                 self.inc_n(len(ue) + 1)
>     
>                 return u
>     
> >           raise self.parse_error(InvalidUnicodeValueError)
> E           tomlkit.exceptions.InvalidUnicodeValueError: Invalid unicode 
> value at line 20 col 2
> 
> multiline  = False
> self       = <tomlkit.parser.Parser object at 0x7f01acefa290>
> u          = None
> ue         = '" = 0\n\n['
> 
> /usr/lib/python3/dist-packages/tomlkit/parser.py:773: InvalidUnicodeValueError
> 
> Falsifying example: test_tomlkit(
>     everything=Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('', 0, 0.0), 
> a_counter=Counter({'\\0': 0}), a_mapping={}, a_mutable_mapping={}, 
> a_sequence=[], a_mutable_sequence=[], a_set=set(), a_mutable_set=set(), 
> a_frozenset=frozenset(), an_int_enum=<AnIntEnum.A: 1>, 
> a_str_enum=<AStringEnum.A: 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 
> 0, tzinfo=datetime.timezone.utc), a_string_enum_dict={}),
> )
> everything = Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('...tringEnum.A: 
> 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone.utc), a_string_enum_dict={})
> 
>     @given(
>         everythings(
>             min_key_length=1,
>             allow_null_bytes_in_keys=False,
>             allow_quotes_in_keys=False,
>             allow_control_characters_in_values=False,
>         )
>     )
>     def test_tomlkit(everything: Everything):
>         from tomlkit import dumps as tomlkit_dumps
>         from tomlkit import loads as tomlkit_loads
>     
>         converter = tomlkit_make_converter()
>         unstructured = converter.unstructure(everything)
>         raw = tomlkit_dumps(unstructured)
> >       assert converter.structure(tomlkit_loads(raw), Everything) == 
> > everything
> 
> converter  = <cattr.converters.GenConverter object at 0x7f01a972f4c0>
> everything = Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('...tringEnum.A: 
> 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone.utc), a_string_enum_dict={})
> raw        = 'string = ""\nbytes = ""\nan_int = 0\na_float = 0.0\na_list = 
> []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\0" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> tomlkit_dumps = <function dumps at 0x7f01abd85f30>
> tomlkit_loads = <function loads at 0x7f01acb552d0>
> unstructured = {'a_counter': {'\\0': 0}, 'a_datetime': 
> datetime.datetime(2000, 1, 1, 0, 0, tzinfo=datetime.timezone.utc), 'a_dict': 
> {}, 'a_float': 0.0, ...}
> 
> tests/test_preconf.py:284: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/tomlkit/api.py:42: in loads
>     return parse(string)
>         string     = 'string = ""\nbytes = ""\nan_int = 0\na_float = 
> 0.0\na_list = []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\0" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> /usr/lib/python3/dist-packages/tomlkit/api.py:82: in parse
>     return Parser(string).parse()
>         string     = 'string = ""\nbytes = ""\nan_int = 0\na_float = 
> 0.0\na_list = []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\0" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> /usr/lib/python3/dist-packages/tomlkit/parser.py:158: in parse
>     key, value = self._parse_table()
>         body       = {'string': '', 'bytes': '', 'an_int': 0, 'a_float': 0.0, 
> 'a_list': [], 'a_homogenous_tuple': [], 'a_hetero_tuple': [''...': 'a', 
> 'a_datetime': DateTime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone(datetime.timedelta(0), 'UTC')), 'a_dict': {}}
>         item       = (None, <Whitespace '\n'>)
>         key        = <Key a_dict>
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
>         value      = {}
> /usr/lib/python3/dist-packages/tomlkit/parser.py:998: in _parse_table
>     item = self._parse_item()
>         comment    = ''
>         cws        = ''
>         full_key   = <Key a_counter>
>         indent     = ''
>         is_aot     = False
>         key        = <Key a_counter>
>         missing_table = False
>         name_parts = (<Key a_counter>,)
>         parent     = None
>         parent_name = None
>         parent_name_parts = ()
>         result     = <tomlkit.items.Null object at 0x7f01a9929c90>
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
>         table      = {}
>         trail      = '\n'
>         values     = {}
> /usr/lib/python3/dist-packages/tomlkit/parser.py:242: in _parse_item
>     return self._parse_key_value(True)
>         c          = '"'
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
>         state      = <tomlkit.source._State object at 0x7f01a97e4340>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:315: in _parse_key_value
>     key = self._parse_key()
>         indent     = ''
>         parse_comment = True
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:362: in _parse_key
>     return self._parse_quoted_key()
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:378: in _parse_quoted_key
>     key_str = self._parse_string(
>         key_type   = <KeyType.Basic: '"'>
>         original   = ''
>         quote_style = '"'
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:864: in _parse_string
>     value += self._parse_escaped_char(delim.is_multiline())
>         code       = 48
>         delim      = <StringType.SLB: '"'>
>         escaped    = True
>         self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
>         value      = ''
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <tomlkit.parser.Parser object at 0x7f01a9715db0>, multiline = False
> 
>     def _parse_escaped_char(self, multiline):
>         if multiline and self._current.is_ws():
>             # When the last non-whitespace character on a line is
>             # a \, it will be trimmed along with all whitespace
>             # (including newlines) up to the next non-whitespace
>             # character or closing delimiter.
>             # """\
>             #     hello \
>             #     world"""
>             tmp = ""
>             while self._current.is_ws():
>                 tmp += self._current
>                 # consume the whitespace, EOF here is an issue
>                 # (middle of string)
>                 self.inc(exception=UnexpectedEofError)
>                 continue
>     
>             # the escape followed by whitespace must have a newline
>             # before any other chars
>             if "\n" not in tmp:
>                 raise self.parse_error(InvalidCharInStringError, 
> self._current)
>     
>             return ""
>     
>         if self._current in _escaped:
>             c = _escaped[self._current]
>     
>             # consume this char, EOF here is an issue (middle of string)
>             self.inc(exception=UnexpectedEofError)
>     
>             return c
>     
>         if self._current in {"u", "U"}:
>             # this needs to be a unicode
>             u, ue = self._peek_unicode(self._current == "U")
>             if u is not None:
>                 # consume the U char and the unicode value
>                 self.inc_n(len(ue) + 1)
>     
>                 return u
>     
>             raise self.parse_error(InvalidUnicodeValueError)
>     
> >       raise self.parse_error(InvalidCharInStringError, self._current)
> E       tomlkit.exceptions.InvalidCharInStringError: Invalid character '0' in 
> string at line 20 col 2
> 
> multiline  = False
> self       = <tomlkit.parser.Parser object at 0x7f01a9715db0>
> 
> /usr/lib/python3/dist-packages/tomlkit/parser.py:775: InvalidCharInStringError
> 
> Falsifying example: test_tomlkit(
>     everything=Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('', 0, 0.0), 
> a_counter=Counter({'\\': 0}), a_mapping={}, a_mutable_mapping={}, 
> a_sequence=[], a_mutable_sequence=[], a_set=set(), a_mutable_set=set(), 
> a_frozenset=frozenset(), an_int_enum=<AnIntEnum.A: 1>, 
> a_str_enum=<AStringEnum.A: 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 
> 0, tzinfo=datetime.timezone.utc), a_string_enum_dict={}),
> )
> everything = Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('...tringEnum.A: 
> 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone.utc), a_string_enum_dict={})
> 
>     @given(
>         everythings(
>             min_key_length=1,
>             allow_null_bytes_in_keys=False,
>             allow_quotes_in_keys=False,
>             allow_control_characters_in_values=False,
>         )
>     )
>     def test_tomlkit(everything: Everything):
>         from tomlkit import dumps as tomlkit_dumps
>         from tomlkit import loads as tomlkit_loads
>     
>         converter = tomlkit_make_converter()
>         unstructured = converter.unstructure(everything)
>         raw = tomlkit_dumps(unstructured)
> >       assert converter.structure(tomlkit_loads(raw), Everything) == 
> > everything
> 
> converter  = <cattr.converters.GenConverter object at 0x7f01a972dd40>
> everything = Everything(string='', bytes=b'', an_int=0, a_float=0.0, 
> a_dict={}, a_list=[], a_homogenous_tuple=(), a_hetero_tuple=('...tringEnum.A: 
> 'a'>, a_datetime=datetime.datetime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone.utc), a_string_enum_dict={})
> raw        = 'string = ""\nbytes = ""\nan_int = 0\na_float = 0.0\na_list = 
> []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....0-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> tomlkit_dumps = <function dumps at 0x7f01abd85f30>
> tomlkit_loads = <function loads at 0x7f01acb552d0>
> unstructured = {'a_counter': {'\\': 0}, 'a_datetime': datetime.datetime(2000, 
> 1, 1, 0, 0, tzinfo=datetime.timezone.utc), 'a_dict': {}, 'a_float': 0.0, ...}
> 
> tests/test_preconf.py:284: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/tomlkit/api.py:42: in loads
>     return parse(string)
>         string     = 'string = ""\nbytes = ""\nan_int = 0\na_float = 
> 0.0\na_list = []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....0-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> /usr/lib/python3/dist-packages/tomlkit/api.py:82: in parse
>     return Parser(string).parse()
>         string     = 'string = ""\nbytes = ""\nan_int = 0\na_float = 
> 0.0\na_list = []\na_homogenous_tuple = []\na_hetero_tuple = ["", 0, 
> 0....0-01-01T00:00:00Z\n\n[a_dict]\n\n[a_counter]\n"\\" = 
> 0\n\n[a_mapping]\n\n[a_mutable_mapping]\n\n[a_string_enum_dict]\n'
> /usr/lib/python3/dist-packages/tomlkit/parser.py:158: in parse
>     key, value = self._parse_table()
>         body       = {'string': '', 'bytes': '', 'an_int': 0, 'a_float': 0.0, 
> 'a_list': [], 'a_homogenous_tuple': [], 'a_hetero_tuple': [''...': 'a', 
> 'a_datetime': DateTime(2000, 1, 1, 0, 0, 
> tzinfo=datetime.timezone(datetime.timedelta(0), 'UTC')), 'a_dict': {}}
>         item       = (None, <Whitespace '\n'>)
>         key        = <Key a_dict>
>         self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
>         value      = {}
> /usr/lib/python3/dist-packages/tomlkit/parser.py:998: in _parse_table
>     item = self._parse_item()
>         comment    = ''
>         cws        = ''
>         full_key   = <Key a_counter>
>         indent     = ''
>         is_aot     = False
>         key        = <Key a_counter>
>         missing_table = False
>         name_parts = (<Key a_counter>,)
>         parent     = None
>         parent_name = None
>         parent_name_parts = ()
>         result     = <tomlkit.items.Null object at 0x7f01a9681990>
>         self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
>         table      = {}
>         trail      = '\n'
>         values     = {}
> /usr/lib/python3/dist-packages/tomlkit/parser.py:242: in _parse_item
>     return self._parse_key_value(True)
>         c          = '"'
>         self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
>         state      = <tomlkit.source._State object at 0x7f01a9683340>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:315: in _parse_key_value
>     key = self._parse_key()
>         indent     = ''
>         parse_comment = True
>         self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:362: in _parse_key
>     return self._parse_quoted_key()
>         self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
> /usr/lib/python3/dist-packages/tomlkit/parser.py:378: in _parse_quoted_key
>     key_str = self._parse_string(
>         key_type   = <KeyType.Basic: '"'>
>         original   = ''
>         quote_style = '"'
>         self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <tomlkit.parser.Parser object at 0x7f01a967aa70>
> delim = <StringType.SLB: '"'>
> 
>     def _parse_string(self, delim: StringType) -> String:
>         # only keep parsing for string if the current character matches the 
> delim
>         if self._current != delim.unit:
>             raise self.parse_error(
>                 InternalParserError,
>                 f"Invalid character for string type {delim}",
>             )
>     
>         # consume the opening/first delim, EOF here is an issue
>         # (middle of string or middle of delim)
>         self.inc(exception=UnexpectedEofError)
>     
>         if self._current == delim.unit:
>             # consume the closing/second delim, we do not care if EOF occurs 
> as
>             # that would simply imply an empty single line string
>             if not self.inc() or self._current != delim.unit:
>                 # Empty string
>                 return String(delim, "", "", Trivia())
>     
>             # consume the third delim, EOF here is an issue (middle of string)
>             self.inc(exception=UnexpectedEofError)
>     
>             delim = delim.toggle()  # convert delim to multi delim
>     
>         self.mark()  # to extract the original string with whitespace and all
>         value = ""
>     
>         # A newline immediately following the opening delimiter will be 
> trimmed.
>         if delim.is_multiline() and self._current == "\n":
>             # consume the newline, EOF here is an issue (middle of string)
>             self.inc(exception=UnexpectedEofError)
>     
>         escaped = False  # whether the previous key was ESCAPE
>         while True:
>             code = ord(self._current)
>             if (
>                 delim.is_singleline()
>                 and not escaped
>                 and (code == CHR_DEL or code <= CTRL_CHAR_LIMIT and code != 
> CTRL_I)
>             ) or (
>                 delim.is_multiline()
>                 and not escaped
>                 and (
>                     code == CHR_DEL
>                     or code <= CTRL_CHAR_LIMIT
>                     and code not in [CTRL_I, CTRL_J, CTRL_M]
>                 )
>             ):
> >               raise self.parse_error(InvalidControlChar, code, "strings")
> E               tomlkit.exceptions.InvalidControlChar: Control characters 
> (codes less than 0x1f and 0x7f) are not allowed in strings, use \u000a 
> instead at line 20 col 7
> 
> code       = 10
> delim      = <StringType.SLB: '"'>
> escaped    = False
> self       = <tomlkit.parser.Parser object at 0x7f01a967aa70>
> value      = '" = 0'
> 
> /usr/lib/python3/dist-packages/tomlkit/parser.py:825: InvalidControlChar
> =============================== warnings summary 
> ===============================
> .pybuild/cpython3_3.10_cattr/build/tests/test_preconf.py: 190 warnings
>   /usr/lib/python3/dist-packages/hypothesis/internal/escalation.py:131: 
> PytestDeprecationWarning: A private pytest class or function was used.
>     return str(item.repr_failure(ExceptionInfo((type(err), err, tb)))) + "\n"
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED tests/test_preconf.py::test_tomlkit - 
> hypothesis.errors.MultipleFailur...
> ==== 1 failed, 139 passed, 1 deselected, 190 warnings in 273.12s (0:04:33) 
> =====
> E: pybuild pybuild:379: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cattr/build; python3.10 -m pytest -v 
> --ignore tests/test_unstructure_collections.py -k 'not test_orjson'
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.10 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2022/10/23/python-cattrs_1.10.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20221023;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221023&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
On Sun, 23 Oct 2022 15:15:27 +0200 Lucas Nussbaum <lu...@debian.org> wrote:
> Source: python-cattrs
> Version: 1.10.0-1
> Severity: serious
> Justification: FTBFS
> Tags: bookworm sid ftbfs
> User: lu...@debian.org
> Usertags: ftbfs-20221023 ftbfs-bookworm


I'm unable to replicate it, closing

--- End Message ---

Reply via email to