0s autopkgtest [09:34:07]: starting date and time: 2024-11-13 09:34:07+0000 1s autopkgtest [09:34:08]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 1s autopkgtest [09:34:08]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.x4p3u8ud/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade loguru --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.7-1 python3-stdlib-extensions/3.12.7-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-38.secgroup --name adt-plucky-arm64-loguru-20241113-093406-juju-7f2275-prod-proposed-migration-environment-20-083b8246-f4a1-431f-aa1c-3b1a36d19943 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 148s autopkgtest [09:36:35]: testbed dpkg architecture: arm64 148s autopkgtest [09:36:35]: testbed apt version: 2.9.8 148s autopkgtest [09:36:35]: @@@@@@@@@@@@@@@@@@@@ test bed setup 150s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 151s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 151s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 151s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 151s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 151s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 151s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 151s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 151s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 151s Fetched 1793 kB in 1s (1964 kB/s) 151s Reading package lists... 156s Reading package lists... 157s Building dependency tree... 157s Reading state information... 158s Calculating upgrade... 158s The following NEW packages will be installed: 158s python3.13-gdbm 158s The following packages will be upgraded: 158s libpython3-stdlib python3 python3-gdbm python3-minimal 158s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 158s Need to get 101 kB of archives. 158s After this operation, 141 kB of additional disk space will be used. 158s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 159s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 159s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 159s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 159s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 159s Fetched 101 kB in 0s (260 kB/s) 160s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79924 files and directories currently installed.) 160s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 160s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 160s Setting up python3-minimal (3.12.7-1) ... 160s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79924 files and directories currently installed.) 160s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 160s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 160s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 160s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 160s Selecting previously unselected package python3.13-gdbm. 160s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 160s Unpacking python3.13-gdbm (3.13.0-2) ... 160s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 160s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 160s Setting up python3.13-gdbm (3.13.0-2) ... 160s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 160s Setting up python3 (3.12.7-1) ... 161s Setting up python3-gdbm:arm64 (3.12.7-1) ... 161s Processing triggers for man-db (2.12.1-3) ... 162s Reading package lists... 162s Building dependency tree... 162s Reading state information... 163s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 163s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 164s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 164s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 164s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 165s Reading package lists... 165s Reading package lists... 166s Building dependency tree... 166s Reading state information... 166s Calculating upgrade... 167s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 167s Reading package lists... 167s Building dependency tree... 167s Reading state information... 168s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 171s autopkgtest [09:36:58]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 171s autopkgtest [09:36:58]: @@@@@@@@@@@@@@@@@@@@ apt-source loguru 173s Get:1 http://ftpmaster.internal/ubuntu plucky/universe loguru 0.7.2-3 (dsc) [2372 B] 173s Get:2 http://ftpmaster.internal/ubuntu plucky/universe loguru 0.7.2-3 (tar) [444 kB] 173s Get:3 http://ftpmaster.internal/ubuntu plucky/universe loguru 0.7.2-3 (diff) [4080 B] 173s gpgv: Signature made Fri Jan 5 17:19:54 2024 UTC 173s gpgv: using RSA key F1F007320A035541F0A663CA578A0494D1C646D1 173s gpgv: issuer "tille@debian.org" 173s gpgv: Can't check signature: No public key 173s dpkg-source: warning: cannot verify inline signature for ./loguru_0.7.2-3.dsc: no acceptable signature found 174s autopkgtest [09:37:01]: testing package loguru version 0.7.2-3 174s autopkgtest [09:37:01]: build not needed 175s autopkgtest [09:37:02]: test run-unit-test: preparing testbed 176s Reading package lists... 176s Building dependency tree... 176s Reading state information... 177s Starting pkgProblemResolver with broken count: 0 177s Starting 2 pkgProblemResolver with broken count: 0 177s Done 178s The following additional packages will be installed: 178s libpython3.13-minimal libpython3.13-stdlib python3-all python3-colorama 178s python3-dateutil python3-freezegun python3-iniconfig python3-loguru 178s python3-mypy python3-mypy-extensions python3-packaging python3-pluggy 178s python3-psutil python3-pytest python3-six python3.13 python3.13-minimal 178s Suggested packages: 178s python3.13-venv python3.13-doc binfmt-support 178s Recommended packages: 178s python3-lxml python3-orjson 178s The following NEW packages will be installed: 178s autopkgtest-satdep libpython3.13-minimal libpython3.13-stdlib python3-all 178s python3-colorama python3-dateutil python3-freezegun python3-iniconfig 178s python3-loguru python3-mypy python3-mypy-extensions python3-packaging 178s python3-pluggy python3-psutil python3-pytest python3-six python3.13 178s python3.13-minimal 178s 0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded. 178s Need to get 14.7 MB/14.7 MB of archives. 178s After this operation, 80.8 MB of additional disk space will be used. 178s Get:1 /tmp/autopkgtest.X6GDhi/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [736 B] 178s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.0-2 [877 kB] 178s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.0-2 [2100 kB] 178s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.0-2 [2073 kB] 178s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.0-2 [719 kB] 178s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-all arm64 3.12.7-1 [890 B] 178s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 178s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-six all 1.16.0-7 [13.1 kB] 178s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-dateutil all 2.9.0-2 [80.3 kB] 178s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-freezegun all 1.5.1-1.1 [15.9 kB] 179s Get:11 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 179s Get:12 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-loguru all 0.7.2-3 [53.2 kB] 179s Get:13 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mypy-extensions all 1.0.0-1 [6148 B] 179s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-psutil arm64 5.9.8-2build2 [196 kB] 179s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-mypy arm64 1.13.0-1 [8230 kB] 179s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.1-1 [41.4 kB] 179s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 179s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.3-1 [251 kB] 180s Fetched 14.7 MB in 2s (9506 kB/s) 180s Selecting previously unselected package libpython3.13-minimal:arm64. 180s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79931 files and directories currently installed.) 180s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_arm64.deb ... 180s Unpacking libpython3.13-minimal:arm64 (3.13.0-2) ... 180s Selecting previously unselected package python3.13-minimal. 180s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_arm64.deb ... 180s Unpacking python3.13-minimal (3.13.0-2) ... 180s Selecting previously unselected package libpython3.13-stdlib:arm64. 180s Preparing to unpack .../02-libpython3.13-stdlib_3.13.0-2_arm64.deb ... 180s Unpacking libpython3.13-stdlib:arm64 (3.13.0-2) ... 180s Selecting previously unselected package python3.13. 180s Preparing to unpack .../03-python3.13_3.13.0-2_arm64.deb ... 180s Unpacking python3.13 (3.13.0-2) ... 180s Selecting previously unselected package python3-all. 180s Preparing to unpack .../04-python3-all_3.12.7-1_arm64.deb ... 180s Unpacking python3-all (3.12.7-1) ... 180s Selecting previously unselected package python3-colorama. 180s Preparing to unpack .../05-python3-colorama_0.4.6-4_all.deb ... 180s Unpacking python3-colorama (0.4.6-4) ... 180s Selecting previously unselected package python3-six. 180s Preparing to unpack .../06-python3-six_1.16.0-7_all.deb ... 180s Unpacking python3-six (1.16.0-7) ... 180s Selecting previously unselected package python3-dateutil. 180s Preparing to unpack .../07-python3-dateutil_2.9.0-2_all.deb ... 180s Unpacking python3-dateutil (2.9.0-2) ... 180s Selecting previously unselected package python3-freezegun. 180s Preparing to unpack .../08-python3-freezegun_1.5.1-1.1_all.deb ... 180s Unpacking python3-freezegun (1.5.1-1.1) ... 180s Selecting previously unselected package python3-iniconfig. 180s Preparing to unpack .../09-python3-iniconfig_1.1.1-2_all.deb ... 180s Unpacking python3-iniconfig (1.1.1-2) ... 180s Selecting previously unselected package python3-loguru. 180s Preparing to unpack .../10-python3-loguru_0.7.2-3_all.deb ... 180s Unpacking python3-loguru (0.7.2-3) ... 180s Selecting previously unselected package python3-mypy-extensions. 180s Preparing to unpack .../11-python3-mypy-extensions_1.0.0-1_all.deb ... 180s Unpacking python3-mypy-extensions (1.0.0-1) ... 180s Selecting previously unselected package python3-psutil. 180s Preparing to unpack .../12-python3-psutil_5.9.8-2build2_arm64.deb ... 180s Unpacking python3-psutil (5.9.8-2build2) ... 180s Selecting previously unselected package python3-mypy. 180s Preparing to unpack .../13-python3-mypy_1.13.0-1_arm64.deb ... 180s Unpacking python3-mypy (1.13.0-1) ... 181s Selecting previously unselected package python3-packaging. 181s Preparing to unpack .../14-python3-packaging_24.1-1_all.deb ... 181s Unpacking python3-packaging (24.1-1) ... 181s Selecting previously unselected package python3-pluggy. 181s Preparing to unpack .../15-python3-pluggy_1.5.0-1_all.deb ... 181s Unpacking python3-pluggy (1.5.0-1) ... 181s Selecting previously unselected package python3-pytest. 181s Preparing to unpack .../16-python3-pytest_8.3.3-1_all.deb ... 181s Unpacking python3-pytest (8.3.3-1) ... 181s Selecting previously unselected package autopkgtest-satdep. 181s Preparing to unpack .../17-1-autopkgtest-satdep.deb ... 181s Unpacking autopkgtest-satdep (0) ... 181s Setting up python3-iniconfig (1.1.1-2) ... 181s Setting up python3-colorama (0.4.6-4) ... 182s Setting up python3-mypy-extensions (1.0.0-1) ... 182s Setting up python3-loguru (0.7.2-3) ... 182s Setting up python3-psutil (5.9.8-2build2) ... 183s Setting up python3-six (1.16.0-7) ... 183s Setting up libpython3.13-minimal:arm64 (3.13.0-2) ... 183s Setting up python3-packaging (24.1-1) ... 183s Setting up python3-mypy (1.13.0-1) ... 186s Setting up python3-pluggy (1.5.0-1) ... 187s Setting up python3.13-minimal (3.13.0-2) ... 188s Setting up python3-dateutil (2.9.0-2) ... 188s Setting up libpython3.13-stdlib:arm64 (3.13.0-2) ... 188s Setting up python3-freezegun (1.5.1-1.1) ... 188s Setting up python3.13 (3.13.0-2) ... 189s Setting up python3-pytest (8.3.3-1) ... 190s Setting up python3-all (3.12.7-1) ... 190s Setting up autopkgtest-satdep (0) ... 190s Processing triggers for man-db (2.12.1-3) ... 190s Processing triggers for systemd (256.5-2ubuntu4) ... 194s (Reading database ... 82358 files and directories currently installed.) 194s Removing autopkgtest-satdep (0) ... 194s autopkgtest [09:37:21]: test run-unit-test: [----------------------- 195s Testing with python3.13 in /tmp/autopkgtest.X6GDhi/autopkgtest_tmp: 195s ============================= test session starts ============================== 195s platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 195s cachedir: .pytest_cache 195s rootdir: /tmp/autopkgtest.X6GDhi/autopkgtest_tmp 195s plugins: typeguard-4.4.1 196s collecting ... collected 1497 items 196s 196s tests/test_activation.py::test_disable[-False] PASSED [ 0%] 196s tests/test_activation.py::test_disable[tests-False] PASSED [ 0%] 196s tests/test_activation.py::test_disable[test-True] PASSED [ 0%] 196s tests/test_activation.py::test_disable[testss-True] PASSED [ 0%] 196s tests/test_activation.py::test_disable[tests.-True] PASSED [ 0%] 196s tests/test_activation.py::test_disable[tests.test_activation-False] PASSED [ 0%] 196s tests/test_activation.py::test_disable[tests.test_activation.-True] PASSED [ 0%] 196s tests/test_activation.py::test_disable[test_activation-True] PASSED [ 0%] 196s tests/test_activation.py::test_disable[.-True] PASSED [ 0%] 196s tests/test_activation.py::test_enable[-True] PASSED [ 0%] 196s tests/test_activation.py::test_enable[tests-True] PASSED [ 0%] 196s tests/test_activation.py::test_enable[test-False] PASSED [ 0%] 196s tests/test_activation.py::test_enable[testss-False] PASSED [ 0%] 196s tests/test_activation.py::test_enable[tests.-False] PASSED [ 0%] 196s tests/test_activation.py::test_enable[tests.test_activation-True] PASSED [ 1%] 196s tests/test_activation.py::test_enable[tests.test_activation.-False] PASSED [ 1%] 196s tests/test_activation.py::test_enable[test_activation-False] PASSED [ 1%] 196s tests/test_activation.py::test_enable[.-False] PASSED [ 1%] 196s tests/test_activation.py::test_log_before_enable PASSED [ 1%] 196s tests/test_activation.py::test_log_before_disable PASSED [ 1%] 196s tests/test_activation.py::test_multiple_activations PASSED [ 1%] 196s tests/test_activation.py::test_log_before_enable_f_globals_name_absent PASSED [ 1%] 196s tests/test_activation.py::test_log_before_disable_f_globals_name_absent PASSED [ 1%] 196s tests/test_activation.py::test_f_globals_name_absent_with_others PASSED [ 1%] 196s tests/test_activation.py::test_invalid_enable_name[42] PASSED [ 1%] 196s tests/test_activation.py::test_invalid_enable_name[name1] PASSED [ 1%] 196s tests/test_activation.py::test_invalid_enable_name[name2] PASSED [ 1%] 196s tests/test_activation.py::test_invalid_disable_name[42] PASSED [ 1%] 196s tests/test_activation.py::test_invalid_disable_name[name1] PASSED [ 1%] 196s tests/test_activation.py::test_invalid_disable_name[name2] PASSED [ 2%] 196s tests/test_add_option_backtrace.py::test_backtrace PASSED [ 2%] 196s tests/test_add_option_catch.py::test_catch_is_true PASSED [ 2%] 196s tests/test_add_option_catch.py::test_catch_is_false PASSED [ 2%] 196s tests/test_add_option_catch.py::test_no_sys_stderr PASSED [ 2%] 196s tests/test_add_option_catch.py::test_broken_sys_stderr PASSED [ 2%] 196s tests/test_add_option_catch.py::test_encoding_error PASSED [ 2%] 196s tests/test_add_option_catch.py::test_unprintable_record PASSED [ 2%] 196s tests/test_add_option_catch.py::test_broken_sink_message[False] PASSED [ 2%] 197s tests/test_add_option_catch.py::test_broken_sink_message[True] PASSED [ 2%] 197s tests/test_add_option_catch.py::test_broken_sink_caught_keep_working[False] PASSED [ 2%] 197s tests/test_add_option_catch.py::test_broken_sink_caught_keep_working[True] PASSED [ 2%] 197s tests/test_add_option_catch.py::test_broken_sink_not_caught_enqueue PASSED [ 2%] 197s tests/test_add_option_colorize.py::test_colorized_format[{message}-Foo-\x1b[31mFoo\x1b[0m\n] PASSED [ 2%] 197s tests/test_add_option_colorize.py::test_colorized_format[-Bar-\x1b[31mBar\x1b[0m] PASSED [ 2%] 197s tests/test_add_option_colorize.py::test_colorized_format[{message}-Baz-Baz\n] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_colorized_format[{{{message:}}}-A-{\x1b[31mA\x1b[0m}\n] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorized_format[{message}-Foo-Foo\n] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorized_format[-Bar-Bar] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorized_format[{message}-Baz-Baz\n] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorized_format[{{{message:}}}-A-{A}\n] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_colorize_stream[stream0] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_colorize_stream[stream1] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_colorize_stream[stream2] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorize_stream[stream0] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorize_stream[stream1] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_decolorize_stream[stream2] PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_automatic_detection_when_stream_is_a_tty PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_automatic_detection_when_stream_is_not_a_tty PASSED [ 3%] 197s tests/test_add_option_colorize.py::test_automatic_detection_when_stream_has_no_isatty PASSED [ 3%] 197s tests/test_add_option_context.py::test_using_multiprocessing_directly_if_context_is_none PASSED [ 4%] 197s tests/test_add_option_context.py::test_fork_context_as_string[fork] PASSED [ 4%] 197s tests/test_add_option_context.py::test_fork_context_as_string[forkserver] PASSED [ 4%] 197s tests/test_add_option_context.py::test_spawn_context_as_string PASSED [ 4%] 197s tests/test_add_option_context.py::test_fork_context_as_object[fork] PASSED [ 4%] 197s tests/test_add_option_context.py::test_fork_context_as_object[forkserver] PASSED [ 4%] 197s tests/test_add_option_context.py::test_spawn_context_as_object PASSED [ 4%] 197s tests/test_add_option_context.py::test_global_start_method_is_none_if_enqueue_is_false PASSED [ 4%] 197s tests/test_add_option_context.py::test_invalid_context_name PASSED [ 4%] 197s tests/test_add_option_context.py::test_invalid_context_object[42] PASSED [ 4%] 197s tests/test_add_option_context.py::test_invalid_context_object[context1] PASSED [ 4%] 197s tests/test_add_option_diagnose.py::test_diagnose PASSED [ 4%] 197s tests/test_add_option_enqueue.py::test_enqueue PASSED [ 4%] 197s tests/test_add_option_enqueue.py::test_enqueue_with_exception PASSED [ 4%] 197s tests/test_add_option_enqueue.py::test_caught_exception_queue_put PASSED [ 4%] 197s tests/test_add_option_enqueue.py::test_caught_exception_queue_get PASSED [ 5%] 197s tests/test_add_option_enqueue.py::test_caught_exception_sink_write PASSED [ 5%] 197s tests/test_add_option_enqueue.py::test_not_caught_exception_queue_put PASSED [ 5%] 197s tests/test_add_option_enqueue.py::test_not_caught_exception_queue_get PASSED [ 5%] 197s tests/test_add_option_enqueue.py::test_not_caught_exception_sink_write PASSED [ 5%] 197s tests/test_add_option_enqueue.py::test_not_caught_exception_sink_write_then_complete PASSED [ 5%] 197s tests/test_add_option_enqueue.py::test_not_caught_exception_queue_get_then_complete PASSED [ 5%] 198s tests/test_add_option_enqueue.py::test_wait_for_all_messages_enqueued PASSED [ 5%] 198s tests/test_add_option_enqueue.py::test_logging_not_picklable_exception[exception_value0] PASSED [ 5%] 198s tests/test_add_option_enqueue.py::test_logging_not_picklable_exception[exception_value1] PASSED [ 5%] 198s tests/test_add_option_enqueue.py::test_logging_not_unpicklable_exception[exception_value0] PASSED [ 5%] 198s tests/test_add_option_enqueue.py::test_logging_not_unpicklable_exception[exception_value1] PASSED [ 5%] 198s tests/test_add_option_filter.py::test_filterd_in[None] PASSED [ 5%] 198s tests/test_add_option_filter.py::test_filterd_in[] PASSED [ 5%] 198s tests/test_add_option_filter.py::test_filterd_in[tests] PASSED [ 5%] 198s tests/test_add_option_filter.py::test_filterd_in[tests.test_add_option_filter] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[0] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[1] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter6] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter7] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter8] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter9] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter10] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter11] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter12] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter13] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filterd_in[filter14] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filtered_out[test] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filtered_out[testss] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filtered_out[tests.] PASSED [ 6%] 198s tests/test_add_option_filter.py::test_filtered_out[tests.test_add_option_filter.] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[.] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[0] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[1] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[filter7] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[filter8] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[filter9] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[filter10] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[filter11] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_out[filter12] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[None] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter2] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter3] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter4] PASSED [ 7%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter5] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter6] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter7] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[tests] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[filter3] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[filter4] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[filter5] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter[-1] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter[3.4] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter[filter2] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter0] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter1] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter2] PASSED [ 8%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter3] PASSED [ 9%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter4] PASSED [ 9%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_values[filter0] PASSED [ 9%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_values[filter1] PASSED [ 9%] 198s tests/test_add_option_filter.py::test_invalid_filter_dict_values[filter2] PASSED [ 9%] 198s tests/test_add_option_filter.py::test_filter_dict_with_custom_level PASSED [ 9%] 198s tests/test_add_option_filter.py::test_invalid_filter_builtin PASSED [ 9%] 198s tests/test_add_option_format.py::test_format[a-Message: {message}-Message: a\n] PASSED [ 9%] 198s tests/test_add_option_format.py::test_format[b-Nope-Nope\n] PASSED [ 9%] 198s tests/test_add_option_format.py::test_format[c-{level} {message} {level}-DEBUG c DEBUG\n] PASSED [ 9%] 198s tests/test_add_option_format.py::test_format[d-{message} {level} {level.no} {level.name}-d DEBUG 10 DEBUG\n] PASSED [ 9%] 198s tests/test_add_option_format.py::test_format[e--e] PASSED [ 9%] 198s tests/test_add_option_format.py::test_format[f--f DEBUG] PASSED [ 9%] 198s tests/test_add_option_format.py::test_progressive_format PASSED [ 9%] 198s tests/test_add_option_format.py::test_function_format_without_exception PASSED [ 9%] 198s tests/test_add_option_format.py::test_function_format_with_exception PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_format[-1] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_format[3.4] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_format[format2] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%] 198s tests/test_add_option_format.py::test_markup_in_field[True] PASSED [ 10%] 198s tests/test_add_option_format.py::test_markup_in_field[False] PASSED [ 10%] 198s tests/test_add_option_format.py::test_invalid_format_builtin PASSED [ 10%] 198s tests/test_add_option_kwargs.py::test_file_mode_a PASSED [ 10%] 198s tests/test_add_option_kwargs.py::test_file_mode_w PASSED [ 10%] 198s tests/test_add_option_kwargs.py::test_file_auto_buffering PASSED [ 10%] 198s tests/test_add_option_kwargs.py::test_file_line_buffering PASSED [ 11%] 198s tests/test_add_option_kwargs.py::test_invalid_function_kwargs PASSED [ 11%] 198s tests/test_add_option_kwargs.py::test_invalid_file_object_kwargs PASSED [ 11%] 198s tests/test_add_option_kwargs.py::test_invalid_file_kwargs PASSED [ 11%] 198s tests/test_add_option_kwargs.py::test_invalid_coroutine_kwargs PASSED [ 11%] 198s tests/test_add_option_level.py::test_level_low_enough[0] PASSED [ 11%] 198s tests/test_add_option_level.py::test_level_low_enough[TRACE] PASSED [ 11%] 198s tests/test_add_option_level.py::test_level_low_enough[INFO] PASSED [ 11%] 198s tests/test_add_option_level.py::test_level_low_enough[20] PASSED [ 11%] 198s tests/test_add_option_level.py::test_level_too_high[WARNING] PASSED [ 11%] 198s tests/test_add_option_level.py::test_level_too_high[25] PASSED [ 11%] 198s tests/test_add_option_level.py::test_invalid_level[3.4] PASSED [ 11%] 198s tests/test_add_option_level.py::test_invalid_level[level1] PASSED [ 11%] 198s tests/test_add_option_level.py::test_unknown_level[foo] PASSED [ 11%] 198s tests/test_add_option_level.py::test_unknown_level[-1] PASSED [ 11%] 198s tests/test_add_option_serialize.py::test_serialize PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_non_ascii_characters PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_exception PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_exception_without_context PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_exception_none_tuple PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_exception_instance PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_with_catch_decorator PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_with_record_option PASSED [ 12%] 198s tests/test_add_option_serialize.py::test_serialize_not_serializable PASSED [ 12%] 198s tests/test_add_sinks.py::test_stdout_sink[0] PASSED [ 12%] 198s tests/test_add_sinks.py::test_stdout_sink[1] PASSED [ 12%] 198s tests/test_add_sinks.py::test_stdout_sink[2] PASSED [ 12%] 198s tests/test_add_sinks.py::test_stderr_sink[0] PASSED [ 12%] 198s tests/test_add_sinks.py::test_stderr_sink[1] PASSED [ 12%] 198s tests/test_add_sinks.py::test_stderr_sink[2] PASSED [ 12%] 198s tests/test_add_sinks.py::test_devnull[0] PASSED [ 13%] 198s tests/test_add_sinks.py::test_devnull[1] PASSED [ 13%] 198s tests/test_add_sinks.py::test_devnull[2] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[str-0] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[str-1] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[str-2] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[Path-0] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[Path-1] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[Path-2] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[0-0] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[0-1] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[0-2] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[1-0] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[1-1] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink[1-2] PASSED [ 13%] 198s tests/test_add_sinks.py::test_file_sink_folder_creation[0] PASSED [ 14%] 198s tests/test_add_sinks.py::test_file_sink_folder_creation[1] PASSED [ 14%] 198s tests/test_add_sinks.py::test_file_sink_folder_creation[2] PASSED [ 14%] 198s tests/test_add_sinks.py::test_function_sink[0] PASSED [ 14%] 198s tests/test_add_sinks.py::test_function_sink[1] PASSED [ 14%] 198s tests/test_add_sinks.py::test_function_sink[2] PASSED [ 14%] 198s tests/test_add_sinks.py::test_coroutine_sink[0] PASSED [ 14%] 198s tests/test_add_sinks.py::test_coroutine_sink[1] PASSED [ 14%] 199s tests/test_add_sinks.py::test_coroutine_sink[2] PASSED [ 14%] 199s tests/test_add_sinks.py::test_file_object_sink[0] PASSED [ 14%] 199s tests/test_add_sinks.py::test_file_object_sink[1] PASSED [ 14%] 199s tests/test_add_sinks.py::test_file_object_sink[2] PASSED [ 14%] 199s tests/test_add_sinks.py::test_standard_handler_sink[0] PASSED [ 14%] 199s tests/test_add_sinks.py::test_standard_handler_sink[1] PASSED [ 14%] 199s tests/test_add_sinks.py::test_standard_handler_sink[2] PASSED [ 14%] 199s tests/test_add_sinks.py::test_flush[0] PASSED [ 15%] 199s tests/test_add_sinks.py::test_flush[1] PASSED [ 15%] 199s tests/test_add_sinks.py::test_flush[2] PASSED [ 15%] 199s tests/test_add_sinks.py::test_file_sink_ascii_encoding PASSED [ 15%] 199s tests/test_add_sinks.py::test_file_sink_utf8_encoding PASSED [ 15%] 199s tests/test_add_sinks.py::test_file_sink_default_encoding PASSED [ 15%] 199s tests/test_add_sinks.py::test_disabled_logger_in_sink PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_flush[123] PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_flush[None] PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_stop[123] PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_stop[None] PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_complete[123] PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_complete[None] PASSED [ 15%] 199s tests/test_add_sinks.py::test_custom_sink_invalid_complete[] PASSED [ 15%] 199s tests/test_add_sinks.py::test_invalid_sink[123] PASSED [ 15%] 199s tests/test_add_sinks.py::test_invalid_sink[sys] PASSED [ 16%] 199s tests/test_add_sinks.py::test_invalid_sink[sink2] PASSED [ 16%] 199s tests/test_add_sinks.py::test_invalid_sink[int] PASSED [ 16%] 199s tests/test_add_sinks.py::test_deprecated_start_and_stop PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[1m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[2m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[22m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[1m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[2m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[22m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[41m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[41m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[102m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[102m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[33m1\x1b[0m] PASSED [ 16%] 199s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[33m1\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[97m1\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[97m1\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_nested[12-\x1b[1m1\x1b[0m\x1b[2m2\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_nested[123-\x1b[1m1\x1b[0m2\x1b[2m3\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_nested[01234-0\x1b[1m1\x1b[2m2\x1b[0m\x1b[1m3\x1b[0m4] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_nested[01234-\x1b[2m0\x1b[1m1\x1b[2m2\x1b[0m\x1b[2m\x1b[1m3\x1b[0m\x1b[2m4\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_strict_parsing[] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_strict_parsing[] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_strict_parsing[] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_permissive_parsing[-\x1b[1m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_permissive_parsing[-\x1b[43m\x1b[1m\x1b[0m\x1b[43m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_permissive_parsing[-\x1b[1m\x1b[1m\x1b[0m\x1b[1m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_autoclose[foo-\x1b[31mfoo\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_autoclose[bar-\x1b[32m\x1b[1mbar\x1b[0m\x1b[32m\x1b[0m] PASSED [ 17%] 199s tests/test_ansimarkup_basic.py::test_autoclose[abcde-a\x1b[33mb\x1b[1mc\x1b[0m\x1b[33md\x1b[0me] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_escaping[foo\\bar-\x1b[31mfoobar\x1b[0m] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_escaping[foo\\bar-\x1b[31mfoobar\x1b[0m] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_escaping[\\\\-] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_escaping[foo\\bar\\baz-foobarbaz] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[True-X] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 18%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_mismatched_error[False-X] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unbalanced_error[True-12] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unbalanced_error[True-12] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unbalanced_error[True-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unbalanced_error[False-12] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unbalanced_error[False-12] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unbalanced_error[False-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[True-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[True-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[True-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[True-1] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[False-] PASSED [ 19%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[False-] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[False-] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_unclosed_error[False-1] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-bar] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-foobar] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-foo] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-foo] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-12] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-12] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-123] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-123] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-bar] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-foobar] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-foo] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-foo] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-12] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-12] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-123] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-123] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_strip[foo-foo] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_strip[bar-bar] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_strip[baz-baz] PASSED [ 21%] 199s tests/test_ansimarkup_basic.py::test_strip[123-123] PASSED [ 22%] 199s tests/test_ansimarkup_basic.py::test_strip[foo-foo] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[41m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[40m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[102m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[105m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[33m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[34m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[97m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[96m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_8bit_colors[1-\x1b[38;2;255;0;0m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_8bit_colors[1-\x1b[48;2;0;160;0m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_8bit_colors[1-\x1b[38;2;241;47;18m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[38;2;255;0;0m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[48;2;0;160;0m1\x1b[0m] PASSED [ 22%] 199s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[38;2;241;47;18m1\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[48;2;190;235;238m1\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_rgb_colors[1-\x1b[38;5;200m1\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_rgb_colors[1-\x1b[48;5;49m1\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_nested[1-\x1b[31m\x1b[1m\x1b[48;2;0;160;0m1\x1b[0m\x1b[31m\x1b[1m\x1b[0m\x1b[31m\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_nested[1-\x1b[48;5;100m\x1b[38;5;200m1\x1b[0m\x1b[48;5;100m\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_nested[1-\x1b[48;2;0;160;0m\x1b[38;2;255;0;0m1\x1b[0m\x1b[48;2;0;160;0m\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_nested[1-\x1b[48;2;0;160;0m\x1b[38;2;255;0;0m1\x1b[0m\x1b[48;2;0;160;0m\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[2 > 1-\x1b[31m2 > 1\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[1 < 2-\x1b[31m1 < 2\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[1 -\x1b[31m1 1-{: <10}\x1b[31m1\x1b[0m] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[{: 1-{: 1{: >10}-\x1b[31m1\x1b[0m{: >10}] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[<123>-<1\x1b[31m2\x1b[0m3>] PASSED [ 23%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[23>-] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[<12 < 34>-<1\x1b[31m2 < 3\x1b[0m4>] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[<12 4>-<1\x1b[31m2 ] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_tricky_parse[<13 > 24>-<1\x1b[31m3 > 2\x1b[0m4>] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-<>1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-<,>1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 24%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-<>1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-<,>1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[True-fg #F2D1GZ>1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 25%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_hex[False-fg #F2D1GZ>1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_8bit[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_8bit[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_8bit[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_8bit[False-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_8bit[False-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_8bit[False-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_strip[foobar-foobar] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_strip[baz-baz] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_strip[bar-bar] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[2 > 1-2 > 1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[1 < 2-1 < 2] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[1 -1 1-{: <10}1] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[{: 1-{: 1{: >10}-1{: >10}] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[<123>-<123>] PASSED [ 27%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[23>-] PASSED [ 28%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[<12 < 34>-<12 < 34>] PASSED [ 28%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[<12 4>-<12 ] PASSED [ 28%] 199s tests/test_ansimarkup_extended.py::test_tricky_strip[<13 > 24>-<13 > 24>] PASSED [ 28%] 199s tests/test_bind.py::test_bind_after_add PASSED [ 28%] 199s tests/test_bind.py::test_bind_before_add PASSED [ 28%] 199s tests/test_bind.py::test_add_using_bound PASSED [ 28%] 199s tests/test_bind.py::test_not_override_parent_logger PASSED [ 28%] 199s tests/test_bind.py::test_override_previous_bound PASSED [ 28%] 199s tests/test_bind.py::test_no_conflict PASSED [ 28%] 199s tests/test_bind.py::test_bind_and_add_level[True] PASSED [ 28%] 199s tests/test_bind.py::test_bind_and_add_level[False] PASSED [ 28%] 199s tests/test_bind.py::test_override_configured PASSED [ 28%] 199s tests/test_colorama.py::test_stream_wrapped_on_windows_if_no_vt_support[__stdout__] SKIPPED [ 28%] 199s tests/test_colorama.py::test_stream_wrapped_on_windows_if_no_vt_support[__stderr__] SKIPPED [ 28%] 199s tests/test_colorama.py::test_stream_not_wrapped_on_windows_if_vt_support[__stdout__] SKIPPED [ 29%] 199s tests/test_colorama.py::test_stream_not_wrapped_on_windows_if_vt_support[__stderr__] SKIPPED [ 29%] 199s tests/test_colorama.py::test_stream_is_none PASSED [ 29%] 199s tests/test_colorama.py::test_is_a_tty PASSED [ 29%] 199s tests/test_colorama.py::test_is_not_a_tty PASSED [ 29%] 199s tests/test_colorama.py::test_is_a_tty_exception PASSED [ 29%] 199s tests/test_colorama.py::test_pycharm_fixed[__stdout__-True] PASSED [ 29%] 199s tests/test_colorama.py::test_pycharm_fixed[__stderr__-True] PASSED [ 29%] 199s tests/test_colorama.py::test_pycharm_fixed[stdout-False] PASSED [ 29%] 199s tests/test_colorama.py::test_pycharm_fixed[stderr-False] PASSED [ 29%] 199s tests/test_colorama.py::test_pycharm_fixed[-False] PASSED [ 29%] 199s tests/test_colorama.py::test_github_actions_fixed[__stdout__-True] PASSED [ 29%] 199s tests/test_colorama.py::test_github_actions_fixed[__stderr__-True] PASSED [ 29%] 199s tests/test_colorama.py::test_github_actions_fixed[stdout-False] PASSED [ 29%] 199s tests/test_colorama.py::test_github_actions_fixed[stderr-False] PASSED [ 29%] 199s tests/test_colorama.py::test_github_actions_fixed[-False] PASSED [ 30%] 199s tests/test_colorama.py::test_mintty_fixed_windows[__stdout__-True] SKIPPED [ 30%] 199s tests/test_colorama.py::test_mintty_fixed_windows[__stderr__-True] SKIPPED [ 30%] 199s tests/test_colorama.py::test_mintty_fixed_windows[stdout-False] SKIPPED [ 30%] 199s tests/test_colorama.py::test_mintty_fixed_windows[stderr-False] SKIPPED [ 30%] 199s tests/test_colorama.py::test_mintty_fixed_windows[-False] SKIPPED (T...) [ 30%] 199s tests/test_colorama.py::test_mintty_not_fixed_linux[__stdout__-False] PASSED [ 30%] 199s tests/test_colorama.py::test_mintty_not_fixed_linux[__stderr__-False] PASSED [ 30%] 199s tests/test_colorama.py::test_mintty_not_fixed_linux[stdout-False] PASSED [ 30%] 199s tests/test_colorama.py::test_mintty_not_fixed_linux[stderr-False] PASSED [ 30%] 199s tests/test_colorama.py::test_mintty_not_fixed_linux[-False] PASSED [ 30%] 199s tests/test_colorama.py::test_jupyter_fixed[stdout-StreamIsattyFalse-True] PASSED [ 30%] 199s tests/test_colorama.py::test_jupyter_fixed[stderr-StreamIsattyFalse-True] PASSED [ 30%] 199s tests/test_colorama.py::test_jupyter_fixed[__stdout__-StreamIsattyFalse-False] PASSED [ 30%] 199s tests/test_colorama.py::test_jupyter_fixed[__stderr__-StreamIsattyFalse-False] PASSED [ 30%] 199s tests/test_colorama.py::test_jupyter_fixed[stdout-StreamIsattyTrue-False] PASSED [ 31%] 199s tests/test_colorama.py::test_jupyter_fixed[stderr-StreamIsattyTrue-False] PASSED [ 31%] 199s tests/test_colorama.py::test_jupyter_fixed[-StreamIsattyFalse-False] PASSED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_on_linux[__stdout__] PASSED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_on_linux[__stderr__] PASSED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_not_original_stdout_or_stderr[stdout] SKIPPED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_not_original_stdout_or_stderr[stderr] SKIPPED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_not_original_stdout_or_stderr[] SKIPPED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_terminal_has_vt_support[__stdout__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_terminal_has_vt_support[__stderr__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_winapi_false[__stdout__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_dont_wrap_if_winapi_false[__stderr__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_no_vt_support[__stdout__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_no_vt_support[__stderr__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_vt_check_fails[__stdout__] SKIPPED [ 31%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_vt_check_fails[__stderr__] SKIPPED [ 32%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_stream_has_no_fileno[__stdout__] SKIPPED [ 32%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_stream_has_no_fileno[__stderr__] SKIPPED [ 32%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_old_colorama_version[__stdout__] SKIPPED [ 32%] 199s tests/test_colorama.py::test_wrap_if_winapi_true_and_old_colorama_version[__stderr__] SKIPPED [ 32%] 199s tests/test_configure.py::test_handlers PASSED [ 32%] 199s tests/test_configure.py::test_levels PASSED [ 32%] 199s tests/test_configure.py::test_extra PASSED [ 32%] 199s tests/test_configure.py::test_patcher PASSED [ 32%] 199s tests/test_configure.py::test_activation PASSED [ 32%] 199s tests/test_configure.py::test_dict_unpacking PASSED [ 32%] 199s tests/test_configure.py::test_returned_ids PASSED [ 32%] 199s tests/test_configure.py::test_dont_reset_by_default PASSED [ 32%] 199s tests/test_configure.py::test_reset_previous_handlers PASSED [ 32%] 199s tests/test_configure.py::test_reset_previous_extra PASSED [ 32%] 199s tests/test_configure.py::test_reset_previous_patcher PASSED [ 33%] 199s tests/test_configure.py::test_dont_reset_previous_levels PASSED [ 33%] 199s tests/test_configure.py::test_configure_handler_using_new_level PASSED [ 33%] 199s tests/test_configure.py::test_configure_filter_using_new_level PASSED [ 33%] 199s tests/test_configure.py::test_configure_before_bind PASSED [ 33%] 199s tests/test_configure.py::test_configure_after_bind PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_as_decorator PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_in_function PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_reset PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_async PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_thread PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_before_bind PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_after_bind PASSED [ 33%] 199s tests/test_contextualize.py::test_contextualize_using_bound PASSED [ 34%] 199s tests/test_contextualize.py::test_contextualize_before_configure PASSED [ 34%] 199s tests/test_contextualize.py::test_contextualize_after_configure PASSED [ 34%] 199s tests/test_contextualize.py::test_nested_contextualize PASSED [ 34%] 199s tests/test_contextualize.py::test_context_reset_despite_error PASSED [ 34%] 199s tests/test_contextualize.py::test_contextvars_fallback_352 PASSED [ 34%] 199s tests/test_coroutine_sink.py::test_coroutine_function PASSED [ 34%] 199s tests/test_coroutine_sink.py::test_async_callable_sink PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_concurrent_execution PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_recursive_coroutine PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_using_another_event_loop PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_run_mutiple_different_loops PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_run_multiple_same_loop PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_using_sink_without_running_loop_not_none PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_using_sink_without_running_loop_none PASSED [ 34%] 200s tests/test_coroutine_sink.py::test_global_loop_not_used PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_complete_in_another_run PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_tasks_cancelled_on_remove PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_remove_without_tasks PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_complete_without_tasks PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_complete_stream_noop PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_complete_file_noop PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_complete_function_noop PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_complete_standard_noop PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_exception_in_coroutine_caught PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_exception_in_coroutine_not_caught PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_exception_in_coroutine_during_complete_caught PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_exception_in_coroutine_during_complete_not_caught PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_enqueue_coroutine_loop PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_enqueue_coroutine_from_inside_coroutine_without_loop PASSED [ 35%] 200s tests/test_coroutine_sink.py::test_custom_complete_function PASSED [ 36%] 200s tests/test_coroutine_sink.py::test_complete_from_another_loop[True] PASSED [ 36%] 200s tests/test_coroutine_sink.py::test_complete_from_another_loop[False] PASSED [ 36%] 200s tests/test_coroutine_sink.py::test_complete_from_multiple_threads_loop_is_none PASSED [ 36%] 200s tests/test_coroutine_sink.py::test_complete_from_multiple_threads_loop_is_not_none PASSED [ 36%] 201s tests/test_coroutine_sink.py::test_complete_and_sink_write_concurrency PASSED [ 36%] 201s tests/test_coroutine_sink.py::test_complete_and_contextualize_concurrency PASSED [ 36%] 201s tests/test_coroutine_sink.py::test_complete_with_sub_processes PASSED [ 36%] 201s tests/test_coroutine_sink.py::test_invalid_coroutine_sink_if_no_loop_with_enqueue PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[%Y-%m-%d %H-%M-%S %f %Z %z-2018-06-09 01:02:03.000045-timezone0-2018-06-09 01-02-03 000045 UTC +0000] PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[YYYY-MM-DD HH-mm-ss SSSSSS zz ZZ-2018-06-09 01:02:03.000045-timezone1-2018-06-09 01-02-03 000045 UTC +0000] PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[%Y-%m-%d %H-%M-%S %f %Z %z-2018-06-09 01:02:03.000045-timezone2-2018-06-09 01-02-03 000045 EST -0500] PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[YYYY-MM-DD HH-mm-ss SSSSSS zz ZZ-2018-06-09 01:02:03.000045-timezone3-2018-06-09 01-02-03 000045 EST -0500] PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[%Y-%m-%d %H-%M-%S %f %Z!UTC-2018-06-09 01:02:03.000045-timezone4-2018-06-09 01-02-03 000045 UTC] PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[YYYY-MM-DD HH-mm-ss SSSSSS zz!UTC-2018-06-09 01:02:03.000045-timezone5-2018-06-09 01-02-03 000045 UTC] PASSED [ 36%] 201s tests/test_datetime.py::test_formatting[%Y-%m-%d %H-%M-%S %f %Z %z!UTC-2018-06-09 01:02:03.000045-timezone6-2018-06-09 06-02-03 000045 UTC +0000] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[YYYY-MM-DD HH-mm-ss SSSSSS zz ZZ!UTC-2018-06-09 01:02:03.000045-timezone7-2018-06-09 06-02-03 000045 UTC +0000] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[YY-M-D H-m-s SSS Z-2005-04-07 09:03:08.002320-timezone8-05-4-7 9-3-8 002 +01:00] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[Q_DDDD_DDD d_E h_hh A SS ZZ-2000-01-01 14:00:00.9-timezone9-1_001_1 5_6 2_02 PM 90 -0030] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[hh A-2018-01-01 00:01:02.000003-timezone10-12 AM] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[hh A-2018-01-01 12:00:00.0-timezone11-12 PM] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[hh A-2018-01-01 23:00:00.0-timezone12-11 PM] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[[YYYY] MM [DD]-2018-02-03 11:09:00.000002-timezone13-YYYY 02 DD] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[[YYYY MM DD]-2018-01-03 11:03:04.000002-timezone14-[2018 01 03]] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[[[YY]]-2018-01-03 11:03:04.000002-timezone15-[YY]] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[[]-2018-01-03 11:03:04.000002-timezone16-] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[[[]]-2018-01-03 11:03:04.000002-timezone17-[]] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[SSSSSS[]SSS[]SSSSSS-2018-01-03 11:03:04.100002-timezone18-100002100100002] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[[HHmmss-2018-01-03 11:03:04.000002-timezone19-[110304] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[HHmmss]-2018-01-03 11:03:04.000002-timezone20-110304]] PASSED [ 37%] 201s tests/test_datetime.py::test_formatting[HH:mm:ss!UTC-2018-01-01 11:30:00.0-timezone21-09:30:00] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[UTC! HH:mm:ss-2018-01-01 11:30:00.0-timezone22-UTC! 11:30:00] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[!UTC HH:mm:ss-2018-01-01 11:30:00.0-timezone23-!UTC 11:30:00] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[hh:mm:ss A - Z ZZ !UTC-2018-01-01 12:30:00.0-timezone24-11:00:00 AM - +00:00 +0000 ] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[YYYY-MM-DD HH:mm:ss[Z]!UTC-2018-01-03 11:03:04.2-timezone25-2018-01-03 13:03:04Z] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[HH:mm:ss[!UTC]-2018-01-01 11:30:00.0-timezone26-11:30:00!UTC] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[-2018-02-03 11:09:00.000002-timezone27-2018-02-03T11:09:00.000002+0030] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting[!UTC-2018-02-03 11:09:00.000002-timezone28-2018-02-03T10:39:00.000002+0000] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting_timezone_offset_down_to_the_second[%Y-%m-%d %H-%M-%S %f %Z %z-7230.099-2018-06-09 01-02-03 000000 ABC +020030.099000] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting_timezone_offset_down_to_the_second[YYYY-MM-DD HH-mm-ss zz Z ZZ-6543-2018-06-09 01-02-03 ABC +01:49:03 +014903] PASSED [ 38%] 201s tests/test_datetime.py::test_formatting_timezone_offset_down_to_the_second[HH-mm-ss zz Z ZZ--12345.06702-01-02-03 ABC -03:26:45.067020 -032645.067020] PASSED [ 38%] 201s tests/test_datetime.py::test_locale_formatting PASSED [ 38%] 201s tests/test_datetime.py::test_stdout_formatting PASSED [ 38%] 201s tests/test_datetime.py::test_file_formatting PASSED [ 38%] 201s tests/test_datetime.py::test_missing_struct_time_fields PASSED [ 38%] 201s tests/test_datetime.py::test_freezegun_mocking PASSED [ 39%] 201s tests/test_datetime.py::test_invalid_time_format[ss.SSSSSSS] PASSED [ 39%] 201s tests/test_datetime.py::test_invalid_time_format[SS.SSSSSSSS.SS] PASSED [ 39%] 201s tests/test_datetime.py::test_invalid_time_format[HH:mm:ss.SSSSSSSSS] PASSED [ 39%] 201s tests/test_datetime.py::test_invalid_time_format[SSSSSSSSSS] PASSED [ 39%] 201s tests/test_deepcopy.py::test_add_sink_after_deepcopy PASSED [ 39%] 201s tests/test_deepcopy.py::test_add_sink_before_deepcopy PASSED [ 39%] 201s tests/test_deepcopy.py::test_remove_from_original PASSED [ 39%] 201s tests/test_deepcopy.py::test_remove_from_copy PASSED [ 39%] 201s tests/test_defaults.py::test_string[test] PASSED [ 39%] 201s tests/test_defaults.py::test_string[] PASSED [ 39%] 201s tests/test_defaults.py::test_bool_positive[y] PASSED [ 39%] 201s tests/test_defaults.py::test_bool_positive[1] PASSED [ 39%] 201s tests/test_defaults.py::test_bool_positive[TRUE] PASSED [ 39%] 201s tests/test_defaults.py::test_bool_negative[NO] PASSED [ 39%] 201s tests/test_defaults.py::test_bool_negative[0] PASSED [ 40%] 201s tests/test_defaults.py::test_bool_negative[false] PASSED [ 40%] 201s tests/test_defaults.py::test_int PASSED [ 40%] 201s tests/test_defaults.py::test_invalid_int[] PASSED [ 40%] 201s tests/test_defaults.py::test_invalid_int[a] PASSED [ 40%] 201s tests/test_defaults.py::test_invalid_bool[] PASSED [ 40%] 201s tests/test_defaults.py::test_invalid_bool[a] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_caret_not_masked[False] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_caret_not_masked[True] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_no_caret_if_no_backtrace[False] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_no_caret_if_no_backtrace[True] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_sink_encoding[ascii] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_sink_encoding[UTF8] PASSED [ 40%] 201s tests/test_exceptions_catch.py::test_sink_encoding[None] PASSED [ 40%] 202s tests/test_exceptions_catch.py::test_sink_encoding[unknown-encoding] PASSED [ 40%] 202s tests/test_exceptions_catch.py::test_sink_encoding[] PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_sink_encoding[encoding5] PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_file_sink_ascii_encoding FAILED [ 41%] 202s tests/test_exceptions_catch.py::test_file_sink_utf8_encoding FAILED [ 41%] 202s tests/test_exceptions_catch.py::test_has_sys_real_prefix PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_no_sys_real_prefix PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_has_site_getsitepackages PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_no_site_getsitepackages PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_user_site_is_path PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_user_site_is_none PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_sysconfig_get_path_return_path PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_sysconfig_get_path_return_none PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_no_exception PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_exception_is_none PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_exception_is_tuple PASSED [ 41%] 202s tests/test_exceptions_catch.py::test_exception_not_raising[ZeroDivisionError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exception_not_raising[ArithmeticError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exception_not_raising[exception2] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exception_raising[ValueError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exception_raising[exception1] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_raising[BaseException-ZeroDivisionError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_raising[BaseException-ArithmeticError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_raising[BaseException-exclude2] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_raising[ZeroDivisionError-ZeroDivisionError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_raising[ZeroDivisionError-ArithmeticError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_raising[ZeroDivisionError-exclude2] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[BaseException-ValueError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[BaseException-exclude1] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[ZeroDivisionError-ValueError] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[ZeroDivisionError-exclude1] PASSED [ 42%] 202s tests/test_exceptions_catch.py::test_reraise PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_onerror PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_onerror_with_reraise PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_decorate_function PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_decorate_coroutine PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_decorate_generator PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_decorate_generator_with_error PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_default_with_function PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_default_with_generator PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_default_with_coroutine PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_error_when_decorating_class_without_parentheses PASSED [ 43%] 202s tests/test_exceptions_catch.py::test_error_when_decorating_class_with_parentheses PASSED [ 43%] 202s tests/test_exceptions_formatting.py::test_backtrace[chained_expression_direct] PASSED [ 43%] 202s tests/test_exceptions_formatting.py::test_backtrace[chained_expression_indirect] PASSED [ 43%] 202s tests/test_exceptions_formatting.py::test_backtrace[chaining_first] PASSED [ 43%] 202s tests/test_exceptions_formatting.py::test_backtrace[chaining_second] PASSED [ 44%] 203s tests/test_exceptions_formatting.py::test_backtrace[chaining_third] PASSED [ 44%] 203s tests/test_exceptions_formatting.py::test_backtrace[enqueue] PASSED [ 44%] 203s tests/test_exceptions_formatting.py::test_backtrace[enqueue_with_others_handlers] PASSED [ 44%] 203s tests/test_exceptions_formatting.py::test_backtrace[frame_values_backward] PASSED [ 44%] 203s tests/test_exceptions_formatting.py::test_backtrace[frame_values_forward] PASSED [ 44%] 203s tests/test_exceptions_formatting.py::test_backtrace[function] PASSED [ 44%] 204s tests/test_exceptions_formatting.py::test_backtrace[head_recursion] PASSED [ 44%] 204s tests/test_exceptions_formatting.py::test_backtrace[missing_attributes_traceback_objects] PASSED [ 44%] 204s tests/test_exceptions_formatting.py::test_backtrace[nested] PASSED [ 44%] 204s tests/test_exceptions_formatting.py::test_backtrace[nested_chained_catch_up] PASSED [ 44%] 204s tests/test_exceptions_formatting.py::test_backtrace[nested_decorator_catch_up] PASSED [ 44%] 204s tests/test_exceptions_formatting.py::test_backtrace[nested_explicit_catch_up] PASSED [ 44%] 205s tests/test_exceptions_formatting.py::test_backtrace[nested_wrapping] PASSED [ 44%] 205s tests/test_exceptions_formatting.py::test_backtrace[no_tb] PASSED [ 44%] 205s tests/test_exceptions_formatting.py::test_backtrace[not_enough_arguments] PASSED [ 45%] 205s tests/test_exceptions_formatting.py::test_backtrace[raising_recursion] PASSED [ 45%] 205s tests/test_exceptions_formatting.py::test_backtrace[suppressed_expression_direct] PASSED [ 45%] 206s tests/test_exceptions_formatting.py::test_backtrace[suppressed_expression_indirect] PASSED [ 45%] 206s tests/test_exceptions_formatting.py::test_backtrace[tail_recursion] PASSED [ 45%] 206s tests/test_exceptions_formatting.py::test_backtrace[too_many_arguments] PASSED [ 45%] 206s tests/test_exceptions_formatting.py::test_diagnose[assertion_error] FAILED [ 45%] 206s tests/test_exceptions_formatting.py::test_diagnose[assertion_error_custom] FAILED [ 45%] 207s tests/test_exceptions_formatting.py::test_diagnose[assertion_error_in_string] FAILED [ 45%] 207s tests/test_exceptions_formatting.py::test_diagnose[attributes] FAILED [ 45%] 207s tests/test_exceptions_formatting.py::test_diagnose[chained_both] FAILED [ 45%] 207s tests/test_exceptions_formatting.py::test_diagnose[encoding] FAILED [ 45%] 207s tests/test_exceptions_formatting.py::test_diagnose[global_variable] FAILED [ 45%] 207s tests/test_exceptions_formatting.py::test_diagnose[indentation_error] FAILED [ 45%] 208s tests/test_exceptions_formatting.py::test_diagnose[keyword_argument] FAILED [ 45%] 208s tests/test_exceptions_formatting.py::test_diagnose[multilines_repr] FAILED [ 46%] 208s tests/test_exceptions_formatting.py::test_diagnose[no_error_message] FAILED [ 46%] 208s tests/test_exceptions_formatting.py::test_diagnose[parenthesis] FAILED [ 46%] 208s tests/test_exceptions_formatting.py::test_diagnose[source_multilines] FAILED [ 46%] 208s tests/test_exceptions_formatting.py::test_diagnose[source_strings] FAILED [ 46%] 209s tests/test_exceptions_formatting.py::test_diagnose[syntax_error] FAILED [ 46%] 209s tests/test_exceptions_formatting.py::test_diagnose[syntax_highlighting] FAILED [ 46%] 209s tests/test_exceptions_formatting.py::test_diagnose[truncating] FAILED [ 46%] 209s tests/test_exceptions_formatting.py::test_diagnose[unprintable_object] FAILED [ 46%] 209s tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_lib] FAILED [ 46%] 209s tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_local] FAILED [ 46%] 210s tests/test_exceptions_formatting.py::test_exception_ownership[callback] FAILED [ 46%] 210s tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator] FAILED [ 46%] 210s tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator_from_lib] FAILED [ 46%] 210s tests/test_exceptions_formatting.py::test_exception_ownership[decorated_callback] FAILED [ 46%] 210s tests/test_exceptions_formatting.py::test_exception_ownership[direct] FAILED [ 47%] 211s tests/test_exceptions_formatting.py::test_exception_ownership[indirect] FAILED [ 47%] 211s tests/test_exceptions_formatting.py::test_exception_ownership[string_lib] FAILED [ 47%] 211s tests/test_exceptions_formatting.py::test_exception_ownership[string_source] FAILED [ 47%] 211s tests/test_exceptions_formatting.py::test_exception_ownership[syntaxerror] FAILED [ 47%] 211s tests/test_exceptions_formatting.py::test_exception_others[assertionerror_without_traceback] PASSED [ 47%] 212s tests/test_exceptions_formatting.py::test_exception_others[catch_as_context_manager] PASSED [ 47%] 212s tests/test_exceptions_formatting.py::test_exception_others[catch_as_decorator_with_parentheses] PASSED [ 47%] 212s tests/test_exceptions_formatting.py::test_exception_others[catch_as_decorator_without_parentheses] PASSED [ 47%] 212s tests/test_exceptions_formatting.py::test_exception_others[catch_as_function] PASSED [ 47%] 212s tests/test_exceptions_formatting.py::test_exception_others[catch_message] PASSED [ 47%] 212s tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_coroutine] FAILED [ 47%] 213s tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_function] FAILED [ 47%] 213s tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_generator] FAILED [ 47%] 213s tests/test_exceptions_formatting.py::test_exception_others[exception_in_property] FAILED [ 47%] 213s tests/test_exceptions_formatting.py::test_exception_others[handler_formatting_with_context_manager] PASSED [ 48%] 213s tests/test_exceptions_formatting.py::test_exception_others[handler_formatting_with_decorator] PASSED [ 48%] 213s tests/test_exceptions_formatting.py::test_exception_others[level_name] PASSED [ 48%] 214s tests/test_exceptions_formatting.py::test_exception_others[level_number] PASSED [ 48%] 214s tests/test_exceptions_formatting.py::test_exception_others[message_formatting_with_context_manager] PASSED [ 48%] 214s tests/test_exceptions_formatting.py::test_exception_others[message_formatting_with_decorator] PASSED [ 48%] 214s tests/test_exceptions_formatting.py::test_exception_others[nested_with_reraise] FAILED [ 48%] 214s tests/test_exceptions_formatting.py::test_exception_others[syntaxerror_without_traceback] PASSED [ 48%] 214s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit] FAILED [ 48%] 215s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_negative] PASSED [ 48%] 215s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_none] FAILED [ 48%] 215s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_unset] FAILED [ 48%] 215s tests/test_exceptions_formatting.py::test_exception_others[zerodivisionerror_without_traceback] PASSED [ 48%] 215s tests/test_exceptions_formatting.py::test_exception_modern[type_hints-minimum_python_version0] FAILED [ 48%] 216s tests/test_exceptions_formatting.py::test_exception_modern[positional_only_argument-minimum_python_version1] FAILED [ 48%] 216s tests/test_exceptions_formatting.py::test_exception_modern[walrus_operator-minimum_python_version2] FAILED [ 49%] 216s tests/test_exceptions_formatting.py::test_exception_modern[match_statement-minimum_python_version3] FAILED [ 49%] 216s tests/test_exceptions_formatting.py::test_exception_modern[exception_group_catch-minimum_python_version4] FAILED [ 49%] 216s tests/test_exceptions_formatting.py::test_exception_modern[notes-minimum_python_version5] FAILED [ 49%] 216s tests/test_exceptions_formatting.py::test_exception_modern[grouped_simple-minimum_python_version6] FAILED [ 49%] 217s tests/test_exceptions_formatting.py::test_exception_modern[grouped_nested-minimum_python_version7] FAILED [ 49%] 217s tests/test_exceptions_formatting.py::test_exception_modern[grouped_with_cause_and_context-minimum_python_version8] FAILED [ 49%] 217s tests/test_exceptions_formatting.py::test_exception_modern[grouped_as_cause_and_context-minimum_python_version9] FAILED [ 49%] 217s tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_length-minimum_python_version10] FAILED [ 49%] 217s tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_depth-minimum_python_version11] FAILED [ 49%] 218s tests/test_exceptions_formatting.py::test_exception_modern[f_string-minimum_python_version12] FAILED [ 49%] 218s tests/test_exceptions_formatting.py::test_group_exception_using_backport SKIPPED [ 49%] 218s tests/test_filesink_compression.py::test_compression_ext[gz] PASSED [ 49%] 218s tests/test_filesink_compression.py::test_compression_ext[bz2] PASSED [ 49%] 218s tests/test_filesink_compression.py::test_compression_ext[zip] PASSED [ 49%] 218s tests/test_filesink_compression.py::test_compression_ext[xz] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_ext[lzma] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_ext[tar] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_ext[tar.gz] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_ext[tar.bz2] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_ext[tar.xz] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_function PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_rotation[a] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_rotation[a+] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_rotation[w] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_rotation[x] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[a] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[a+] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[w] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[x] PASSED [ 50%] 218s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[a] PASSED [ 51%] 218s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[a+] PASSED [ 51%] 218s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[w] PASSED [ 51%] 218s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[x] PASSED [ 51%] 218s tests/test_filesink_compression.py::test_rename_existing_with_creation_time PASSED [ 51%] 218s tests/test_filesink_compression.py::test_renaming_compression_dest_exists PASSED [ 51%] 218s tests/test_filesink_compression.py::test_renaming_compression_dest_exists_with_time PASSED [ 51%] 218s tests/test_filesink_compression.py::test_compression_use_renamed_file_after_rotation PASSED [ 51%] 219s tests/test_filesink_compression.py::test_threaded_compression_after_rotation PASSED [ 51%] 219s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation[True] PASSED [ 51%] 219s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation[False] PASSED [ 51%] 219s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation_not_caught[True] PASSED [ 51%] 219s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation_not_caught[False] PASSED [ 51%] 219s tests/test_filesink_compression.py::test_exception_during_compression_at_remove[True] PASSED [ 51%] 219s tests/test_filesink_compression.py::test_exception_during_compression_at_remove[False] PASSED [ 51%] 219s tests/test_filesink_compression.py::test_invalid_compression[0] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_invalid_compression[True] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_invalid_compression[os] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_invalid_compression[compression3] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_invalid_compression[compression4] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_unknown_compression[rar] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_unknown_compression[.7z] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_unknown_compression[tar.zip] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_unknown_compression[__dict__] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_gzip_module_unavailable[gz] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_gzip_module_unavailable[tar.gz] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_bz2_module_unavailable[bz2] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_bz2_module_unavailable[tar.bz2] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_lzma_module_unavailable[xz] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_lzma_module_unavailable[lzma] PASSED [ 52%] 219s tests/test_filesink_compression.py::test_lzma_module_unavailable[tar.xz] PASSED [ 53%] 219s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar] PASSED [ 53%] 219s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar.gz] PASSED [ 53%] 219s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar.bz2] PASSED [ 53%] 219s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar.xz] PASSED [ 53%] 219s tests/test_filesink_compression.py::test_zipfile_module_unavailable[zip] PASSED [ 53%] 219s tests/test_filesink_delay.py::test_file_not_delayed PASSED [ 53%] 219s tests/test_filesink_delay.py::test_file_delayed PASSED [ 53%] 219s tests/test_filesink_delay.py::test_compression PASSED [ 53%] 219s tests/test_filesink_delay.py::test_compression_early_remove PASSED [ 53%] 219s tests/test_filesink_delay.py::test_retention PASSED [ 53%] 219s tests/test_filesink_delay.py::test_retention_early_remove PASSED [ 53%] 219s tests/test_filesink_delay.py::test_rotation PASSED [ 53%] 219s tests/test_filesink_delay.py::test_rotation_early_remove PASSED [ 53%] 220s tests/test_filesink_delay.py::test_rotation_and_retention PASSED [ 53%] 220s tests/test_filesink_delay.py::test_rotation_and_retention_timed_file PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_log_file_permissions[511] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_log_file_permissions[502] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_log_file_permissions[484] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_log_file_permissions[448] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_log_file_permissions[393] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_rotation_permissions[511] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_rotation_permissions[502] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_rotation_permissions[484] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_rotation_permissions[448] PASSED [ 54%] 220s tests/test_filesink_permissions.py::test_rotation_permissions[393] PASSED [ 54%] 220s tests/test_filesink_retention.py::test_retention_time[1 hour] PASSED [ 54%] 220s tests/test_filesink_retention.py::test_retention_time[1H] PASSED [ 54%] 220s tests/test_filesink_retention.py::test_retention_time[ 1 h ] PASSED [ 54%] 220s tests/test_filesink_retention.py::test_retention_time[retention3] PASSED [ 54%] 220s tests/test_filesink_retention.py::test_retention_count[0] PASSED [ 55%] 220s tests/test_filesink_retention.py::test_retention_count[1] PASSED [ 55%] 220s tests/test_filesink_retention.py::test_retention_count[10] PASSED [ 55%] 220s tests/test_filesink_retention.py::test_retention_function PASSED [ 55%] 220s tests/test_filesink_retention.py::test_managed_files PASSED [ 55%] 220s tests/test_filesink_retention.py::test_not_managed_files PASSED [ 55%] 220s tests/test_filesink_retention.py::test_no_duplicates_in_listed_files[test] PASSED [ 55%] 220s tests/test_filesink_retention.py::test_no_duplicates_in_listed_files[test.log] PASSED [ 55%] 220s tests/test_filesink_retention.py::test_directories_ignored PASSED [ 55%] 220s tests/test_filesink_retention.py::test_manage_formatted_files PASSED [ 55%] 220s tests/test_filesink_retention.py::test_date_with_dot_after_extension PASSED [ 55%] 220s tests/test_filesink_retention.py::test_symbol_in_filename PASSED [ 55%] 220s tests/test_filesink_retention.py::test_manage_file_without_extension PASSED [ 55%] 220s tests/test_filesink_retention.py::test_manage_formatted_files_without_extension PASSED [ 55%] 220s tests/test_filesink_retention.py::test_retention_at_rotation[a] PASSED [ 55%] 220s tests/test_filesink_retention.py::test_retention_at_rotation[a+] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_retention_at_rotation[w] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_retention_at_rotation[x] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[a] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[a+] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[w] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[x] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[w] PASSED [ 56%] 220s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[x] PASSED [ 56%] 221s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[a] PASSED [ 56%] 221s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[a+] PASSED [ 56%] 221s tests/test_filesink_retention.py::test_no_renaming PASSED [ 56%] 221s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation[True] PASSED [ 56%] 221s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation[False] PASSED [ 56%] 221s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation_not_caught[True] PASSED [ 56%] 221s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation_not_caught[False] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_exception_during_retention_at_remove[True] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_exception_during_retention_at_remove[False] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_invalid_retention[retention0] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_invalid_retention[os] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_invalid_retention[retention2] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[W5] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[monday at 14:00] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[sunday] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[nope] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[5 MB] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[3 hours 2 dayz] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[d] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[H] PASSED [ 57%] 221s tests/test_filesink_retention.py::test_unkown_retention[__dict__] PASSED [ 57%] 221s tests/test_filesink_rotation.py::test_renaming PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_no_renaming PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[8] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[8.0] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[7.99] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[8 B] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[8e-6MB] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[0.008 kiB] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_size_rotation[64b] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[13-hours0] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[13:00-hours1] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[13:00:00-hours2] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[13:00:00.123456-hours3] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[11:00-hours4] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[w0-hours5] PASSED [ 58%] 221s tests/test_filesink_rotation.py::test_time_rotation[W0 at 00:00-hours6] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[W6-hours7] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[saturday-hours8] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[w6 at 00-hours9] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[ W6 at 13 -hours10] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[w2 at 11:00:00 AM-hours11] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[MoNdAy at 11:00:30.123-hours12] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[sunday-hours13] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[SUNDAY at 11:00-hours14] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[sunDAY at 1:0:0.0 pm-hours15] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[when16-hours16] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[when17-hours17] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[2 h-hours18] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[1 hour-hours19] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[7 days-hours20] PASSED [ 59%] 221s tests/test_filesink_rotation.py::test_time_rotation[1h 30 minutes-hours21] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[1 w, 2D-hours22] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[1.5d-hours23] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[1.222 hours, 3.44s-hours24] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[when25-hours25] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[when26-hours26] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[hourly-hours27] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[daily-hours28] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[WEEKLY-hours29] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[mOnthLY-hours30] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[monthly-hours31] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation[Yearly -hours32] PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation_dst PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation_with_tzinfo_diff_bigger PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation_with_tzinfo_diff_lower PASSED [ 60%] 221s tests/test_filesink_rotation.py::test_time_rotation_with_tzinfo_utc PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_time_rotation_multiple_days_at_midnight_utc PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_daily_rotation_with_different_timezone[-3600] PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_daily_rotation_with_different_timezone[0] PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_daily_rotation_with_different_timezone[3600] PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation0] PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation1] PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation2] PASSED [ 61%] 221s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation3] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[03:30:00] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_when_positive_timezone_changes_forward[rotation0] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_when_positive_timezone_changes_forward[02:30:00] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation0] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation1] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation2] PASSED [ 61%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation3] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[03:30:00] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_when_negative_timezone_changes_forward[rotation0] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_when_negative_timezone_changes_forward[02:30:00] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_aware[rotation0] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_aware[rotation1] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_aware[rotation2] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_naive[rotation0] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_naive[02:30:00] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_aware[rotation0] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_aware[rotation1] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_aware[rotation2] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_naive[rotation0] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_naive[02:30:00] PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_time_rotation_when_timezone_changes_backward_rename_file PASSED [ 62%] 222s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[00:15] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation1] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation2] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation3] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation4] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[23:45] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation1] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation2] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation3] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation4] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_rotation_at_midnight_with_date_in_filename[timezone0] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_rotation_at_midnight_with_date_in_filename[timezone1] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_rotation_at_midnight_with_date_in_filename[timezone2] PASSED [ 63%] 222s tests/test_filesink_rotation.py::test_time_rotation_reopening_native[False] SKIPPED [ 63%] 222s tests/test_filesink_rotation.py::test_time_rotation_reopening_native[True] SKIPPED [ 63%] 227s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_attributeerror[False] PASSED [ 64%] 232s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_attributeerror[True] PASSED [ 64%] 237s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_oserror[False] PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_oserror[True] PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_time_rotation_windows_no_setctime SKIPPED [ 64%] 242s tests/test_filesink_rotation.py::test_time_rotation_windows_setctime_exception[ValueError] SKIPPED [ 64%] 242s tests/test_filesink_rotation.py::test_time_rotation_windows_setctime_exception[OSError] SKIPPED [ 64%] 242s tests/test_filesink_rotation.py::test_function_rotation PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_rotation_at_remove[w] PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_rotation_at_remove[x] PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_no_rotation_at_remove[a] PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_no_rotation_at_remove[a+] PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_rename_existing_with_creation_time PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_renaming_rotation_dest_exists PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_renaming_rotation_dest_exists_with_time PASSED [ 64%] 242s tests/test_filesink_rotation.py::test_exception_during_rotation PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_exception_during_rotation_not_caught PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_recipe_rotation_both_size_and_time PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_invalid_rotation[rotation0] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_invalid_rotation[os] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_invalid_rotation[rotation2] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_invalid_rotation[rotation3] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_invalid_rotation[1j] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[w7] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[w10] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[w-1] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[h] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[M] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[w1at13] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[www] PASSED [ 65%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[13 at w2] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[w] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[K] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[tufy MB] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[111.111.111 kb] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[3 Ki] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[2017.11.12] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[11:99] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[01:00:00!UTC] PASSED [ 66%] 242s tests/test_filesink_rotation.py::test_unknown_rotation[monday at 2017] PASSED [ 66%] 243s tests/test_filesink_rotation.py::test_unknown_rotation[e days] PASSED [ 66%] 243s tests/test_filesink_rotation.py::test_unknown_rotation[2 days 8 pouooi] PASSED [ 66%] 243s tests/test_filesink_rotation.py::test_unknown_rotation[foobar] PASSED [ 66%] 243s tests/test_filesink_rotation.py::test_unknown_rotation[w5 at [not|a|time]] PASSED [ 66%] 243s tests/test_filesink_rotation.py::test_unknown_rotation[[not|a|day] at 12:00] PASSED [ 67%] 243s tests/test_filesink_rotation.py::test_unknown_rotation[__dict__] PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_deleted_before_write_without_delay PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_deleted_before_write_with_delay PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_path_containing_placeholder PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_reopened_with_arguments PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_manually_changed PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_folder_deleted PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_deleted_before_rotation PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_deleted_before_compression PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_deleted_before_retention PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_correctly_reused_after_rotation PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_closed_without_being_logged[None-True] PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_closed_without_being_logged[None-False] PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_closed_without_being_logged[-True] PASSED [ 67%] 243s tests/test_filesink_watch.py::test_file_closed_without_being_logged[-False] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{name}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{time}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{elapsed}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{elapsed.seconds}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{line}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{level}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{level.name}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{level.no}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{level.icon}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{file}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{file.name}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{file.path}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{function}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{module}-] PASSED [ 68%] 243s tests/test_formatting.py::test_log_formatters[False-{thread}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-{thread.id}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-{thread.name}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-{process}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-{process.id}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-{process.name}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-{message}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[False-%s {{a}} \u5929 {{1}} %d-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{name}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{time}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{elapsed}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{elapsed.seconds}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{line}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{level}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{level.name}-] PASSED [ 69%] 243s tests/test_formatting.py::test_log_formatters[True-{level.no}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{level.icon}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{file}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{file.name}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{file.path}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{function}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{module}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{thread}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{thread.id}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{thread.name}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{process}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{process.id}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{process.name}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-{message}-] PASSED [ 70%] 243s tests/test_formatting.py::test_log_formatters[True-%s {{a}} \u5929 {{1}} %d-] PASSED [ 70%] 243s tests/test_formatting.py::test_file_formatters[file-{time}.log-] PASSED [ 71%] 243s tests/test_formatting.py::test_file_formatters[file-%s_{{a}}_\u5929_{{1}}_%d-] PASSED [ 71%] 243s tests/test_formatting.py::test_file_formatters[dir-{time}.log-] PASSED [ 71%] 243s tests/test_formatting.py::test_file_formatters[dir-%s_{{a}}_\u5929_{{1}}_%d-] PASSED [ 71%] 243s tests/test_formatting.py::test_file_formatters[both-{time}.log-] PASSED [ 71%] 243s tests/test_formatting.py::test_file_formatters[both-%s_{{a}}_\u5929_{{1}}_%d-] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{1, 2, 3} - {0} - {-args0-kwargs0-{1, 2, 3} - {0} - {] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{} + {} = {}-args1-kwargs1-1 + 2 = 3] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{a} + {b} = {c}-args2-kwargs2-1 + 2 = 3] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{0} + {two} = {1}-args3-kwargs3-1 + 2 = 3] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{self} or {message} or {level}-args4-kwargs4-a or b or c] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{:.2f}-args5-kwargs5-1.00] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{0:0{three}d}-args6-kwargs6-005] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[False-{{nope}} {my_dict} {}-args7-kwargs7-{nope} {'a': 1} {{!}}] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[True-{1, 2, 3} - {0} - {-args0-kwargs0-{1, 2, 3} - {0} - {] PASSED [ 71%] 243s tests/test_formatting.py::test_log_formatting[True-{} + {} = {}-args1-kwargs1-1 + 2 = 3] PASSED [ 72%] 243s tests/test_formatting.py::test_log_formatting[True-{a} + {b} = {c}-args2-kwargs2-1 + 2 = 3] PASSED [ 72%] 243s tests/test_formatting.py::test_log_formatting[True-{0} + {two} = {1}-args3-kwargs3-1 + 2 = 3] PASSED [ 72%] 243s tests/test_formatting.py::test_log_formatting[True-{self} or {message} or {level}-args4-kwargs4-a or b or c] PASSED [ 72%] 243s tests/test_formatting.py::test_log_formatting[True-{:.2f}-args5-kwargs5-1.00] PASSED [ 72%] 243s tests/test_formatting.py::test_log_formatting[True-{0:0{three}d}-args6-kwargs6-005] PASSED [ 72%] 243s tests/test_formatting.py::test_log_formatting[True-{{nope}} {my_dict} {}-args7-kwargs7-{nope} {'a': 1} {{!}}] PASSED [ 72%] 243s tests/test_formatting.py::test_f_globals_name_absent PASSED [ 72%] 243s tests/test_formatting.py::test_extra_formatting PASSED [ 72%] 243s tests/test_formatting.py::test_kwargs_in_extra_dict PASSED [ 72%] 243s tests/test_formatting.py::test_non_string_message PASSED [ 72%] 243s tests/test_formatting.py::test_non_string_message_is_str_in_record[True] PASSED [ 72%] 243s tests/test_formatting.py::test_non_string_message_is_str_in_record[False] PASSED [ 72%] 243s tests/test_formatting.py::test_missing_positional_field_during_formatting[True] PASSED [ 72%] 243s tests/test_formatting.py::test_missing_positional_field_during_formatting[False] PASSED [ 72%] 243s tests/test_formatting.py::test_missing_named_field_during_formatting[True] PASSED [ 73%] 243s tests/test_formatting.py::test_missing_named_field_during_formatting[False] PASSED [ 73%] 243s tests/test_formatting.py::test_not_formattable_message PASSED [ 73%] 243s tests/test_formatting.py::test_not_formattable_message_with_colors PASSED [ 73%] 243s tests/test_formatting.py::test_invalid_color_markup PASSED [ 73%] 243s tests/test_get_frame.py::test_with_sys_getframe PASSED [ 73%] 243s tests/test_get_frame.py::test_without_sys_getframe PASSED [ 73%] 243s tests/test_get_frame.py::test_get_frame_fallback PASSED [ 73%] 243s tests/test_interception.py::test_formatting PASSED [ 73%] 243s tests/test_interception.py::test_intercept PASSED [ 73%] 243s tests/test_interception.py::test_add_before_intercept PASSED [ 73%] 243s tests/test_interception.py::test_remove_interception PASSED [ 73%] 243s tests/test_interception.py::test_intercept_too_low PASSED [ 73%] 243s tests/test_interception.py::test_multiple_intercept PASSED [ 73%] 243s tests/test_interception.py::test_exception PASSED [ 73%] 243s tests/test_interception.py::test_level_is_no PASSED [ 74%] 243s tests/test_interception.py::test_level_does_not_exist PASSED [ 74%] 243s tests/test_interception.py::test_level_exist_builtin PASSED [ 74%] 243s tests/test_interception.py::test_level_exists_custom PASSED [ 74%] 243s tests/test_interception.py::test_using_logging_function PASSED [ 74%] 243s tests/test_levels.py::test_log_int_level PASSED [ 74%] 243s tests/test_levels.py::test_log_str_level PASSED [ 74%] 243s tests/test_levels.py::test_add_level PASSED [ 74%] 243s tests/test_levels.py::test_add_level_after_add[False-foo | 10 | a] PASSED [ 74%] 243s tests/test_levels.py::test_add_level_after_add[True-\x1b[31mfoo | 10 | a\x1b[0m] PASSED [ 74%] 243s tests/test_levels.py::test_add_level_then_log_with_int_value PASSED [ 74%] 243s tests/test_levels.py::test_add_malicious_level PASSED [ 74%] 243s tests/test_levels.py::test_add_existing_level PASSED [ 74%] 243s tests/test_levels.py::test_blank_color PASSED [ 74%] 243s tests/test_levels.py::test_edit_level PASSED [ 74%] 243s tests/test_levels.py::test_edit_existing_level PASSED [ 75%] 243s tests/test_levels.py::test_get_level PASSED [ 75%] 243s tests/test_levels.py::test_get_existing_level PASSED [ 75%] 243s tests/test_levels.py::test_add_custom_level PASSED [ 75%] 244s tests/test_levels.py::test_updating_min_level PASSED [ 75%] 244s tests/test_levels.py::test_assign_custom_level_method PASSED [ 75%] 244s tests/test_levels.py::test_updating_level_no_not_allowed_default PASSED [ 75%] 244s tests/test_levels.py::test_updating_level_no_not_allowed_custom PASSED [ 75%] 244s tests/test_levels.py::test_log_invalid_level_type[3.4] PASSED [ 75%] 244s tests/test_levels.py::test_log_invalid_level_type[level1] PASSED [ 75%] 244s tests/test_levels.py::test_log_invalid_level_type[level2] PASSED [ 75%] 244s tests/test_levels.py::test_log_invalid_level_value[-1] PASSED [ 75%] 244s tests/test_levels.py::test_log_invalid_level_value[-999] PASSED [ 75%] 244s tests/test_levels.py::test_log_unknown_level[foo] PASSED [ 75%] 244s tests/test_levels.py::test_log_unknown_level[debug] PASSED [ 75%] 244s tests/test_levels.py::test_add_invalid_level_name[10] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_name[level_name1] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_name[level_name2] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_type[1] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_type[level_value1] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_type[3.4] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_type[level_value3] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_value[-1] PASSED [ 76%] 244s tests/test_levels.py::test_add_invalid_level_value[-999] PASSED [ 76%] 244s tests/test_levels.py::test_get_invalid_level[10] PASSED [ 76%] 244s tests/test_levels.py::test_get_invalid_level[level1] PASSED [ 76%] 244s tests/test_levels.py::test_get_invalid_level[level2] PASSED [ 76%] 244s tests/test_levels.py::test_get_unknown_level PASSED [ 76%] 244s tests/test_levels.py::test_edit_invalid_level[10] PASSED [ 76%] 244s tests/test_levels.py::test_edit_invalid_level[level1] PASSED [ 76%] 244s tests/test_levels.py::test_edit_invalid_level[level2] PASSED [ 77%] 244s tests/test_levels.py::test_edit_unknown_level[foo] PASSED [ 77%] 244s tests/test_levels.py::test_edit_unknown_level[debug] PASSED [ 77%] 244s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%] 244s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%] 244s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%] 244s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%] 244s tests/test_levels.py::test_add_invalid_level_color[ ] PASSED [ 77%] 244s tests/test_locks.py::test_no_deadlock_on_generational_garbage_collection PASSED [ 77%] 244s tests/test_locks.py::test_no_deadlock_if_logger_used_inside_sink_with_catch PASSED [ 77%] 244s tests/test_locks.py::test_no_deadlock_if_logger_used_inside_sink_without_catch PASSED [ 77%] 245s tests/test_locks.py::test_no_error_if_multithreading PASSED [ 77%] 245s tests/test_locks.py::test_pickled_logger_does_not_inherit_acquired_local PASSED [ 77%] 246s tests/test_multiprocessing.py::test_apply_spawn PASSED [ 77%] 246s tests/test_multiprocessing.py::test_apply_fork PASSED [ 77%] 246s tests/test_multiprocessing.py::test_apply_inheritance PASSED [ 78%] 246s tests/test_multiprocessing.py::test_apply_async_spawn PASSED [ 78%] 246s tests/test_multiprocessing.py::test_apply_async_fork PASSED [ 78%] 246s tests/test_multiprocessing.py::test_apply_async_inheritance PASSED [ 78%] 246s tests/test_multiprocessing.py::test_process_spawn PASSED [ 78%] 247s tests/test_multiprocessing.py::test_process_fork PASSED [ 78%] 247s tests/test_multiprocessing.py::test_process_inheritance PASSED [ 78%] 247s tests/test_multiprocessing.py::test_remove_in_child_process_spawn PASSED [ 78%] 247s tests/test_multiprocessing.py::test_remove_in_child_process_fork PASSED [ 78%] 247s tests/test_multiprocessing.py::test_remove_in_child_process_inheritance PASSED [ 78%] 248s tests/test_multiprocessing.py::test_remove_in_main_process_spawn PASSED [ 78%] 248s tests/test_multiprocessing.py::test_remove_in_main_process_fork PASSED [ 78%] 249s tests/test_multiprocessing.py::test_remove_in_main_process_inheritance PASSED [ 78%] 249s tests/test_multiprocessing.py::test_await_complete_spawn PASSED [ 78%] 249s tests/test_multiprocessing.py::test_await_complete_fork PASSED [ 78%] 249s tests/test_multiprocessing.py::test_await_complete_inheritance PASSED [ 79%] 250s tests/test_multiprocessing.py::test_not_picklable_sinks_spawn PASSED [ 79%] 250s tests/test_multiprocessing.py::test_not_picklable_sinks_fork PASSED [ 79%] 250s tests/test_multiprocessing.py::test_not_picklable_sinks_inheritance PASSED [ 79%] 251s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[True-True] PASSED [ 79%] 252s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[True-False] PASSED [ 79%] 253s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[False-True] PASSED [ 79%] 254s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[False-False] PASSED [ 79%] 256s tests/test_multiprocessing.py::test_no_deadlock_if_external_lock_in_use[True] PASSED [ 79%] 258s tests/test_multiprocessing.py::test_no_deadlock_if_external_lock_in_use[False] PASSED [ 79%] 259s tests/test_multiprocessing.py::test_complete_from_multiple_child_processes PASSED [ 79%] 259s tests/test_opt.py::test_record PASSED [ 79%] 259s tests/test_opt.py::test_record_in_kwargs_too PASSED [ 79%] 259s tests/test_opt.py::test_record_not_in_extra PASSED [ 79%] 259s tests/test_opt.py::test_kwargs_in_extra_of_record PASSED [ 79%] 259s tests/test_opt.py::test_exception_boolean PASSED [ 80%] 259s tests/test_opt.py::test_exception_exc_info PASSED [ 80%] 259s tests/test_opt.py::test_exception_class PASSED [ 80%] 259s tests/test_opt.py::test_exception_log_funcion PASSED [ 80%] 259s tests/test_opt.py::test_lazy PASSED [ 80%] 259s tests/test_opt.py::test_logging_within_lazy_function PASSED [ 80%] 259s tests/test_opt.py::test_depth PASSED [ 80%] 259s tests/test_opt.py::test_capture PASSED [ 80%] 259s tests/test_opt.py::test_colors PASSED [ 80%] 259s tests/test_opt.py::test_colors_not_colorize PASSED [ 80%] 259s tests/test_opt.py::test_colors_doesnt_color_unrelated PASSED [ 80%] 259s tests/test_opt.py::test_colors_doesnt_strip_unrelated PASSED [ 80%] 259s tests/test_opt.py::test_colors_doesnt_raise_unrelated_colorize PASSED [ 80%] 259s tests/test_opt.py::test_colors_doesnt_raise_unrelated_not_colorize PASSED [ 80%] 259s tests/test_opt.py::test_colors_doesnt_raise_unrelated_colorize_dynamic PASSED [ 80%] 259s tests/test_opt.py::test_colors_doesnt_raise_unrelated_not_colorize_dynamic PASSED [ 81%] 259s tests/test_opt.py::test_colors_within_record[True] PASSED [ 81%] 259s tests/test_opt.py::test_colors_within_record[False] PASSED [ 81%] 259s tests/test_opt.py::test_colors_nested[True] PASSED [ 81%] 259s tests/test_opt.py::test_colors_nested[False] PASSED [ 81%] 259s tests/test_opt.py::test_colors_stripped_in_message_record[True] PASSED [ 81%] 259s tests/test_opt.py::test_colors_stripped_in_message_record[False] PASSED [ 81%] 259s tests/test_opt.py::test_invalid_markup_in_message[True-] PASSED [ 81%] 259s tests/test_opt.py::test_invalid_markup_in_message[True-] PASSED [ 81%] 259s tests/test_opt.py::test_invalid_markup_in_message[True-X Y] PASSED [ 81%] 259s tests/test_opt.py::test_invalid_markup_in_message[False-] PASSED [ 81%] 259s tests/test_opt.py::test_invalid_markup_in_message[False-] PASSED [ 81%] 259s tests/test_opt.py::test_invalid_markup_in_message[False-X Y] PASSED [ 81%] 259s tests/test_opt.py::test_colors_with_args[True] PASSED [ 81%] 259s tests/test_opt.py::test_colors_with_args[False] PASSED [ 81%] 259s tests/test_opt.py::test_colors_with_level[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_level[False] PASSED [ 82%] 259s tests/test_opt.py::test_colors_double_message[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_double_message[False] PASSED [ 82%] 259s tests/test_opt.py::test_colors_multiple_calls[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_multiple_calls[False] PASSED [ 82%] 259s tests/test_opt.py::test_colors_multiple_calls_level_color_changed[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_multiple_calls_level_color_changed[False] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_dynamic_formatter[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_dynamic_formatter[False] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_format_specs[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_format_specs[False] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_message_specs[True] PASSED [ 82%] 259s tests/test_opt.py::test_colors_with_message_specs[False] PASSED [ 82%] 259s tests/test_opt.py::test_colored_string_used_as_spec[True] PASSED [ 82%] 259s tests/test_opt.py::test_colored_string_used_as_spec[False] PASSED [ 83%] 259s tests/test_opt.py::test_colored_string_getitem[True] PASSED [ 83%] 259s tests/test_opt.py::test_colored_string_getitem[False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_without_formatting_args[True] PASSED [ 83%] 259s tests/test_opt.py::test_colors_without_formatting_args[False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_format[True] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_format[False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_message[True] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_message[False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_auto_indexing[True] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_auto_indexing[False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_manual_indexing[True] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_manual_indexing[False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_invalid_indexing[{} {0}-True] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_invalid_indexing[{} {0}-False] PASSED [ 83%] 259s tests/test_opt.py::test_colors_with_invalid_indexing[{1} {}-True] PASSED [ 84%] 259s tests/test_opt.py::test_colors_with_invalid_indexing[{1} {}-False] PASSED [ 84%] 259s tests/test_opt.py::test_raw PASSED [ 84%] 259s tests/test_opt.py::test_raw_with_format_function PASSED [ 84%] 259s tests/test_opt.py::test_raw_with_colors[True] PASSED [ 84%] 259s tests/test_opt.py::test_raw_with_colors[False] PASSED [ 84%] 259s tests/test_opt.py::test_args_with_colors_not_formatted_twice PASSED [ 84%] 259s tests/test_opt.py::test_level_tag_wrapping_with_colors[True] PASSED [ 84%] 260s tests/test_opt.py::test_level_tag_wrapping_with_colors[False] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-True-True] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-True-False] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-False-True] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-False-False] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-True-True] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-True-False] PASSED [ 84%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-False-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-False-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-True-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-True-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-False-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-False-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-True-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-True-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-False-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-False-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-True-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-True-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-False-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-False-False] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-True-True] PASSED [ 85%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-True-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-False-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-False-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-True-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-True-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-False-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-False-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-True-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-True-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-False-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-False-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-True-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-True-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-False-True] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-False-False] PASSED [ 86%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-True-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-True-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-False-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-False-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-True-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-True-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-False-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-False-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-True-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-True-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-False-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-False-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-True-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-True-False] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-False-True] PASSED [ 87%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-False-False] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-True-True] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-True-False] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-False-True] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-False-False] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-True-True] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-True-False] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-False-True] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-False-False] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-True-True] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-True-False] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-False-True] PASSED [ 88%] 260s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-False-False] PASSED [ 88%] 260s tests/test_opt.py::test_raw_with_record PASSED [ 88%] 260s tests/test_opt.py::test_keep_extra PASSED [ 88%] 260s tests/test_opt.py::test_before_bind PASSED [ 89%] 260s tests/test_opt.py::test_deprecated_ansi_argument PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_patch[True] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_patch[False] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_format[True] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_format[False] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_filter[True] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_filter[False] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_raw[True] PASSED [ 89%] 260s tests/test_opt.py::test_message_update_not_overridden_by_raw[False] PASSED [ 89%] 260s tests/test_opt.py::test_overridden_message_ignore_colors PASSED [ 89%] 260s tests/test_parse.py::test_parse_file PASSED [ 89%] 260s tests/test_parse.py::test_parse_fileobj PASSED [ 89%] 260s tests/test_parse.py::test_parse_pathlib PASSED [ 89%] 260s tests/test_parse.py::test_parse_string_pattern PASSED [ 89%] 260s tests/test_parse.py::test_parse_regex_pattern PASSED [ 90%] 260s tests/test_parse.py::test_parse_multiline_pattern PASSED [ 90%] 260s tests/test_parse.py::test_parse_without_group PASSED [ 90%] 260s tests/test_parse.py::test_parse_bytes PASSED [ 90%] 260s tests/test_parse.py::test_chunk[-1] PASSED [ 90%] 260s tests/test_parse.py::test_chunk[1] PASSED [ 90%] 260s tests/test_parse.py::test_chunk[65536] PASSED [ 90%] 260s tests/test_parse.py::test_positive_lookbehind_pattern PASSED [ 90%] 260s tests/test_parse.py::test_greedy_pattern PASSED [ 90%] 260s tests/test_parse.py::test_cast_dict PASSED [ 90%] 260s tests/test_parse.py::test_cast_function PASSED [ 90%] 260s tests/test_parse.py::test_cast_with_irrelevant_arg PASSED [ 90%] 260s tests/test_parse.py::test_cast_with_irrelevant_value PASSED [ 90%] 260s tests/test_parse.py::test_invalid_file[file0] PASSED [ 90%] 260s tests/test_parse.py::test_invalid_file[123] PASSED [ 90%] 260s tests/test_parse.py::test_invalid_file[dict] PASSED [ 91%] 260s tests/test_parse.py::test_invalid_pattern[pattern0] PASSED [ 91%] 260s tests/test_parse.py::test_invalid_pattern[123] PASSED [ 91%] 260s tests/test_parse.py::test_invalid_pattern[dict] PASSED [ 91%] 260s tests/test_parse.py::test_invalid_cast[cast0] PASSED [ 91%] 260s tests/test_parse.py::test_invalid_cast[123] PASSED [ 91%] 260s tests/test_patch.py::test_patch_after_add PASSED [ 91%] 260s tests/test_patch.py::test_patch_before_add PASSED [ 91%] 260s tests/test_patch.py::test_add_using_patched PASSED [ 91%] 260s tests/test_patch.py::test_not_override_parent_logger PASSED [ 91%] 260s tests/test_patch.py::test_override_previous_patched PASSED [ 91%] 260s tests/test_patch.py::test_no_conflict PASSED [ 91%] 260s tests/test_patch.py::test_override_configured PASSED [ 91%] 260s tests/test_patch.py::test_multiple_patches PASSED [ 91%] 260s tests/test_pickling.py::test_pickling_function_handler PASSED [ 91%] 260s tests/test_pickling.py::test_pickling_coroutine_function_handler PASSED [ 92%] 260s tests/test_pickling.py::test_pickling_stream_handler[True-True] PASSED [ 92%] 260s tests/test_pickling.py::test_pickling_stream_handler[True-False] PASSED [ 92%] 260s tests/test_pickling.py::test_pickling_stream_handler[False-True] PASSED [ 92%] 260s tests/test_pickling.py::test_pickling_stream_handler[False-False] PASSED [ 92%] 260s tests/test_pickling.py::test_pickling_standard_handler FAILED [ 92%] 260s tests/test_pickling.py::test_pickling_standard_handler_root_logger_not_picklable FAILED [ 92%] 260s tests/test_pickling.py::test_pickling_file_handler PASSED [ 92%] 260s tests/test_pickling.py::test_pickling_file_handler_rotation[1000] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[daily] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[rotation2] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[rotation3] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[200 MB] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[10:00] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[5 hours] PASSED [ 92%] 261s tests/test_pickling.py::test_pickling_file_handler_rotation[rotation_function] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_retention[1000] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_retention[retention1] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_retention[10 days] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_retention[retention_function] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_compression[zip] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_compression[gz] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_compression[tar] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_file_handler_compression[compression_function] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_no_handler PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_handler_not_serializable PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_filter_function PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_filter_name[] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_filter_name[tests] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_format_string[True] PASSED [ 93%] 261s tests/test_pickling.py::test_pickling_format_string[False] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_format_function[True] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_format_function[False] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_filter_function_not_serializable PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_format_function_not_serializable PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_bound_logger PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_patched_logger PASSED [ 94%] 261s tests/test_pickling.py::test_remove_after_pickling PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_logging_method PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_log_method PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_no_error[add] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_no_error[remove] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_no_error[catch] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_no_error[opt] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_no_error[bind] PASSED [ 94%] 261s tests/test_pickling.py::test_pickling_no_error[patch] PASSED [ 95%] 261s tests/test_pickling.py::test_pickling_no_error[level] PASSED [ 95%] 261s tests/test_pickling.py::test_pickling_no_error[disable] PASSED [ 95%] 261s tests/test_pickling.py::test_pickling_no_error[enable] PASSED [ 95%] 261s tests/test_pickling.py::test_pickling_no_error[configure] PASSED [ 95%] 261s tests/test_pickling.py::test_pickling_no_error[parse] PASSED [ 95%] 261s tests/test_pickling.py::test_pickling_no_error[exception] PASSED [ 95%] 261s tests/test_propagation.py::test_formatting PASSED [ 95%] 261s tests/test_propagation.py::test_propagate PASSED [ 95%] 261s tests/test_propagation.py::test_remove_propagation PASSED [ 95%] 261s tests/test_propagation.py::test_propagate_too_high PASSED [ 95%] 261s tests/test_propagation.py::test_exception[False] PASSED [ 95%] 261s tests/test_propagation.py::test_exception[True] PASSED [ 95%] 261s tests/test_recattr.py::test_patch_record_file PASSED [ 95%] 261s tests/test_recattr.py::test_patch_record_thread PASSED [ 95%] 261s tests/test_recattr.py::test_patch_record_process PASSED [ 96%] 261s tests/test_recattr.py::test_patch_record_exception PASSED [ 96%] 261s tests/test_recattr.py::test_level_repr PASSED [ 96%] 261s tests/test_recattr.py::test_file_repr PASSED [ 96%] 261s tests/test_recattr.py::test_thread_repr PASSED [ 96%] 261s tests/test_recattr.py::test_process_repr PASSED [ 96%] 261s tests/test_recattr.py::test_exception_repr PASSED [ 96%] 261s tests/test_remove.py::test_remove_all PASSED [ 96%] 261s tests/test_remove.py::test_remove_simple PASSED [ 96%] 261s tests/test_remove.py::test_remove_enqueue PASSED [ 96%] 261s tests/test_remove.py::test_remove_enqueue_filesink PASSED [ 96%] 261s tests/test_remove.py::test_exception_in_stop_during_remove_one PASSED [ 96%] 261s tests/test_remove.py::test_exception_in_stop_not_caught_during_remove_all PASSED [ 96%] 261s tests/test_remove.py::test_invalid_handler_id_value PASSED [ 96%] 261s tests/test_remove.py::test_invalid_handler_id_type[handler_id0] PASSED [ 96%] 261s tests/test_remove.py::test_invalid_handler_id_type[sys] PASSED [ 97%] 261s tests/test_remove.py::test_invalid_handler_id_type[handler_id2] PASSED [ 97%] 261s tests/test_remove.py::test_invalid_handler_id_type[int] PASSED [ 97%] 261s tests/test_repr.py::test_no_handler PASSED [ 97%] 261s tests/test_repr.py::test_stderr PASSED [ 97%] 261s tests/test_repr.py::test_stdout PASSED [ 97%] 261s tests/test_repr.py::test_file_object PASSED [ 97%] 261s tests/test_repr.py::test_file_str PASSED [ 97%] 261s tests/test_repr.py::test_file_pathlib PASSED [ 97%] 261s tests/test_repr.py::test_stream_object PASSED [ 97%] 261s tests/test_repr.py::test_stream_object_without_name_attr PASSED [ 97%] 261s tests/test_repr.py::test_stream_object_with_empty_name PASSED [ 97%] 261s tests/test_repr.py::test_function PASSED [ 97%] 261s tests/test_repr.py::test_callable_without_name PASSED [ 97%] 261s tests/test_repr.py::test_callable_with_empty_name PASSED [ 97%] 261s tests/test_repr.py::test_coroutine_function PASSED [ 98%] 261s tests/test_repr.py::test_coroutine_callable_without_name PASSED [ 98%] 261s tests/test_repr.py::test_coroutine_function_with_empty_name PASSED [ 98%] 261s tests/test_repr.py::test_standard_handler PASSED [ 98%] 261s tests/test_repr.py::test_multiple_handlers PASSED [ 98%] 261s tests/test_repr.py::test_handler_removed PASSED [ 98%] 261s tests/test_repr.py::test_handler_level_name PASSED [ 98%] 261s tests/test_repr.py::test_handler_level_num PASSED [ 98%] 261s tests/test_standard_handler.py::test_stream_handler PASSED [ 98%] 261s tests/test_standard_handler.py::test_file_handler PASSED [ 98%] 261s tests/test_standard_handler.py::test_null_handler PASSED [ 98%] 261s tests/test_standard_handler.py::test_extra_dict PASSED [ 98%] 261s tests/test_standard_handler.py::test_no_conflict_with_extra_dict PASSED [ 98%] 261s tests/test_standard_handler.py::test_no_exception PASSED [ 98%] 261s tests/test_standard_handler.py::test_exception PASSED [ 98%] 261s tests/test_standard_handler.py::test_exception_formatting PASSED [ 99%] 261s tests/test_standard_handler.py::test_standard_formatter[False] PASSED [ 99%] 261s tests/test_standard_handler.py::test_standard_formatter[True] PASSED [ 99%] 261s tests/test_standard_handler.py::test_standard_formatter_with_new_line[False] PASSED [ 99%] 261s tests/test_standard_handler.py::test_standard_formatter_with_new_line[True] PASSED [ 99%] 261s tests/test_standard_handler.py::test_raw_standard_formatter[False] PASSED [ 99%] 261s tests/test_standard_handler.py::test_raw_standard_formatter[True] PASSED [ 99%] 261s tests/test_standard_handler.py::test_raw_standard_formatter_with_new_line[False] PASSED [ 99%] 261s tests/test_standard_handler.py::test_raw_standard_formatter_with_new_line[True] PASSED [ 99%] 263s tests/test_threading.py::test_safe_logging PASSED [ 99%] 266s tests/test_threading.py::test_safe_adding_while_logging PASSED [ 99%] 267s tests/test_threading.py::test_safe_removing_while_logging PASSED [ 99%] 268s tests/test_threading.py::test_safe_writing_after_removing PASSED [ 99%] 272s tests/test_threading.py::test_heavily_threaded_logging PASSED [ 99%] 279s tests/test_type_hinting.py::test_mypy_import PASSED [100%] 279s 279s =================================== FAILURES =================================== 279s ________________________ test_file_sink_ascii_encoding _________________________ 279s 279s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_file_sink_ascii_encoding1') 279s 279s > ??? 279s E assert 0 == 1 279s E + where 0 = ("-> '\\u5929'") 279s E + where = '\nTraceback (most recent call last):\n\n File "", line 198, in _run_module_as_main\n File "", line 88, in _run_code\n File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in \n raise SystemExit(pytest.console_main())\n File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main\n code = main()\n File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main\n ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)\n File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__\n return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec\n return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall\n res = hook_impl.function(*args)\n File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main\n return wrap_session(config, _main)\n File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap...(hook_name, methods, kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall\n res = hook_impl.function(*args)\n File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call\n item.runtest()\n File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest\n self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__\n return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec\n return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall\n res = hook_impl.function(*args)\n File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call\n result = testfunction(**testargs)\n\n> File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/test_exceptions_catch.py", line 73, in test_file_sink_ascii_encoding\n "\\u5929" * a\n\nTypeError: can\'t multiply sequence by non-int of type \'str\'\n'.count 279s 279s tests/test_exceptions_catch.py:80: AssertionError 279s _________________________ test_file_sink_utf8_encoding _________________________ 279s 279s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_file_sink_utf8_encoding1') 279s 279s def test_file_sink_utf8_encoding(tmp_path): 279s file = tmp_path / "test.log" 279s logger.add(file, format="", encoding="utf8", errors="strict", catch=False) 279s a = "天" 279s 279s try: 279s "天" * a 279s except Exception: 279s logger.exception("") 279s 279s logger.remove() 279s result = file.read_text("utf8") 279s assert result.count('"天" * a') == 1 279s > assert result.count("└ '天'") == 1 279s E assert 0 == 1 279s E + where 0 = ("└ '天'") 279s E + where = '\nTraceback (most recent call last):\n\n File "", line 198, in _run_module_as_main\n File "", line 88, in _run_code\n File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in \n raise SystemExit(pytest.console_main())\n File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201, in console_main\n code = main()\n File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175, in main\n ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)\n File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__\n return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec\n return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall\n res = hook_impl.function(*args)\n File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in pytest_cmdline_main\n return wrap_session(config, _main)\n File "/usr/lib/python3/dist-packages/_pytest/main.py", line 283, in wrap...ookexec(hook_name, methods, kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall\n res = hook_impl.function(*args)\n File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call\n item.runtest()\n File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest\n self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__\n return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec\n return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall\n res = hook_impl.function(*args)\n File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call\n result = testfunction(**testargs)\n\n> File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/test_exceptions_catch.py", line 89, in test_file_sink_utf8_encoding\n "天" * a\n\nTypeError: can\'t multiply sequence by non-int of type \'str\'\n'.count 279s 279s tests/test_exceptions_catch.py:96: AssertionError 279s ________________________ test_diagnose[assertion_error] ________________________ 279s 279s filename = 'assertion_error' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'assertion_error' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...1m60\x1b[0m\n' == '\n\x1b[33m\x...1m60\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/assertion_error.py", line 14, in  279s E foo(9, 55) 279s E - └ ... 279s E 279s E ...Full output truncated (7 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/assertion_error.py", line 14, in  279s foo(9, 55) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/assertion_error.py", line 10, in foo 279s assert abc > 10 and xyz == 60 279s 279s AssertionError: assert abc > 10 and xyz == 60 279s 279s ____________________ test_diagnose[assertion_error_custom] _____________________ 279s 279s filename = 'assertion_error_custom' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'assertion_error_custom' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...iled\x1b[0m\n' == '\n\x1b[33m\x...iled\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/assertion_error_custom.py", line 14, in  279s E foo(9, 55) 279s E - └ ... 279s E 279s E ...Full output truncated (7 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/assertion_error_custom.py", line 14, in  279s foo(9, 55) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/assertion_error_custom.py", line 10, in foo 279s assert abc > 10 and xyz == 60, "Foo assertion failed" 279s 279s AssertionError: Foo assertion failed 279s 279s ___________________ test_diagnose[assertion_error_in_string] ___________________ 279s 279s filename = 'assertion_error_in_string' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'assertion_error_in_string' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...rror\x1b[0m\n' == '\n\x1b[33m\x...rror\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/assertion_error_in_string.py", line 14, in  279s E foo(9, 55) 279s E - └ ... 279s E 279s E ...Full output truncated (7 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/assertion_error_in_string.py", line 14, in  279s foo(9, 55) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/assertion_error_in_string.py", line 10, in foo 279s exec("assert abc > 10 and xyz == 60") 279s 279s File "", line 1, in 279s 279s AssertionError 279s 279s __________________________ test_diagnose[attributes] ___________________________ 279s 279s filename = 'attributes' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'attributes' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert "\n\x1b[33m\x...int'\x1b[0m\n" == "\n\x1b[33m\x...int'\x1b[0m\n" 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/attributes.py", line 26, in  279s E foo() 279s E - └ ... 279s E 279s E ...Full output truncated (14 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/attributes.py", line 26, in  279s foo() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/attributes.py", line 22, in foo 279s ... + 1 + bar(a).b + a.forbidden + a.nope.a + x.__bool__ or a. b . isdigit() and .3 + ... 279s 279s TypeError: unsupported operand type(s) for +: 'ellipsis' and 'int' 279s 279s _________________________ test_diagnose[chained_both] __________________________ 279s 279s filename = 'chained_both' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'chained_both' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...rror\x1b[0m\n' == '\n\x1b[33m\x...rror\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/chained_both.py", line 15, in cause 279s E div(x, y) 279s E - │ │ └ 0... 279s E 279s E ...Full output truncated (41 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/chained_both.py", line 15, in cause 279s div(x, y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/chained_both.py", line 10, in div 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s 279s During handling of the above exception, another exception occurred: 279s 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/chained_both.py", line 22, in context 279s cause(x, y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/chained_both.py", line 17, in cause 279s raise ValueError("Division error") 279s 279s ValueError: Division error 279s 279s 279s The above exception was the direct cause of the following exception: 279s 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/chained_both.py", line 28, in  279s context(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/chained_both.py", line 24, in context 279s raise ValueError("Cause error") from e 279s 279s ValueError: Cause error 279s 279s ___________________________ test_diagnose[encoding] ____________________________ 279s 279s filename = 'encoding' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'encoding' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert "\n\x1b[33m\x...str'\x1b[0m\n" == "\n\x1b[33m\x...str'\x1b[0m\n" 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/encoding.py", line 18, in  279s E div() 279s E - └ ... 279s E 279s E ...Full output truncated (10 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/encoding.py", line 18, in  279s div() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/encoding.py", line 14, in div 279s return _deep("天") 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/encoding.py", line 10, in _deep 279s return 1 / val 279s 279s TypeError: unsupported operand type(s) for /: 'int' and 'str' 279s 279s ________________________ test_diagnose[global_variable] ________________________ 279s 279s filename = 'global_variable' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'global_variable' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/global_variable.py", line 19, in  279s E func() 279s E - └ ... 279s E 279s E ...Full output truncated (7 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/global_variable.py", line 19, in  279s func() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/global_variable.py", line 15, in func 279s return 1 / 0 + foo + bar + False 279s 279s ZeroDivisionError: division by zero 279s 279s _______________________ test_diagnose[indentation_error] _______________________ 279s 279s filename = 'indentation_error' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'indentation_error' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...dent\x1b[0m\n' == '\n\x1b[33m\x...dent\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/indentation_error.py", line 17, in  279s E exec(code) 279s E -  └ '\nif True:\n a = 5\n print("foobar") #intentional faulty indentation here.\n b = 7\n'... 279s E 279s E ...Full output truncated (5 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/indentation_error.py", line 17, in  279s exec(code) 279s 279s File "", line 4 279s print("foobar") #intentional faulty indentation here. 279s 279s IndentationError: unexpected indent 279s 279s _______________________ test_diagnose[keyword_argument] ________________________ 279s 279s filename = 'keyword_argument' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'keyword_argument' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/keyword_argument.py", line 16, in  279s E f(x=y) 279s E - │ └ 0... 279s E 279s E ...Full output truncated (20 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/keyword_argument.py", line 16, in  279s f(x=y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/keyword_argument.py", line 10, in f 279s return 1 / x 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/keyword_argument.py", line 21, in  279s f(x=x) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/keyword_argument.py", line 10, in f 279s return 1 / x 279s 279s ZeroDivisionError: division by zero 279s 279s ________________________ test_diagnose[multilines_repr] ________________________ 279s 279s filename = 'multilines_repr' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'multilines_repr' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert "\n\x1b[33m\x... 'A'\x1b[0m\n" == "\n\x1b[33m\x... 'A'\x1b[0m\n" 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/multilines_repr.py", line 20, in  279s E multiline() 279s E - └ ... 279s E 279s E ...Full output truncated (11 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/multilines_repr.py", line 20, in  279s multiline() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/multilines_repr.py", line 16, in multiline 279s a + b 279s 279s TypeError: unsupported operand type(s) for +: 'A' and 'A' 279s 279s _______________________ test_diagnose[no_error_message] ________________________ 279s 279s filename = 'no_error_message' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'no_error_message' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...rror\x1b[0m\n' == '\n\x1b[33m\x...rror\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/no_error_message.py", line 18, in  279s E bar() 279s E - └ ... 279s E 279s E ...Full output truncated (9 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/no_error_message.py", line 18, in  279s bar() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/no_error_message.py", line 14, in bar 279s foo() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/no_error_message.py", line 10, in foo 279s raise ValueError("") 279s 279s ValueError 279s 279s __________________________ test_diagnose[parenthesis] __________________________ 279s 279s filename = 'parenthesis' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'parenthesis' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/parenthesis.py", line 47, in  279s E e() 279s E - └ ... 279s E 279s E ...Full output truncated (39 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/parenthesis.py", line 47, in  279s e() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/parenthesis.py", line 43, in e 279s ) + d(()) + a 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/parenthesis.py", line 36, in d 279s ; z = (x * y); y = (j or xyz.val * c() \ 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/parenthesis.py", line 28, in c 279s x.val += 456 and b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/parenthesis.py", line 22, in b 279s foo[("baz")] = bar() + (a(5, baz)) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/parenthesis.py", line 17, in a 279s (a, b, x.val, ) = 12, 15 / c, 17 279s 279s ZeroDivisionError: division by zero 279s 279s _______________________ test_diagnose[source_multilines] _______________________ 279s 279s filename = 'source_multilines' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'source_multilines' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/source_multilines.py", line 39, in  279s E bug_1(10) 279s E - └ ... 279s E 279s E ...Full output truncated (45 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 39, in  279s bug_1(10) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 12, in bug_1 279s """ + n / 0) 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 45, in  279s bug_2(1, string, 3) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 16, in bug_2 279s return (1 / 0 + a + b + \ 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 51, in  279s bug_3(string) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 22, in bug_3 279s , string, 20 / 0) 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 57, in  279s bug_4() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_multilines.py", line 29, in bug_4 279s "bar": a / b, 279s 279s ZeroDivisionError: division by zero 279s 279s ________________________ test_diagnose[source_strings] _________________________ 279s 279s filename = 'source_strings' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'source_strings' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert "\n\x1b[33m\x...tes'\x1b[0m\n" == "\n\x1b[33m\x...tes'\x1b[0m\n" 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/source_strings.py", line 13, in  279s E a + b"prefix" + 'single' + """triple""" + 1 + b 279s E - │ └ 0... 279s E 279s E ...Full output truncated (3 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/source_strings.py", line 13, in  279s a + b"prefix" + 'single' + """triple""" + 1 + b 279s 279s TypeError: unsupported operand type(s) for +: 'int' and 'bytes' 279s 279s _________________________ test_diagnose[syntax_error] __________________________ 279s 279s filename = 'syntax_error' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'syntax_error' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ntax\x1b[0m\n' == '\n\x1b[33m\x...ntax\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/syntax_error.py", line 17, in  279s E exec(code) 279s E -  └ '\nif True:\n a = 5\n b = 7 *\n'... 279s E 279s E ...Full output truncated (6 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_error.py", line 17, in  279s exec(code) 279s 279s File "", line 4 279s b = 7 * 279s ^ 279s 279s SyntaxError: invalid syntax 279s 279s ______________________ test_diagnose[syntax_highlighting] ______________________ 279s 279s filename = 'syntax_highlighting' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'syntax_highlighting' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/syntax_highlighting.py", line 31, in  279s E e(0) 279s E - └ ... 279s E 279s E ...Full output truncated (25 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_highlighting.py", line 31, in  279s e(0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_highlighting.py", line 27, in e 279s x in [1], x in (1,), x in {1}, x in {1: 1}, d() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_highlighting.py", line 23, in d 279s min(range(1, 10)), list(), dict(), c(), ... 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_highlighting.py", line 19, in c 279s 1, 2.5, 3.0, 0.4, "str", r"rrr", rb"binary", b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_highlighting.py", line 15, in b 279s a() or False == None != True 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/syntax_highlighting.py", line 11, in a 279s 1 / 0 + 1 * 0 - 1 % 0 // 1**0 @ 1 # Error 279s 279s ZeroDivisionError: division by zero 279s 279s __________________________ test_diagnose[truncating] ___________________________ 279s 279s filename = 'truncating' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'truncating' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert "\n\x1b[33m\x...str'\x1b[0m\n" == "\n\x1b[33m\x...str'\x1b[0m\n" 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/truncating.py", line 15, in  279s E div() 279s E - └ ... 279s E 279s E ...Full output truncated (6 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/truncating.py", line 15, in  279s div() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/truncating.py", line 11, in div 279s return 1 / var 279s 279s TypeError: unsupported operand type(s) for /: 'int' and 'str' 279s 279s ______________________ test_diagnose[unprintable_object] _______________________ 279s 279s filename = 'unprintable_object' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_error", 279s "assertion_error_custom", 279s "assertion_error_in_string", 279s "attributes", 279s "chained_both", 279s "encoding", 279s "global_variable", 279s "indentation_error", 279s "keyword_argument", 279s "multilines_repr", 279s "no_error_message", 279s "parenthesis", 279s "source_multilines", 279s "source_strings", 279s "syntax_error", 279s "syntax_highlighting", 279s "truncating", 279s "unprintable_object", 279s ], 279s ) 279s def test_diagnose(filename): 279s > compare_exception("diagnose", filename) 279s 279s tests/test_exceptions_formatting.py:174: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'diagnose', filename = 'unprintable_object' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/diagnose/unprintable_object.py", line 16, in  279s E obj + 1 / 0 279s E - └  279s E 279s E ZeroDivisionError: division by zero 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/diagnose/unprintable_object.py", line 16, in  279s obj + 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s _________________ test_exception_ownership[assertion_from_lib] _________________ 279s 279s filename = 'assertion_from_lib' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'assertion_from_lib' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ertionError\n' == '\n\x1b[33m\x...ertionError\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/assertion_from_lib.py", line 20, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (51 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 20, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 15, in test 279s assertionerror(a, b) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror 279s assert x == y 279s 279s AssertionError: assert x == y 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 15, in test 279s assertionerror(a, b) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror 279s assert x == y 279s 279s AssertionError: assert x == y 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 22, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 15, in test 279s assertionerror(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror 279s assert x == y 279s AssertionError 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 15, in test 279s assertionerror(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror 279s assert x == y 279s AssertionError 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 15, in test 279s assertionerror(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror 279s assert x == y 279s AssertionError 279s 279s ________________ test_exception_ownership[assertion_from_local] ________________ 279s 279s filename = 'assertion_from_local' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'assertion_from_local' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ertionError\n' == '\n\x1b[33m\x...ertionError\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/assertion_from_local.py", line 20, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (33 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 20, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 15, in test 279s assert a == b 279s 279s AssertionError: assert a == b 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 15, in test 279s assert a == b 279s 279s AssertionError: assert a == b 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 22, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 15, in test 279s assert a == b 279s AssertionError 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 15, in test 279s assert a == b 279s AssertionError 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 15, in test 279s assert a == b 279s AssertionError 279s 279s ______________________ test_exception_ownership[callback] ______________________ 279s 279s filename = 'callback' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'callback' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/callback.py", line 22, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (77 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 22, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 17, in test 279s callme(callback) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 14, in callback 279s divide(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 17, in test 279s callme(callback) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 14, in callback 279s divide(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 24, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 17, in test 279s callme(callback) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 14, in callback 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 17, in test 279s callme(callback) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 14, in callback 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 17, in test 279s callme(callback) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 14, in callback 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s __________________ test_exception_ownership[catch_decorator] ___________________ 279s 279s filename = 'catch_decorator' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'catch_decorator' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/catch_decorator.py", line 20, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (61 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 20, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 17, in test 279s foo() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 15, in foo 279s divide(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 17, in test 279s foo() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 15, in foo 279s divide(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 22, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 17, in test 279s foo() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 15, in foo 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 17, in test 279s foo() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 15, in foo 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 17, in test 279s foo() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 15, in foo 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s ______________ test_exception_ownership[catch_decorator_from_lib] ______________ 279s 279s filename = 'catch_decorator_from_lib' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'catch_decorator_from_lib' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 20, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (68 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 20, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 17, in test 279s callme(callback) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 15, in callback 279s divide(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 15, in callback 279s divide(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 22, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 17, in test 279s callme(callback) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 15, in callback 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 15, in callback 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 15, in callback 279s divide(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s _________________ test_exception_ownership[decorated_callback] _________________ 279s 279s filename = 'decorated_callback' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'decorated_callback' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/decorated_callback.py", line 21, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (54 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 21, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 18, in test 279s callme(callback) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 16, in callback 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 16, in callback 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 23, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 18, in test 279s callme(callback) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 16, in callback 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 16, in callback 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme 279s callback() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 16, in callback 279s a / b 279s ZeroDivisionError: division by zero 279s 279s _______________________ test_exception_ownership[direct] _______________________ 279s 279s filename = 'direct' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'direct' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/direct.py", line 19, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (47 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 19, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 14, in test 279s divide(10, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 14, in test 279s divide(10, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 21, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 14, in test 279s divide(10, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 14, in test 279s divide(10, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 14, in test 279s divide(10, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s ______________________ test_exception_ownership[indirect] ______________________ 279s 279s filename = 'indirect' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'indirect' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/indirect.py", line 19, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (63 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 19, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 14, in test 279s divide_indirect(10, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect 279s divide(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 14, in test 279s divide_indirect(10, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect 279s divide(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 21, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 14, in test 279s divide_indirect(10, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect 279s divide(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 14, in test 279s divide_indirect(10, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect 279s divide(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 14, in test 279s divide_indirect(10, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect 279s divide(a, b) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s _____________________ test_exception_ownership[string_lib] _____________________ 279s 279s filename = 'string_lib' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'string_lib' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/string_lib.py", line 19, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (62 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 19, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 14, in test 279s execute() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute 279s exec("divide(1, 0)") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 14, in test 279s execute() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute 279s exec("divide(1, 0)") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 21, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 14, in test 279s execute() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute 279s exec("divide(1, 0)") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 14, in test 279s execute() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute 279s exec("divide(1, 0)") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 14, in test 279s execute() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute 279s exec("divide(1, 0)") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide 279s x / y 279s ZeroDivisionError: division by zero 279s 279s ___________________ test_exception_ownership[string_source] ____________________ 279s 279s filename = 'string_source' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'string_source' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/string_source.py", line 19, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (48 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 19, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 14, in test 279s exec("foo()") 279s 279s File "", line 1, in 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 11, in foo 279s 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 14, in test 279s exec("foo()") 279s 279s File "", line 1, in 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 11, in foo 279s 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 21, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 14, in test 279s exec("foo()") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 11, in foo 279s 1 / 0 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 14, in test 279s exec("foo()") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 11, in foo 279s 1 / 0 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 14, in test 279s exec("foo()") 279s File "", line 1, in 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 11, in foo 279s 1 / 0 279s ZeroDivisionError: division by zero 279s 279s ____________________ test_exception_ownership[syntaxerror] _____________________ 279s 279s filename = 'syntaxerror' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertion_from_lib", 279s "assertion_from_local", 279s "callback", 279s "catch_decorator", 279s "catch_decorator_from_lib", 279s "decorated_callback", 279s "direct", 279s "indirect", 279s "string_lib", 279s "string_source", 279s "syntaxerror", 279s ], 279s ) 279s def test_exception_ownership(filename): 279s > compare_exception("ownership", filename) 279s 279s tests/test_exceptions_formatting.py:194: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'ownership', filename = 'syntaxerror' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...alid syntax\n' == '\n\x1b[33m\x...alid syntax\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/ownership/syntaxerror.py", line 19, in  279s E test(backtrace=True, colorize=True, diagnose=True) 279s E - └ ... 279s E 279s E ...Full output truncated (58 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 19, in  279s test(backtrace=True, colorize=True, diagnose=True) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 14, in test 279s syntaxerror() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror 279s exec("foo =") 279s File "", line 1 279s foo = 279s ^ 279s 279s SyntaxError: invalid syntax 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 14, in test 279s syntaxerror() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror 279s exec("foo =") 279s File "", line 1 279s foo = 279s ^ 279s 279s SyntaxError: invalid syntax 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 21, in  279s test(backtrace=True, colorize=True, diagnose=False) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 14, in test 279s syntaxerror() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror 279s exec("foo =") 279s File "", line 1 279s foo = 279s ^ 279s SyntaxError: invalid syntax 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 14, in test 279s syntaxerror() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror 279s exec("foo =") 279s File "", line 1 279s foo = 279s ^ 279s SyntaxError: invalid syntax 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 14, in test 279s syntaxerror() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror 279s exec("foo =") 279s File "", line 1 279s foo = 279s ^ 279s SyntaxError: invalid syntax 279s 279s ____________ test_exception_others[exception_formatting_coroutine] _____________ 279s 279s filename = 'exception_formatting_coroutine' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'exception_formatting_coroutine' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in 279s E f.send(None) 279s E File "tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo 279s E a / b... 279s E 279s E ...Full output truncated (36 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in 279s f.send(None) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in 279s f.send(None) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in 279s f.send(None) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in 279s f.send(None) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s _____________ test_exception_others[exception_formatting_function] _____________ 279s 279s filename = 'exception_formatting_function' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'exception_formatting_function' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/exception_formatting_function.py", line 17, in 279s E a(1, 0) 279s E File "tests/exceptions/source/others/exception_formatting_function.py", line 14, in a 279s E a / b... 279s E 279s E ...Full output truncated (34 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in 279s a(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in 279s a(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in 279s a(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in 279s a(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s ____________ test_exception_others[exception_formatting_generator] _____________ 279s 279s filename = 'exception_formatting_generator' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'exception_formatting_generator' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/exception_formatting_generator.py", line 20, in 279s E next(f) 279s E File "tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo 279s E yield a / b... 279s E 279s E ...Full output truncated (34 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in 279s next(f) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo 279s yield a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in 279s next(f) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo 279s yield a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in 279s next(f) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo 279s yield a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in 279s next(f) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo 279s yield a / b 279s 279s ZeroDivisionError: division by zero 279s 279s _________________ test_exception_others[exception_in_property] _________________ 279s 279s filename = 'exception_in_property' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'exception_in_property' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/others/exception_in_property.py", line 22, in 279s E value = a.value 279s E - │ └ ... 279s E 279s E ...Full output truncated (6 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_in_property.py", line 22, in 279s value = a.value 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/exception_in_property.py", line 13, in value 279s 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s __________________ test_exception_others[nested_with_reraise] __________________ 279s 279s filename = 'nested_with_reraise' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'nested_with_reraise' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...nValueError\n' == '\nTraceback ...nValueError\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s E f = foo(x, y) 279s E File "tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s E a / b... 279s E 279s E ...Full output truncated (148 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in 279s baz() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz 279s bar(1, 0) 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in 279s baz() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz 279s bar(1, 0) 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s ZeroDivisionError: division by zero 279s 279s The above exception was the direct cause of the following exception: 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz 279s bar(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar 279s raise ValueError from e 279s ValueError 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s 279s The above exception was the direct cause of the following exception: 279s 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz 279s bar(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar 279s raise ValueError from e 279s 279s ValueError 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s ZeroDivisionError: division by zero 279s 279s The above exception was the direct cause of the following exception: 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in 279s baz() 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz 279s bar(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar 279s raise ValueError from e 279s ValueError 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar 279s f = foo(x, y) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s 279s The above exception was the direct cause of the following exception: 279s 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in 279s baz() 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz 279s bar(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar 279s raise ValueError from e 279s 279s ValueError 279s 279s __________________ test_exception_others[sys_tracebacklimit] ___________________ 279s 279s filename = 'sys_tracebacklimit' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'sys_tracebacklimit' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f 279s E g() 279s E File "tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g 279s E h()... 279s E 279s E ...Full output truncated (70 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f 279s g() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g 279s h() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h 279s i() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i 279s j(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f 279s g() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g 279s h() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h 279s i() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i 279s j(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f 279s g() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g 279s h() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h 279s i() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i 279s j(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f 279s g() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g 279s h() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h 279s i() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i 279s j(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s ________________ test_exception_others[sys_tracebacklimit_none] ________________ 279s 279s filename = 'sys_tracebacklimit_none' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'sys_tracebacklimit_none' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in 279s E a() 279s E File "tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a 279s E b()... 279s E 279s E ...Full output truncated (142 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in 279s a() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a 279s b() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b 279s c() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c 279s d() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d 279s e() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e 279s f() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f 279s g() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g 279s h() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h 279s i() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i 279s j(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in 279s a() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a 279s b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b 279s c() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c 279s d() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d 279s e() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e 279s f() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f 279s g() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g 279s h() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h 279s i() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i 279s j(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in 279s a() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a 279s b() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b 279s c() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c 279s d() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d 279s e() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e 279s f() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f 279s g() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g 279s h() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h 279s i() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i 279s j(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in 279s a() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a 279s b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b 279s c() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c 279s d() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d 279s e() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e 279s f() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f 279s g() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g 279s h() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h 279s i() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i 279s j(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s _______________ test_exception_others[sys_tracebacklimit_unset] ________________ 279s 279s filename = 'sys_tracebacklimit_unset' 279s 279s @pytest.mark.parametrize( 279s "filename", 279s [ 279s "assertionerror_without_traceback", 279s "catch_as_context_manager", 279s "catch_as_decorator_with_parentheses", 279s "catch_as_decorator_without_parentheses", 279s "catch_as_function", 279s "catch_message", 279s "exception_formatting_coroutine", 279s "exception_formatting_function", 279s "exception_formatting_generator", 279s "exception_in_property", 279s "handler_formatting_with_context_manager", 279s "handler_formatting_with_decorator", 279s "level_name", 279s "level_number", 279s "message_formatting_with_context_manager", 279s "message_formatting_with_decorator", 279s "nested_with_reraise", 279s "syntaxerror_without_traceback", 279s "sys_tracebacklimit", 279s "sys_tracebacklimit_negative", 279s "sys_tracebacklimit_none", 279s "sys_tracebacklimit_unset", 279s "zerodivisionerror_without_traceback", 279s ], 279s ) 279s def test_exception_others(filename): 279s > compare_exception("others", filename) 279s 279s tests/test_exceptions_formatting.py:226: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'others', filename = 'sys_tracebacklimit_unset' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in 279s E a() 279s E File "tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a 279s E b()... 279s E 279s E ...Full output truncated (142 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in 279s a() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a 279s b() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b 279s c() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c 279s d() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d 279s e() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e 279s f() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f 279s g() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g 279s h() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h 279s i() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i 279s j(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in 279s a() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a 279s b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b 279s c() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c 279s d() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d 279s e() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e 279s f() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f 279s g() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g 279s h() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h 279s i() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i 279s j(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in 279s a() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a 279s b() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b 279s c() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c 279s d() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d 279s e() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e 279s f() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f 279s g() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g 279s h() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h 279s i() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i 279s j(1, 0) 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j 279s a / b 279s ZeroDivisionError: division by zero 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in 279s a() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a 279s b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b 279s c() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c 279s d() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d 279s e() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e 279s f() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f 279s g() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g 279s h() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h 279s i() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i 279s j(1, 0) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j 279s a / b 279s 279s ZeroDivisionError: division by zero 279s 279s __________ test_exception_modern[type_hints-minimum_python_version0] ___________ 279s 279s filename = 'type_hints', minimum_python_version = (3, 6) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'type_hints' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/modern/type_hints.py", line 23, in  279s E main() 279s E - └ ... 279s E 279s E ...Full output truncated (16 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/type_hints.py", line 23, in  279s main() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/type_hints.py", line 19, in main 279s bar: Name = foo(1, 2, 3) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/type_hints.py", line 15, in foo 279s def foo(a: int, b: Union[Name, float], c: "Name") -> T: 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s ___ test_exception_modern[positional_only_argument-minimum_python_version1] ____ 279s 279s filename = 'positional_only_argument', minimum_python_version = (3, 8) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'positional_only_argument' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/modern/positional_only_argument.py", line 23, in  279s E main() 279s E - └ ... 279s E 279s E ...Full output truncated (14 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/positional_only_argument.py", line 23, in  279s main() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/positional_only_argument.py", line 19, in main 279s foo(1, 2, c=3) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/positional_only_argument.py", line 15, in foo 279s def foo(a, /, b, *, c, **d): 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s ________ test_exception_modern[walrus_operator-minimum_python_version2] ________ 279s 279s filename = 'walrus_operator', minimum_python_version = (3, 8) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'walrus_operator' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E > File "tests/exceptions/source/modern/walrus_operator.py", line 25, in  279s E main() 279s E - └ ... 279s E 279s E ...Full output truncated (10 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/walrus_operator.py", line 25, in  279s main() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/walrus_operator.py", line 19, in main 279s (walrus := foo()) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/walrus_operator.py", line 8, in foo 279s if a := "a" + (x:=1/0): 279s 279s ZeroDivisionError: division by zero 279s 279s ________ test_exception_modern[match_statement-minimum_python_version3] ________ 279s 279s filename = 'match_statement', minimum_python_version = (3, 10) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'match_statement' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/modern/match_statement.py", line 21, in  279s E match(1) 279s E - └ ... 279s E 279s E ...Full output truncated (14 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/match_statement.py", line 21, in  279s match(1) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/match_statement.py", line 18, in match 279s case y: case(x) 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/match_statement.py", line 11, in case 279s match y / 0: 279s 279s ZeroDivisionError: division by zero 279s 279s _____ test_exception_modern[exception_group_catch-minimum_python_version4] _____ 279s 279s filename = 'exception_group_catch', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'exception_group_catch' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n + \x1b[3...1m 2\x1b[0m\n' == '\n + \x1b[3...1m 2\x1b[0m\n' 279s E 279s E 279s E + Exception Group Traceback (most recent call last): 279s E | 279s E | File "tests/exceptions/source/modern/exception_group_catch.py", line 14, in a 279s E | raise ExceptionGroup("group", [ValueError(1)]) 279s E |... 279s E 279s E ...Full output truncated (24 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/exception_group_catch.py", line 14, in a 279s | raise ExceptionGroup("group", [ValueError(1)]) 279s | 279s | ExceptionGroup: group (1 sub-exception) 279s +-+---------------- 1 ---------------- 279s | ValueError: 1 279s +------------------------------------ 279s 279s 279s During handling of the above exception, another exception occurred: 279s 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/exception_group_catch.py", line 25, in  279s b() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/exception_group_catch.py", line 21, in b 279s except* TypeError: a() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/exception_group_catch.py", line 15, in a 279s except* x as e: raise ValueError(2) 279s 279s ValueError: 2 279s 279s _____________ test_exception_modern[notes-minimum_python_version5] _____________ 279s 279s filename = 'notes', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'notes' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...rror\x1b[0m\n' == '\nTraceback ...rror\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/modern/notes.py", line 13, in 279s E raise e 279s E ValueError: invalid value 279s E Note... 279s E 279s E ...Full output truncated (111 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 13, in 279s raise e 279s ValueError: invalid value 279s Note 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 13, in  279s raise e 279s 279s ValueError: invalid value 279s Note 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 20, in 279s raise e 279s ValueError: invalid value 279s Note1 279s Note2 279s Note3 279s 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 20, in  279s raise e 279s 279s ValueError: invalid value 279s Note1 279s Note2 279s Note3 279s 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 27, in 279s | raise e 279s | ExceptionGroup: Grouped (2 sub-exceptions) 279s | Note 1 279s | Note 2 279s | Note 3 279s +-+---------------- 1 ---------------- 279s | ValueError: 1 279s +---------------- 2 ---------------- 279s | ValueError: 2 279s +------------------------------------ 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 27, in  279s | raise e 279s | 279s | ExceptionGroup: Grouped (2 sub-exceptions) 279s | Note 1 279s | Note 2 279s | Note 3 279s +-+---------------- 1 ---------------- 279s | ValueError: 1 279s +---------------- 2 ---------------- 279s | ValueError: 2 279s +------------------------------------ 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 32, in 279s raise e 279s TabError: tab error 279s Note 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 32, in  279s raise e 279s 279s TabError: tab error 279s Note 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 38, in 279s raise e 279s File "", line 1 279s a = 7 * 279s ^ 279s SyntaxError: syntax error 279s Note 1 279s Note 2 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 38, in  279s raise e 279s 279s File "", line 1 279s a = 7 * 279s ^ 279s 279s SyntaxError: syntax error 279s Note 1 279s Note 2 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 43, in 279s raise e 279s TypeError: type error 279s 279s Traceback (most recent call last): 279s 279s > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 43, in  279s raise e 279s 279s TypeError: type error 279s 279s ________ test_exception_modern[grouped_simple-minimum_python_version6] _________ 279s 279s filename = 'grouped_simple', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'grouped_simple' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n' 279s E 279s E 279s E + Exception Group Traceback (most recent call last): 279s E | File "tests/exceptions/source/modern/grouped_simple.py", line 41, in 279s E | main() 279s E | File "tests/exceptions/source/modern/grouped_simple.py", line 34, in main 279s E | raise ExceptionGroup("group", [error_1, error_2, error_3]) from None... 279s E 279s E ...Full output truncated (94 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 41, in 279s | main() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 34, in main 279s | raise ExceptionGroup("group", [error_1, error_2, error_3]) from None 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 26, in main 279s | c(b) 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 20, in c 279s | f() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 16, in b 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a 279s | x / y 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 29, in main 279s | c(a) 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 20, in c 279s | f() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a 279s | x / y 279s | ZeroDivisionError: division by zero 279s +---------------- 3 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 32, in main 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a 279s | x / y 279s | ZeroDivisionError: division by zero 279s +------------------------------------ 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 41, in  279s | main() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 34, in main 279s | raise ExceptionGroup("group", [error_1, error_2, error_3]) from None 279s | 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 26, in main 279s | c(b) 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 20, in c 279s | f() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 16, in b 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a 279s | x / y 279s | 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 29, in main 279s | c(a) 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 20, in c 279s | f() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a 279s | x / y 279s | 279s | ZeroDivisionError: division by zero 279s +---------------- 3 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 32, in main 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a 279s | x / y 279s | 279s | ZeroDivisionError: division by zero 279s +------------------------------------ 279s 279s ________ test_exception_modern[grouped_nested-minimum_python_version7] _________ 279s 279s filename = 'grouped_nested', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'grouped_nested' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n' 279s E 279s E 279s E + Exception Group Traceback (most recent call last): 279s E | File "tests/exceptions/source/modern/grouped_nested.py", line 40, in 279s E | main() 279s E | File "tests/exceptions/source/modern/grouped_nested.py", line 33, in main 279s E | raise ExceptionGroup("group_2", [error_4, error_3]) from None... 279s E 279s E ...Full output truncated (144 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 40, in 279s | main() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 33, in main 279s | raise ExceptionGroup("group_2", [error_4, error_3]) from None 279s | ExceptionGroup: group_2 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 26, in main 279s | raise ExceptionGroup("group_1", [error_1, error_2]) 279s | ExceptionGroup: group_1 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 17, in main 279s | divide_by_zero() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 6, in divide_by_zero 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 22, in main 279s | raise_value_error(100) 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error 279s | raise ValueError(value) 279s | ValueError: 100 279s +------------------------------------ 279s | 279s | During handling of the above exception, another exception occurred: 279s | 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 29, in main 279s | raise_value_error(-100) 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error 279s | raise ValueError(value) 279s | ValueError: -100 279s +---------------- 2 ---------------- 279s | Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 26, in main 279s | raise ExceptionGroup("group_1", [error_1, error_2]) 279s | ExceptionGroup: group_1 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 17, in main 279s | divide_by_zero() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 6, in divide_by_zero 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 22, in main 279s | raise_value_error(100) 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error 279s | raise ValueError(value) 279s | ValueError: 100 279s +------------------------------------ 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 40, in  279s | main() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 33, in main 279s | raise ExceptionGroup("group_2", [error_4, error_3]) from None 279s | 279s | ExceptionGroup: group_2 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Exception Group Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 26, in main 279s | raise ExceptionGroup("group_1", [error_1, error_2]) 279s | 279s | ExceptionGroup: group_1 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 17, in main 279s | divide_by_zero() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 6, in divide_by_zero 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 22, in main 279s | raise_value_error(100) 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error 279s | raise ValueError(value) 279s | 279s | ValueError: 100 279s +------------------------------------ 279s | 279s | 279s | During handling of the above exception, another exception occurred: 279s | 279s | 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 29, in main 279s | raise_value_error(-100) 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error 279s | raise ValueError(value) 279s | 279s | ValueError: -100 279s +---------------- 2 ---------------- 279s | Exception Group Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 26, in main 279s | raise ExceptionGroup("group_1", [error_1, error_2]) 279s | 279s | ExceptionGroup: group_1 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 17, in main 279s | divide_by_zero() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 6, in divide_by_zero 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 22, in main 279s | raise_value_error(100) 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error 279s | raise ValueError(value) 279s | 279s | ValueError: 100 279s +------------------------------------ 279s 279s _ test_exception_modern[grouped_with_cause_and_context-minimum_python_version8] _ 279s 279s filename = 'grouped_with_cause_and_context', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'grouped_with_cause_and_context' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\nTraceback ...-----------\n' == '\nTraceback ...-----------\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E File "tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 31, in main 279s E a() 279s E File "tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s E 1 / 0... 279s E 279s E ...Full output truncated (130 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 31, in main 279s a() 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s 1 / 0 279s ZeroDivisionError: division by zero 279s 279s The above exception was the direct cause of the following exception: 279s 279s Traceback (most recent call last): 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 34, in main 279s raise ValueError("Error") from err 279s ValueError: Error 279s 279s During handling of the above exception, another exception occurred: 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 43, in 279s | main() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 36, in main 279s | raise ExceptionGroup("from_context", [from_context, from_cause]) 279s | ExceptionGroup: from_context (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 17, in main 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s | 279s | The above exception was the direct cause of the following exception: 279s | 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 19, in main 279s | raise ValueError("ContextError") from err 279s | ValueError: ContextError 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 24, in main 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s | 279s | During handling of the above exception, another exception occurred: 279s | 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 26, in main 279s | raise ValueError("CauseError") 279s | ValueError: CauseError 279s +------------------------------------ 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 31, in main 279s a() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s 1 / 0 279s 279s ZeroDivisionError: division by zero 279s 279s 279s The above exception was the direct cause of the following exception: 279s 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 34, in main 279s raise ValueError("Error") from err 279s 279s ValueError: Error 279s 279s 279s During handling of the above exception, another exception occurred: 279s 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 43, in  279s | main() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 36, in main 279s | raise ExceptionGroup("from_context", [from_context, from_cause]) 279s | 279s | ExceptionGroup: from_context (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 17, in main 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s | 279s | 279s | The above exception was the direct cause of the following exception: 279s | 279s | 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 19, in main 279s | raise ValueError("ContextError") from err 279s | 279s | ValueError: ContextError 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 24, in main 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s | 279s | 279s | During handling of the above exception, another exception occurred: 279s | 279s | 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 26, in main 279s | raise ValueError("CauseError") 279s | 279s | ValueError: CauseError 279s +------------------------------------ 279s 279s _ test_exception_modern[grouped_as_cause_and_context-minimum_python_version9] __ 279s 279s filename = 'grouped_as_cause_and_context', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'grouped_as_cause_and_context' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n' 279s E 279s E 279s E + Exception Group Traceback (most recent call last): 279s E | File "tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 31, in main 279s E | raise ExceptionGroup("group_1", [error_1, error_2]) 279s E | ExceptionGroup: group_1 (2 sub-exceptions) 279s E +-+---------------- 1 ----------------... 279s E 279s E ...Full output truncated (180 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 31, in main 279s | raise ExceptionGroup("group_1", [error_1, error_2]) 279s | ExceptionGroup: group_1 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main 279s | b() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b 279s | raise ValueError("Error") 279s | ValueError: Error 279s +------------------------------------ 279s 279s The above exception was the direct cause of the following exception: 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 33, in main 279s | raise ExceptionGroup("group_2", [error_2, error_1]) from err 279s | ExceptionGroup: group_2 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main 279s | b() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b 279s | raise ValueError("Error") 279s | ValueError: Error 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s +------------------------------------ 279s 279s During handling of the above exception, another exception occurred: 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 42, in 279s | main() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 35, in main 279s | raise ExceptionGroup("group_3", [err]) 279s | ExceptionGroup: group_3 (1 sub-exception) 279s +-+---------------- 1 ---------------- 279s | Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 33, in main 279s | raise ExceptionGroup("group_2", [error_2, error_1]) from err 279s | ExceptionGroup: group_2 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main 279s | b() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b 279s | raise ValueError("Error") 279s | ValueError: Error 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main 279s | a() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | ZeroDivisionError: division by zero 279s +------------------------------------ 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 31, in main 279s | raise ExceptionGroup("group_1", [error_1, error_2]) 279s | 279s | ExceptionGroup: group_1 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main 279s | b() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b 279s | raise ValueError("Error") 279s | 279s | ValueError: Error 279s +------------------------------------ 279s 279s 279s The above exception was the direct cause of the following exception: 279s 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 33, in main 279s | raise ExceptionGroup("group_2", [error_2, error_1]) from err 279s | 279s | ExceptionGroup: group_2 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main 279s | b() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b 279s | raise ValueError("Error") 279s | 279s | ValueError: Error 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s +------------------------------------ 279s 279s 279s During handling of the above exception, another exception occurred: 279s 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 42, in  279s | main() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 35, in main 279s | raise ExceptionGroup("group_3", [err]) 279s | 279s | ExceptionGroup: group_3 (1 sub-exception) 279s +-+---------------- 1 ---------------- 279s | Exception Group Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 33, in main 279s | raise ExceptionGroup("group_2", [error_2, error_1]) from err 279s | 279s | ExceptionGroup: group_2 (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main 279s | b() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b 279s | raise ValueError("Error") 279s | 279s | ValueError: Error 279s +---------------- 2 ---------------- 279s | Traceback (most recent call last): 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main 279s | a() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a 279s | 1 / 0 279s | 279s | ZeroDivisionError: division by zero 279s +------------------------------------ 279s 279s ______ test_exception_modern[grouped_max_length-minimum_python_version10] ______ 279s 279s filename = 'grouped_max_length', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'grouped_max_length' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n' 279s E 279s E 279s E + Exception Group Traceback (most recent call last): 279s E | File "tests/exceptions/source/modern/grouped_max_length.py", line 15, in 279s E | main() 279s E | File "tests/exceptions/source/modern/grouped_max_length.py", line 8, in main 279s E | raise ExceptionGroup("group", errors)... 279s E 279s E ...Full output truncated (79 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_length.py", line 15, in 279s | main() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_length.py", line 8, in main 279s | raise ExceptionGroup("group", errors) 279s | ExceptionGroup: group (100 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: 0 279s +---------------- 2 ---------------- 279s | ValueError: 1 279s +---------------- 3 ---------------- 279s | ValueError: 2 279s +---------------- 4 ---------------- 279s | ValueError: 3 279s +---------------- 5 ---------------- 279s | ValueError: 4 279s +---------------- 6 ---------------- 279s | ValueError: 5 279s +---------------- 7 ---------------- 279s | ValueError: 6 279s +---------------- 8 ---------------- 279s | ValueError: 7 279s +---------------- 9 ---------------- 279s | ValueError: 8 279s +---------------- 10 --------------- 279s | ValueError: 9 279s +---------------- 11 --------------- 279s | ValueError: 10 279s +---------------- 12 --------------- 279s | ValueError: 11 279s +---------------- 13 --------------- 279s | ValueError: 12 279s +---------------- 14 --------------- 279s | ValueError: 13 279s +---------------- 15 --------------- 279s | ValueError: 14 279s +--------------- ... --------------- 279s | and 85 more exceptions 279s +------------------------------------ 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_length.py", line 15, in  279s | main() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_length.py", line 8, in main 279s | raise ExceptionGroup("group", errors) 279s | 279s | ExceptionGroup: group (100 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: 0 279s +---------------- 2 ---------------- 279s | ValueError: 1 279s +---------------- 3 ---------------- 279s | ValueError: 2 279s +---------------- 4 ---------------- 279s | ValueError: 3 279s +---------------- 5 ---------------- 279s | ValueError: 4 279s +---------------- 6 ---------------- 279s | ValueError: 5 279s +---------------- 7 ---------------- 279s | ValueError: 6 279s +---------------- 8 ---------------- 279s | ValueError: 7 279s +---------------- 9 ---------------- 279s | ValueError: 8 279s +---------------- 10 --------------- 279s | ValueError: 9 279s +---------------- 11 --------------- 279s | ValueError: 10 279s +---------------- 12 --------------- 279s | ValueError: 11 279s +---------------- 13 --------------- 279s | ValueError: 12 279s +---------------- 14 --------------- 279s | ValueError: 13 279s +---------------- 15 --------------- 279s | ValueError: 14 279s +--------------- ... --------------- 279s | and 85 more exceptions 279s +------------------------------------ 279s 279s ______ test_exception_modern[grouped_max_depth-minimum_python_version11] _______ 279s 279s filename = 'grouped_max_depth', minimum_python_version = (3, 11) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'grouped_max_depth' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n' 279s E 279s E 279s E + Exception Group Traceback (most recent call last): 279s E | File "tests/exceptions/source/modern/grouped_max_depth.py", line 26, in 279s E | main() 279s E | File "tests/exceptions/source/modern/grouped_max_depth.py", line 19, in main 279s E | raise ExceptionGroup("group", [nesting_left, nesting_right, nesting_both])... 279s E 279s E ...Full output truncated (317 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s + Exception Group Traceback (most recent call last): 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_depth.py", line 26, in 279s | main() 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_depth.py", line 19, in main 279s | raise ExceptionGroup("group", [nesting_left, nesting_right, nesting_both]) 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -99 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -98 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -97 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -96 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -95 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -94 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -93 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -92 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -91 279s +---------------- 2 ---------------- 279s | ... (max_group_depth is 10) 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ... (max_group_depth is 10) 279s +---------------- 2 ---------------- 279s | ValueError: 91 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 92 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 93 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 94 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 95 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 96 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 97 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 98 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 99 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -99 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -98 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -97 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -96 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -95 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -94 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -93 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -92 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -91 279s +---------------- 2 ---------------- 279s | ... (max_group_depth is 10) 279s +---------------- 3 ---------------- 279s | ValueError: 91 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 92 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 93 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 94 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 95 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 96 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 97 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 98 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 99 279s +------------------------------------ 279s 279s + Exception Group Traceback (most recent call last): 279s | 279s | > File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_depth.py", line 26, in  279s | main() 279s | 279s | File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_depth.py", line 19, in main 279s | raise ExceptionGroup("group", [nesting_left, nesting_right, nesting_both]) 279s | 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -99 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -98 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -97 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -96 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -95 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -94 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -93 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -92 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -91 279s +---------------- 2 ---------------- 279s | ... (max_group_depth is 10) 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ExceptionGroup: group (2 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ... (max_group_depth is 10) 279s +---------------- 2 ---------------- 279s | ValueError: 91 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 92 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 93 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 94 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 95 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 96 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 97 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 98 279s +------------------------------------ 279s +---------------- 2 ---------------- 279s | ValueError: 99 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -99 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -98 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -97 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -96 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -95 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -94 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -93 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -92 279s +---------------- 2 ---------------- 279s | ExceptionGroup: group (3 sub-exceptions) 279s +-+---------------- 1 ---------------- 279s | ValueError: -91 279s +---------------- 2 ---------------- 279s | ... (max_group_depth is 10) 279s +---------------- 3 ---------------- 279s | ValueError: 91 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 92 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 93 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 94 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 95 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 96 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 97 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 98 279s +------------------------------------ 279s +---------------- 3 ---------------- 279s | ValueError: 99 279s +------------------------------------ 279s 279s ___________ test_exception_modern[f_string-minimum_python_version12] ___________ 279s 279s filename = 'f_string', minimum_python_version = (3, 12) 279s 279s @pytest.mark.parametrize( 279s "filename, minimum_python_version", 279s [ 279s ("type_hints", (3, 6)), 279s ("positional_only_argument", (3, 8)), 279s ("walrus_operator", (3, 8)), 279s ("match_statement", (3, 10)), 279s ("exception_group_catch", (3, 11)), 279s ("notes", (3, 11)), 279s ("grouped_simple", (3, 11)), 279s ("grouped_nested", (3, 11)), 279s ("grouped_with_cause_and_context", (3, 11)), 279s ("grouped_as_cause_and_context", (3, 11)), 279s ("grouped_max_length", (3, 11)), 279s ("grouped_max_depth", (3, 11)), 279s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed. 279s ], 279s ) 279s def test_exception_modern(filename, minimum_python_version): 279s if sys.version_info < minimum_python_version: 279s pytest.skip("Feature not supported in this Python version") 279s 279s > compare_exception("modern", filename) 279s 279s tests/test_exceptions_formatting.py:251: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s dirname = 'modern', filename = 'f_string' 279s 279s def compare_exception(dirname, filename): 279s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) 279s python = sys.executable or "python" 279s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py") 279s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt") 279s 279s with subprocess.Popen( 279s [python, filepath], 279s shell=False, 279s cwd=cwd, 279s stdout=subprocess.PIPE, 279s stderr=subprocess.PIPE, 279s universal_newlines=True, 279s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"), 279s ) as proc: 279s stdout, stderr = proc.communicate() 279s print(stderr, file=sys.stderr) 279s assert proc.returncode == 0 279s assert stdout == "" 279s assert stderr != "" 279s 279s stderr = normalize(stderr) 279s 279s # generate(stderr, outpath) 279s 279s with open(outpath, "r") as file: 279s > assert stderr == file.read() 279s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n' 279s E 279s E 279s E Traceback (most recent call last): 279s E 279s E File "tests/exceptions/source/modern/f_string.py", line 21, in  279s E hello() 279s E - └ ... 279s E 279s E ...Full output truncated (12 lines hidden), use '-vv' to show 279s 279s tests/test_exceptions_formatting.py:114: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s 279s Traceback (most recent call last): 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/f_string.py", line 21, in  279s hello() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/f_string.py", line 11, in hello 279s output = f"Hello" + f' ' + f"""World""" and world() 279s 279s File "/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/exceptions/source/modern/f_string.py", line 17, in world 279s f"{name} -> { f }" and {} or f'{{ {f / 0} }}' 279s 279s ZeroDivisionError: division by zero 279s 279s ________________________ test_pickling_standard_handler ________________________ 279s 279s def test_pickling_standard_handler(): 279s handler = StandardHandler(logging.NOTSET) 279s logger.add(handler, format="{level} - {function} - {message}") 279s pickled = pickle.dumps(logger) 279s unpickled = pickle.loads(pickled) 279s unpickled.debug("A message") 279s handler = next(iter(unpickled._core.handlers.values()))._sink._handler 279s > assert handler.written == "DEBUG - test_pickling_standard_handler - A message" 279s E AssertionError: assert '' == 'DEBUG - test...r - A message' 279s E 279s E - DEBUG - test_pickling_standard_handler - A message 279s 279s tests/test_pickling.py:130: AssertionError 279s ----------------------------- Captured stderr call ----------------------------- 279s --- Logging error in Loguru Handler #0 --- 279s Record was: {'elapsed': datetime.timedelta(seconds=65, microseconds=375182), 'exception': None, 'extra': {}, 'file': (name='test_pickling.py', path='/tmp/autopkgtest.X6GDhi/autopkgtest_tmp/tests/test_pickling.py'), 'function': 'test_pickling_standard_handler', 'level': (name='DEBUG', no=10, icon='🐞'), 'line': 128, 'message': 'A message', 'module': 'test_pickling', 'name': 'tests.test_pickling', 'process': (id=2446, name='MainProcess'), 'thread': (id=277040511592256, name='MainThread'), 'time': datetime(2024, 11, 13, 9, 38, 27, 830126, tzinfo=datetime.timezone(datetime.timedelta(0), 'UTC'))} 279s Traceback (most recent call last): 279s File "/usr/lib/python3/dist-packages/loguru/_handler.py", line 206, in emit 279s self._sink.write(str_record) 279s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^ 279s File "/usr/lib/python3/dist-packages/loguru/_simple_sinks.py", line 51, in write 279s self._handler.handle(record) 279s ~~~~~~~~~~~~~~~~~~~~^^^^^^^^ 279s File "/usr/lib/python3.13/logging/__init__.py", line 1025, in handle 279s with self.lock: 279s ^^^^^^^^^ 279s TypeError: 'NoneType' object does not support the context manager protocol 279s --- End of logging error --- 279s ___________ test_pickling_standard_handler_root_logger_not_picklable ___________ 279s 279s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xfbf782455160> 279s capsys = <_pytest.capture.CaptureFixture object at 0xfbf782454de0> 279s 279s def test_pickling_standard_handler_root_logger_not_picklable(monkeypatch, capsys): 279s def reduce_protocol(): 279s raise TypeError("Not picklable") 279s 279s monkeypatch.setattr(logging.getLogger(), "__reduce__", reduce_protocol, raising=False) 279s 279s handler = StandardHandler(logging.NOTSET) 279s logger.add(handler, format="=> {message}", catch=False) 279s 279s pickled = pickle.dumps(logger) 279s pickle.loads(pickled) 279s 279s > logger.info("Ok") 279s 279s tests/test_pickling.py:145: 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s /usr/lib/python3/dist-packages/loguru/_logger.py:2044: in info 279s __self._log("INFO", False, __self._options, __message, args, kwargs) 279s /usr/lib/python3/dist-packages/loguru/_logger.py:2032: in _log 279s handler.emit(log_record, level_id, from_decorator, raw, colored_message) 279s /usr/lib/python3/dist-packages/loguru/_handler.py:206: in emit 279s self._sink.write(str_record) 279s /usr/lib/python3/dist-packages/loguru/_simple_sinks.py:51: in write 279s self._handler.handle(record) 279s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 279s 279s self = 279s record = Ok"> 279s 279s def handle(self, record): 279s """ 279s Conditionally emit the specified logging record. 279s 279s Emission depends on filters which may have been added to the handler. 279s Wrap the actual emission of the record with acquisition/release of 279s the I/O thread lock. 279s 279s Returns an instance of the log record that was emitted 279s if it passed all filters, otherwise a false value is returned. 279s """ 279s rv = self.filter(record) 279s if isinstance(rv, LogRecord): 279s record = rv 279s if rv: 279s > with self.lock: 279s E TypeError: 'NoneType' object does not support the context manager protocol 279s 279s /usr/lib/python3.13/logging/__init__.py:1025: TypeError 279s =============================== warnings summary =============================== 279s tests/test_multiprocessing.py: 216 warnings 279s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2446) is multi-threaded, use of fork() may lead to deadlocks in the child. 279s self.pid = os.fork() 279s 279s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 279s =========================== short test summary info ============================ 279s FAILED tests/test_exceptions_catch.py::test_file_sink_ascii_encoding - assert... 279s FAILED tests/test_exceptions_catch.py::test_file_sink_utf8_encoding - assert ... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[assertion_error] - ... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[assertion_error_custom] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[assertion_error_in_string] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[attributes] - asser... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[chained_both] - ass... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[encoding] - assert ... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[global_variable] - ... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[indentation_error] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[keyword_argument] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[multilines_repr] - ... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[no_error_message] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[parenthesis] - asse... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[source_multilines] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[source_strings] - a... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[syntax_error] - ass... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[syntax_highlighting] 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[truncating] - asser... 279s FAILED tests/test_exceptions_formatting.py::test_diagnose[unprintable_object] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_lib] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_local] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[callback] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator_from_lib] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[decorated_callback] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[direct] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[indirect] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[string_lib] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[string_source] 279s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[syntaxerror] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_coroutine] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_function] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_generator] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_in_property] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[nested_with_reraise] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_none] 279s FAILED tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_unset] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[type_hints-minimum_python_version0] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[positional_only_argument-minimum_python_version1] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[walrus_operator-minimum_python_version2] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[match_statement-minimum_python_version3] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[exception_group_catch-minimum_python_version4] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[notes-minimum_python_version5] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_simple-minimum_python_version6] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_nested-minimum_python_version7] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_with_cause_and_context-minimum_python_version8] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_as_cause_and_context-minimum_python_version9] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_length-minimum_python_version10] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_depth-minimum_python_version11] 279s FAILED tests/test_exceptions_formatting.py::test_exception_modern[f_string-minimum_python_version12] 279s FAILED tests/test_pickling.py::test_pickling_standard_handler - AssertionErro... 279s FAILED tests/test_pickling.py::test_pickling_standard_handler_root_logger_not_picklable 279s ===== 54 failed, 1413 passed, 30 skipped, 216 warnings in 83.90s (0:01:23) ===== 280s autopkgtest [09:38:47]: test run-unit-test: -----------------------] 282s autopkgtest [09:38:49]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - - 282s run-unit-test FAIL non-zero exit status 1 282s autopkgtest [09:38:49]: test autodep8-python3: preparing testbed 391s autopkgtest [09:40:38]: testbed dpkg architecture: arm64 391s autopkgtest [09:40:38]: testbed apt version: 2.9.8 391s autopkgtest [09:40:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 392s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 392s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB] 393s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB] 393s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 393s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB] 393s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [104 kB] 393s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [50.3 kB] 393s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [601 kB] 393s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [17.1 kB] 393s Fetched 1793 kB in 1s (2106 kB/s) 393s Reading package lists... 395s Reading package lists... 396s Building dependency tree... 396s Reading state information... 396s Calculating upgrade... 397s The following NEW packages will be installed: 397s python3.13-gdbm 397s The following packages will be upgraded: 397s libpython3-stdlib python3 python3-gdbm python3-minimal 397s 4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 397s Need to get 101 kB of archives. 397s After this operation, 141 kB of additional disk space will be used. 397s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.7-1 [27.4 kB] 397s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.7-1 [24.0 kB] 397s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.7-1 [10.0 kB] 397s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-gdbm arm64 3.13.0-2 [30.7 kB] 397s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-gdbm arm64 3.12.7-1 [8642 B] 398s Fetched 101 kB in 0s (289 kB/s) 398s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79924 files and directories currently installed.) 398s Preparing to unpack .../python3-minimal_3.12.7-1_arm64.deb ... 398s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 398s Setting up python3-minimal (3.12.7-1) ... 398s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79924 files and directories currently installed.) 398s Preparing to unpack .../python3_3.12.7-1_arm64.deb ... 398s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 398s Preparing to unpack .../libpython3-stdlib_3.12.7-1_arm64.deb ... 398s Unpacking libpython3-stdlib:arm64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 398s Selecting previously unselected package python3.13-gdbm. 398s Preparing to unpack .../python3.13-gdbm_3.13.0-2_arm64.deb ... 398s Unpacking python3.13-gdbm (3.13.0-2) ... 398s Preparing to unpack .../python3-gdbm_3.12.7-1_arm64.deb ... 398s Unpacking python3-gdbm:arm64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 399s Setting up python3.13-gdbm (3.13.0-2) ... 399s Setting up libpython3-stdlib:arm64 (3.12.7-1) ... 399s Setting up python3 (3.12.7-1) ... 399s Setting up python3-gdbm:arm64 (3.12.7-1) ... 399s Processing triggers for man-db (2.12.1-3) ... 400s Reading package lists... 400s Building dependency tree... 400s Reading state information... 401s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 401s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 401s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 401s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 401s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 402s Reading package lists... 402s Reading package lists... 403s Building dependency tree... 403s Reading state information... 403s Calculating upgrade... 404s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 404s Reading package lists... 404s Building dependency tree... 404s Reading state information... 405s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 411s Reading package lists... 412s Building dependency tree... 412s Reading state information... 412s Starting pkgProblemResolver with broken count: 0 412s Starting 2 pkgProblemResolver with broken count: 0 412s Done 413s The following additional packages will be installed: 413s libpython3.13-minimal libpython3.13-stdlib python3-all python3-colorama 413s python3-loguru python3.13 python3.13-minimal 413s Suggested packages: 413s python3.13-venv python3.13-doc binfmt-support 413s The following NEW packages will be installed: 413s autopkgtest-satdep libpython3.13-minimal libpython3.13-stdlib python3-all 413s python3-colorama python3-loguru python3.13 python3.13-minimal 413s 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. 413s Need to get 5856 kB/5856 kB of archives. 413s After this operation, 24.5 MB of additional disk space will be used. 413s Get:1 /tmp/autopkgtest.X6GDhi/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [716 B] 413s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.0-2 [877 kB] 414s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.0-2 [2100 kB] 414s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.0-2 [2073 kB] 414s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.0-2 [719 kB] 414s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-all arm64 3.12.7-1 [890 B] 414s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-colorama all 0.4.6-4 [32.1 kB] 414s Get:8 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-loguru all 0.7.2-3 [53.2 kB] 414s Fetched 5856 kB in 1s (6834 kB/s) 414s Selecting previously unselected package libpython3.13-minimal:arm64. 414s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 79931 files and directories currently installed.) 414s Preparing to unpack .../0-libpython3.13-minimal_3.13.0-2_arm64.deb ... 414s Unpacking libpython3.13-minimal:arm64 (3.13.0-2) ... 415s Selecting previously unselected package python3.13-minimal. 415s Preparing to unpack .../1-python3.13-minimal_3.13.0-2_arm64.deb ... 415s Unpacking python3.13-minimal (3.13.0-2) ... 415s Selecting previously unselected package libpython3.13-stdlib:arm64. 415s Preparing to unpack .../2-libpython3.13-stdlib_3.13.0-2_arm64.deb ... 415s Unpacking libpython3.13-stdlib:arm64 (3.13.0-2) ... 415s Selecting previously unselected package python3.13. 415s Preparing to unpack .../3-python3.13_3.13.0-2_arm64.deb ... 415s Unpacking python3.13 (3.13.0-2) ... 415s Selecting previously unselected package python3-all. 415s Preparing to unpack .../4-python3-all_3.12.7-1_arm64.deb ... 415s Unpacking python3-all (3.12.7-1) ... 415s Selecting previously unselected package python3-colorama. 415s Preparing to unpack .../5-python3-colorama_0.4.6-4_all.deb ... 415s Unpacking python3-colorama (0.4.6-4) ... 415s Selecting previously unselected package python3-loguru. 415s Preparing to unpack .../6-python3-loguru_0.7.2-3_all.deb ... 415s Unpacking python3-loguru (0.7.2-3) ... 415s Selecting previously unselected package autopkgtest-satdep. 415s Preparing to unpack .../7-2-autopkgtest-satdep.deb ... 415s Unpacking autopkgtest-satdep (0) ... 415s Setting up python3-colorama (0.4.6-4) ... 415s Setting up python3-loguru (0.7.2-3) ... 416s Setting up libpython3.13-minimal:arm64 (3.13.0-2) ... 416s Setting up python3.13-minimal (3.13.0-2) ... 417s Setting up libpython3.13-stdlib:arm64 (3.13.0-2) ... 417s Setting up python3.13 (3.13.0-2) ... 418s Setting up python3-all (3.12.7-1) ... 418s Setting up autopkgtest-satdep (0) ... 418s Processing triggers for man-db (2.12.1-3) ... 418s Processing triggers for systemd (256.5-2ubuntu4) ... 421s (Reading database ... 80733 files and directories currently installed.) 421s Removing autopkgtest-satdep (0) ... 423s autopkgtest [09:41:10]: test autodep8-python3: set -e ; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import loguru; print(loguru)" ; done 423s autopkgtest [09:41:10]: test autodep8-python3: [----------------------- 423s Testing with python3.13: 423s 423s Testing with python3.12: 424s 424s autopkgtest [09:41:11]: test autodep8-python3: -----------------------] 424s autopkgtest [09:41:11]: test autodep8-python3: - - - - - - - - - - results - - - - - - - - - - 424s autodep8-python3 PASS (superficial) 425s autopkgtest [09:41:12]: @@@@@@@@@@@@@@@@@@@@ summary 425s run-unit-test FAIL non-zero exit status 1 425s autodep8-python3 PASS (superficial) 437s nova [W] Skipping flock in bos03-arm64 437s Creating nova instance adt-plucky-arm64-loguru-20241113-093406-juju-7f2275-prod-proposed-migration-environment-20-083b8246-f4a1-431f-aa1c-3b1a36d19943 from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)... 437s nova [W] Skipping flock in bos03-arm64 437s Creating nova instance adt-plucky-arm64-loguru-20241113-093406-juju-7f2275-prod-proposed-migration-environment-20-083b8246-f4a1-431f-aa1c-3b1a36d19943 from image adt/ubuntu-plucky-arm64-server-20241113.img (UUID 2d7760e6-2439-4200-89d6-5ed33e5c6330)...