Source: python-enum-tools Version: 0.12.0-1 Severity: normal User: debian-pyt...@lists.debian.org Usertags: python3.13 https://github.com/domdfcoding/enum_tools/commit/e62bdef38ad1d0a34514fa55e41d623a9e7fa04c
This package failed build from source when test-built against a version of python3-defaults that includes 3.13 as a supported version. To reproduce this issue, build against python3-defaults (python3-all-dev etc.) from Debian experimental. What's new in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html Log snippet: dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_enum-tools/build; python3.13 -m pytest -v --ignore=tests/test_autoenum.py [1m============================= test session starts ==============================[0m platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 cachedir: .pytest_cache Test session started at 01:30:02 rootdir: /<<PKGBUILDDIR>> configfile: tox.ini plugins: typeguard-4.3.0, cov-5.0.0, timeout-2.3.1, regressions-2.5.0+ds, rerunfailures-12.0, datadir-1.4.1+ds timeout: 300.0s timeout method: signal timeout func_only: False [1mcollecting ... [0mcollected 57 items tests/test_documented_enum.py::test_people [31mFAILED[0m[31m [ 1%][0m tests/test_documented_enum.py::test_documented_enum [32mPASSED[0m[31m [ 3%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[string] [32mPASSED[0m[31m [ 5%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[bytes] [32mPASSED[0m[31m [ 7%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[\x00\x01] [32mPASSED[0m[31m [ 8%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[12345] [32mPASSED[0m[31m [ 10%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[123.45] [32mPASSED[0m[31m [ 12%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[obj5] [32mPASSED[0m[31m [ 14%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[obj6] [32mPASSED[0m[31m [ 15%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[print] [32mPASSED[0m[31m [ 17%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[ceil] [32mPASSED[0m[31m [ 19%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[Path] [32mPASSED[0m[31m [ 21%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[Decimal] [32mPASSED[0m[31m [ 22%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[str] [32mPASSED[0m[31m [ 24%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[float] [32mPASSED[0m[31m [ 26%][0m tests/test_documented_enum.py::test_document_member_wrong_types[string] [32mPASSED[0m[31m [ 28%][0m tests/test_documented_enum.py::test_document_member_wrong_types[bytes] [32mPASSED[0m[31m [ 29%][0m tests/test_documented_enum.py::test_document_member_wrong_types[\x00\x01] [32mPASSED[0m[31m [ 31%][0m tests/test_documented_enum.py::test_document_member_wrong_types[12345] [32mPASSED[0m[31m [ 33%][0m tests/test_documented_enum.py::test_document_member_wrong_types[123.45] [32mPASSED[0m[31m [ 35%][0m tests/test_documented_enum.py::test_document_member_wrong_types[obj5] [32mPASSED[0m[31m [ 36%][0m tests/test_documented_enum.py::test_document_member_wrong_types[obj6] [32mPASSED[0m[31m [ 38%][0m tests/test_documented_enum.py::test_document_member_wrong_types[print] [32mPASSED[0m[31m [ 40%][0m tests/test_documented_enum.py::test_document_member_wrong_types[ceil] [32mPASSED[0m[31m [ 42%][0m tests/test_documented_enum.py::test_document_member_wrong_types[Path] [32mPASSED[0m[31m [ 43%][0m tests/test_documented_enum.py::test_document_member_wrong_types[Decimal] [32mPASSED[0m[31m [ 45%][0m tests/test_documented_enum.py::test_document_member_wrong_types[str] [32mPASSED[0m[31m [ 47%][0m tests/test_documented_enum.py::test_document_member_wrong_types[float] [32mPASSED[0m[31m [ 49%][0m tests/test_documented_enum.py::test_document_enum_not_interactive [31mFAILED[0m[31m [ 50%][0m tests/test_documented_enum.py::test_multiple_docstring_warning [31mFAILED[0m[31m [ 52%][0m tests/test_enums.py::test_str_enum [31mFAILED[0m[31m [ 54%][0m tests/test_enums.py::test_int_enum [32mPASSED[0m[31m [ 56%][0m tests/test_enums.py::test_member_iter_int_flag [32mPASSED[0m[31m [ 57%][0m tests/test_enums.py::test_member_iter_flag [32mPASSED[0m[31m [ 59%][0m tests/test_enums.py::test_strenum [32mPASSED[0m[31m [ 61%][0m tests/test_enums.py::test_member_dir_enum [32mPASSED[0m[31m [ 63%][0m tests/test_enums.py::test_auto_number_enum [32mPASSED[0m[31m [ 64%][0m tests/test_enums.py::test_ordered_enum [32mPASSED[0m[31m [ 66%][0m tests/test_utils.py::test_is_enum[Enum-True] [32mPASSED[0m[31m [ 68%][0m tests/test_utils.py::test_is_enum[HTTPStatus-True] [32mPASSED[0m[31m [ 70%][0m tests/test_utils.py::test_is_enum[406-False] [32mPASSED[0m[31m [ 71%][0m tests/test_utils.py::test_is_enum[123-False] [32mPASSED[0m[31m [ 73%][0m tests/test_utils.py::test_is_enum[abc-False] [32mPASSED[0m[31m [ 75%][0m tests/test_utils.py::test_is_enum_member[Enum-False] [32mPASSED[0m[31m [ 77%][0m tests/test_utils.py::test_is_enum_member[HTTPStatus-False] [32mPASSED[0m[31m [ 78%][0m tests/test_utils.py::test_is_enum_member[406-True] [32mPASSED[0m[31m [ 80%][0m tests/test_utils.py::test_is_enum_member[123-False] [32mPASSED[0m[31m [ 82%][0m tests/test_utils.py::test_is_enum_member[abc-False] [32mPASSED[0m[31m [ 84%][0m tests/test_utils.py::test_is_flag[Enum-False] [32mPASSED[0m[31m [ 85%][0m tests/test_utils.py::test_is_flag[HTTPStatus-False] [32mPASSED[0m[31m [ 87%][0m tests/test_utils.py::test_is_flag[406-False] [32mPASSED[0m[31m [ 89%][0m tests/test_utils.py::test_is_flag[123-False] [32mPASSED[0m[31m [ 91%][0m tests/test_utils.py::test_is_flag[abc-False] [32mPASSED[0m[31m [ 92%][0m tests/test_utils.py::test_is_flag[Colours-True] [32mPASSED[0m[31m [ 94%][0m tests/test_utils.py::test_is_flag[Colours.RED-False] [32mPASSED[0m[31m [ 96%][0m tests/test_utils.py::test_is_flag[Colours.RED|BLUE-False] [32mPASSED[0m[31m [ 98%][0m tests/test_utils.py::test_get_base_object [32mPASSED[0m[31m [100%][0m =================================== FAILURES =================================== [31m[1m_________________________________ test_people __________________________________[0m [0m[37m@xfail_313[39;49;00m[90m[39;49;00m [94mdef[39;49;00m [92mtest_people[39;49;00m():[90m[39;49;00m [90m[39;49;00m [94massert[39;49;00m People.Bob == [94m1[39;49;00m[90m[39;49;00m [94massert[39;49;00m [96misinstance[39;49;00m(People.Bob, People)[90m[39;49;00m [94massert[39;49;00m [96misinstance[39;49;00m(People.Bob, [96mint[39;49;00m)[90m[39;49;00m > [94massert[39;49;00m [96mrepr[39;49;00m(People.Bob) == > [33m"[39;49;00m[33mPeople.Bob[39;49;00m[33m"[39;49;00m > [94mif[39;49;00m NEW_ENUM_REPR [94melse[39;49;00m > [33m"[39;49;00m[33m<People.Bob: > 1>[39;49;00m[33m"[39;49;00m[90m[39;49;00m [1m[31mE assert False[0m [1m[31mtests/test_documented_enum.py[0m:66: AssertionError [31m[1m______________________ test_document_enum_not_interactive ______________________[0m [0m[37m@xfail_313[39;49;00m[90m[39;49;00m [94mdef[39;49;00m [92mtest_document_enum_not_interactive[39;49;00m():[90m[39;49;00m interactive_last_value = enum_tools.documentation.INTERACTIVE[90m[39;49;00m [90m[39;49;00m enum_tools.documentation.INTERACTIVE = [94mFalse[39;49;00m[90m[39;49;00m [90m[39;49;00m [37m@document_enum[39;49;00m[90m[39;49;00m [94mclass[39;49;00m [04m[92mPeople[39;49;00m([96mint[39;49;00m, Enum):[90m[39;49;00m [90m [39;49;00m[33m"""[39;49;00m [33m An enumeration of people[39;49;00m [33m """[39;49;00m[90m[39;49;00m [90m[39;49;00m Bob = bob = [94m1[39;49;00m [90m# noqa # doc: A person called Bob # doc: another doc # isort: ignore[39;49;00m[90m[39;49;00m Alice = [94m2[39;49;00m [90m# doc: A person called Alice[39;49;00m[90m[39;49;00m Carol = [94m3[39;49;00m [90m# doc: A person called Carol[39;49;00m[90m[39;49;00m [90m[39;49;00m [37m@classmethod[39;49;00m[90m[39;49;00m [94mdef[39;49;00m [92miter_values[39;49;00m([96mcls[39;49;00m): [90m# noqa: MAN002[39;49;00m[90m[39;49;00m [94mreturn[39;49;00m [96miter[39;49;00m([96mcls[39;49;00m)[90m[39;49;00m [90m[39;49;00m [94massert[39;49;00m People.Bob == [94m1[39;49;00m[90m[39;49;00m [94massert[39;49;00m [96misinstance[39;49;00m(People.Bob, People)[90m[39;49;00m [94massert[39;49;00m [96misinstance[39;49;00m(People.Bob, [96mint[39;49;00m)[90m[39;49;00m > [94massert[39;49;00m [96mrepr[39;49;00m(People.Bob) == > [33m"[39;49;00m[33mPeople.Bob[39;49;00m[33m"[39;49;00m > [94mif[39;49;00m NEW_ENUM_REPR [94melse[39;49;00m > [33m"[39;49;00m[33m<People.Bob: > 1>[39;49;00m[33m"[39;49;00m[90m[39;49;00m [1m[31mE assert False[0m [1m[31mtests/test_documented_enum.py[0m:171: AssertionError [31m[1m_______________________ test_multiple_docstring_warning ________________________[0m [0m[37m@xfail_313[39;49;00m[90m[39;49;00m [90m# yapf: disable[39;49;00m[90m[39;49;00m [94mdef[39;49;00m [92mtest_multiple_docstring_warning[39;49;00m():[90m[39;49;00m > [94mwith[39;49;00m pytest.warns([96mUserWarning[39;49;00m) > [94mas[39;49;00m record:[90m[39;49;00m [1m[31mE Failed: DID NOT WARN. No warnings of type (<class 'UserWarning'>,) were emitted.[0m [1m[31mE Emitted warnings: [].[0m [1m[31mtests/test_documented_enum.py[0m:197: Failed [31m[1m________________________________ test_str_enum _________________________________[0m [0m[37m@xfail_313[39;49;00m[90m[39;49;00m [94mdef[39;49;00m [92mtest_str_enum[39;49;00m():[90m[39;49;00m [94massert[39;49;00m DramatisPersonae.Message == [33m"[39;49;00m[33ma secret message[39;49;00m[33m"[39;49;00m[90m[39;49;00m [94massert[39;49;00m DramatisPersonae.Alice != [33m"[39;49;00m[33mAn eavesdropper[39;49;00m[33m"[39;49;00m[90m[39;49;00m [94massert[39;49;00m [96mstr[39;49;00m(DramatisPersonae.Craig) == [33m"[39;49;00m[33mA password cracker[39;49;00m[33m"[39;49;00m[90m[39;49;00m [94massert[39;49;00m DramatisPersonae([33m"[39;49;00m[33mThe sender[39;49;00m[33m"[39;49;00m) == DramatisPersonae.Bob == [33m"[39;49;00m[33mThe sender[39;49;00m[33m"[39;49;00m[90m[39;49;00m [90m[39;49;00m [94mif[39;49;00m NEW_ENUM_REPR:[90m[39;49;00m > [94massert[39;49;00m > [96mrepr[39;49;00m(DramatisPersonae.Bob) == > [33m"[39;49;00m[33mDramatisPersonae.Bob[39;49;00m[33m"[39;49;00m[90m[39;49;00m [1m[31mE assert "<DramatisPer...'The sender'>" == 'DramatisPersonae.Bob'[0m [1m[31mE [0m [1m[31mE - DramatisPersonae.Bob[0m [1m[31mE + <DramatisPersonae.Bob: 'The sender'>[0m [1m[31mtests/test_enums.py[0m:42: AssertionError ============================= slowest 25 durations ============================= (25 durations < 0.005s hidden. Use -vv to show these durations.) [36m[1m=========================== short test summary info ============================[0m [31mFAILED[0m tests/test_documented_enum.py::[1mtest_people[0m - assert False [31mFAILED[0m tests/test_documented_enum.py::[1mtest_document_enum_not_interactive[0m - assert False [31mFAILED[0m tests/test_documented_enum.py::[1mtest_multiple_docstring_warning[0m - Failed: DID NOT WARN. No warnings of type (<class 'UserWarning'>,) were emi... [31mFAILED[0m tests/test_enums.py::[1mtest_str_enum[0m - assert "<DramatisPer...'The sender'>" == 'DramatisPersonae.Bob' [31m========================= [31m[1m4 failed[0m, [32m53 passed[0m[31m in 0.20s[0m[31m =========================[0m E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_enum-tools/build; python3.13 -m pytest -v --ignore=tests/test_autoenum.py I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_enum-tools/build; python3.12 -m pytest -v --ignore=tests/test_autoenum.py [1m============================= test session starts ==============================[0m platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 cachedir: .pytest_cache Test session started at 01:30:03 rootdir: /<<PKGBUILDDIR>> configfile: tox.ini plugins: typeguard-4.3.0, cov-5.0.0, timeout-2.3.1, regressions-2.5.0+ds, rerunfailures-12.0, datadir-1.4.1+ds timeout: 300.0s timeout method: signal timeout func_only: False [1mcollecting ... [0mcollected 57 items tests/test_documented_enum.py::test_people [32mPASSED[0m[32m [ 1%][0m tests/test_documented_enum.py::test_documented_enum [32mPASSED[0m[32m [ 3%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[string] [32mPASSED[0m[32m [ 5%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[bytes] [32mPASSED[0m[32m [ 7%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[\x00\x01] [32mPASSED[0m[32m [ 8%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[12345] [32mPASSED[0m[32m [ 10%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[123.45] [32mPASSED[0m[32m [ 12%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[obj5] [32mPASSED[0m[32m [ 14%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[obj6] [32mPASSED[0m[32m [ 15%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[print] [32mPASSED[0m[32m [ 17%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[ceil] [32mPASSED[0m[32m [ 19%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[Path] [32mPASSED[0m[32m [ 21%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[Decimal] [32mPASSED[0m[32m [ 22%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[str] [32mPASSED[0m[32m [ 24%][0m tests/test_documented_enum.py::test_document_enum_wrong_types[float] [32mPASSED[0m[32m [ 26%][0m tests/test_documented_enum.py::test_document_member_wrong_types[string] [32mPASSED[0m[32m [ 28%][0m tests/test_documented_enum.py::test_document_member_wrong_types[bytes] [32mPASSED[0m[32m [ 29%][0m tests/test_documented_enum.py::test_document_member_wrong_types[\x00\x01] [32mPASSED[0m[32m [ 31%][0m tests/test_documented_enum.py::test_document_member_wrong_types[12345] [32mPASSED[0m[32m [ 33%][0m tests/test_documented_enum.py::test_document_member_wrong_types[123.45] [32mPASSED[0m[32m [ 35%][0m tests/test_documented_enum.py::test_document_member_wrong_types[obj5] [32mPASSED[0m[32m [ 36%][0m tests/test_documented_enum.py::test_document_member_wrong_types[obj6] [32mPASSED[0m[32m [ 38%][0m tests/test_documented_enum.py::test_document_member_wrong_types[print] [32mPASSED[0m[32m [ 40%][0m tests/test_documented_enum.py::test_document_member_wrong_types[ceil] [32mPASSED[0m[32m [ 42%][0m tests/test_documented_enum.py::test_document_member_wrong_types[Path] [32mPASSED[0m[32m [ 43%][0m tests/test_documented_enum.py::test_document_member_wrong_types[Decimal] [32mPASSED[0m[32m [ 45%][0m tests/test_documented_enum.py::test_document_member_wrong_types[str] [32mPASSED[0m[32m [ 47%][0m tests/test_documented_enum.py::test_document_member_wrong_types[float] [32mPASSED[0m[32m [ 49%][0m tests/test_documented_enum.py::test_document_enum_not_interactive [32mPASSED[0m[32m [ 50%][0m tests/test_documented_enum.py::test_multiple_docstring_warning [32mPASSED[0m[32m [ 52%][0m tests/test_enums.py::test_str_enum [32mPASSED[0m[32m [ 54%][0m tests/test_enums.py::test_int_enum [32mPASSED[0m[32m [ 56%][0m tests/test_enums.py::test_member_iter_int_flag [32mPASSED[0m[32m [ 57%][0m tests/test_enums.py::test_member_iter_flag [32mPASSED[0m[32m [ 59%][0m tests/test_enums.py::test_strenum [32mPASSED[0m[32m [ 61%][0m tests/test_enums.py::test_member_dir_enum [32mPASSED[0m[32m [ 63%][0m tests/test_enums.py::test_auto_number_enum [32mPASSED[0m[32m [ 64%][0m tests/test_enums.py::test_ordered_enum [32mPASSED[0m[32m [ 66%][0m tests/test_utils.py::test_is_enum[Enum-True] [32mPASSED[0m[32m [ 68%][0m tests/test_utils.py::test_is_enum[HTTPStatus-True] [32mPASSED[0m[32m [ 70%][0m tests/test_utils.py::test_is_enum[406-False] [32mPASSED[0m[32m [ 71%][0m tests/test_utils.py::test_is_enum[123-False] [32mPASSED[0m[32m [ 73%][0m tests/test_utils.py::test_is_enum[abc-False] [32mPASSED[0m[32m [ 75%][0m tests/test_utils.py::test_is_enum_member[Enum-False] [32mPASSED[0m[32m [ 77%][0m tests/test_utils.py::test_is_enum_member[HTTPStatus-False] [32mPASSED[0m[32m [ 78%][0m tests/test_utils.py::test_is_enum_member[406-True] [32mPASSED[0m[32m [ 80%][0m tests/test_utils.py::test_is_enum_member[123-False] [32mPASSED[0m[32m [ 82%][0m tests/test_utils.py::test_is_enum_member[abc-False] [32mPASSED[0m[32m [ 84%][0m tests/test_utils.py::test_is_flag[Enum-False] [32mPASSED[0m[32m [ 85%][0m tests/test_utils.py::test_is_flag[HTTPStatus-False] [32mPASSED[0m[32m [ 87%][0m tests/test_utils.py::test_is_flag[406-False] [32mPASSED[0m[32m [ 89%][0m tests/test_utils.py::test_is_flag[123-False] [32mPASSED[0m[32m [ 91%][0m tests/test_utils.py::test_is_flag[abc-False] [32mPASSED[0m[32m [ 92%][0m tests/test_utils.py::test_is_flag[Colours-True] [32mPASSED[0m[32m [ 94%][0m tests/test_utils.py::test_is_flag[Colours.RED-False] [32mPASSED[0m[32m [ 96%][0m tests/test_utils.py::test_is_flag[Colours.RED|BLUE-False] [32mPASSED[0m[32m [ 98%][0m tests/test_utils.py::test_get_base_object [32mPASSED[0m[32m [100%][0m ============================= slowest 25 durations ============================= (25 durations < 0.005s hidden. Use -vv to show these durations.) [32m============================== [32m[1m57 passed[0m[32m in 0.18s[0m[32m ==============================[0m dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 make: *** [debian/rules:9: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-19T01:30:03Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/783279/ This bug has been filed at "normal" severity, as we haven't started the transition to add 3.13 as a supported version, yet. This will be raised to RC as soon as that happens, hopefully well before trixie. Thanks, Stefano