Source: python-cattrs
Version: 1.10.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
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;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20221023&[email protected]&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.

Reply via email to