0s autopkgtest [11:47:33]: starting date and time: 2024-11-13 11:47:33+0000
0s autopkgtest [11:47:33]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky
0s autopkgtest [11:47:33]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ih9c4h0i/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-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-s390x-24.secgroup --name adt-plucky-s390x-loguru-20241113-114733-juju-7f2275-prod-proposed-migration-environment-15-e589393f-3495-4b0c-b144-cd956494ca1f --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-s390x -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/
105s autopkgtest [11:49:18]: testbed dpkg architecture: s390x
105s autopkgtest [11:49:18]: testbed apt version: 2.9.8
105s autopkgtest [11:49:18]: @@@@@@@@@@@@@@@@@@@@ test bed setup
106s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB]
106s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB]
106s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB]
106s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B]
106s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB]
106s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [85.8 kB]
106s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [565 kB]
106s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [16.6 kB]
106s Fetched 1689 kB in 1s (2315 kB/s)
106s Reading package lists...
108s Reading package lists...
109s Building dependency tree...
109s Reading state information...
109s Calculating upgrade...
109s The following NEW packages will be installed:
109s python3.13-gdbm
109s The following packages will be upgraded:
109s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal
109s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
109s Need to get 252 kB of archives.
109s After this operation, 98.3 kB of additional disk space will be used.
109s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-minimal s390x 3.12.7-1 [27.4 kB]
109s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3 s390x 3.12.7-1 [24.0 kB]
109s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libpython3-stdlib s390x 3.12.7-1 [10.0 kB]
109s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-gdbm s390x 3.13.0-2 [31.0 kB]
109s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-gdbm s390x 3.12.7-1 [8642 B]
109s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libgpgme11t64 s390x 1.23.2-5ubuntu4 [151 kB]
109s Fetched 252 kB in 0s (603 kB/s)
110s (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 ... 55510 files and directories currently installed.)
110s Preparing to unpack .../python3-minimal_3.12.7-1_s390x.deb ...
110s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ...
110s Setting up python3-minimal (3.12.7-1) ...
110s (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 ... 55510 files and directories currently installed.)
110s Preparing to unpack .../python3_3.12.7-1_s390x.deb ...
110s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ...
110s Preparing to unpack .../libpython3-stdlib_3.12.7-1_s390x.deb ...
110s Unpacking libpython3-stdlib:s390x (3.12.7-1) over (3.12.6-0ubuntu1) ...
110s Selecting previously unselected package python3.13-gdbm.
110s Preparing to unpack .../python3.13-gdbm_3.13.0-2_s390x.deb ...
110s Unpacking python3.13-gdbm (3.13.0-2) ...
110s Preparing to unpack .../python3-gdbm_3.12.7-1_s390x.deb ...
110s Unpacking python3-gdbm:s390x (3.12.7-1) over (3.12.6-1ubuntu1) ...
110s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_s390x.deb ...
110s Unpacking libgpgme11t64:s390x (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ...
110s Setting up libgpgme11t64:s390x (1.23.2-5ubuntu4) ...
110s Setting up python3.13-gdbm (3.13.0-2) ...
110s Setting up libpython3-stdlib:s390x (3.12.7-1) ...
110s Setting up python3 (3.12.7-1) ...
110s Setting up python3-gdbm:s390x (3.12.7-1) ...
110s Processing triggers for man-db (2.12.1-3) ...
111s Processing triggers for libc-bin (2.40-1ubuntu3) ...
111s Reading package lists...
111s Building dependency tree...
111s Reading state information...
111s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
111s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease
111s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease
112s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease
112s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease
112s Reading package lists...
112s Reading package lists...
112s Building dependency tree...
112s Reading state information...
113s Calculating upgrade...
113s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
113s Reading package lists...
113s Building dependency tree...
113s Reading state information...
113s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
116s autopkgtest [11:49:29]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 12:49:35 UTC 2024
116s autopkgtest [11:49:29]: @@@@@@@@@@@@@@@@@@@@ apt-source loguru
117s Get:1 http://ftpmaster.internal/ubuntu plucky/universe loguru 0.7.2-3 (dsc) [2372 B]
117s Get:2 http://ftpmaster.internal/ubuntu plucky/universe loguru 0.7.2-3 (tar) [444 kB]
117s Get:3 http://ftpmaster.internal/ubuntu plucky/universe loguru 0.7.2-3 (diff) [4080 B]
118s gpgv: Signature made Fri Jan 5 17:19:54 2024 UTC
118s gpgv: using RSA key F1F007320A035541F0A663CA578A0494D1C646D1
118s gpgv: issuer "tille@debian.org"
118s gpgv: Can't check signature: No public key
118s dpkg-source: warning: cannot verify inline signature for ./loguru_0.7.2-3.dsc: no acceptable signature found
118s autopkgtest [11:49:31]: testing package loguru version 0.7.2-3
118s autopkgtest [11:49:31]: build not needed
119s autopkgtest [11:49:32]: test run-unit-test: preparing testbed
121s Reading package lists...
121s Building dependency tree...
121s Reading state information...
121s Starting pkgProblemResolver with broken count: 0
121s Starting 2 pkgProblemResolver with broken count: 0
121s Done
121s The following additional packages will be installed:
121s libpython3.13-minimal libpython3.13-stdlib python3-all python3-colorama
121s python3-dateutil python3-freezegun python3-iniconfig python3-loguru
121s python3-mypy python3-mypy-extensions python3-packaging python3-pluggy
121s python3-psutil python3-pytest python3-six python3.13 python3.13-minimal
121s Suggested packages:
121s python3.13-venv python3.13-doc binfmt-support
121s Recommended packages:
121s python3-lxml python3-orjson
121s The following NEW packages will be installed:
121s autopkgtest-satdep libpython3.13-minimal libpython3.13-stdlib python3-all
121s python3-colorama python3-dateutil python3-freezegun python3-iniconfig
121s python3-loguru python3-mypy python3-mypy-extensions python3-packaging
121s python3-pluggy python3-psutil python3-pytest python3-six python3.13
121s python3.13-minimal
121s 0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded.
121s Need to get 15.4 MB/15.4 MB of archives.
121s After this operation, 66.6 MB of additional disk space will be used.
121s Get:1 /tmp/autopkgtest.xcZOEI/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [732 B]
122s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.0-2 [877 kB]
122s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.0-2 [2172 kB]
123s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.0-2 [2086 kB]
123s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.0-2 [719 kB]
123s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-all s390x 3.12.7-1 [890 B]
123s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB]
123s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x python3-six all 1.16.0-7 [13.1 kB]
123s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-2 [80.3 kB]
123s Get:10 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-freezegun all 1.5.1-1.1 [15.9 kB]
123s Get:11 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B]
123s Get:12 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-loguru all 0.7.2-3 [53.2 kB]
123s Get:13 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mypy-extensions all 1.0.0-1 [6148 B]
123s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x python3-psutil s390x 5.9.8-2build2 [195 kB]
123s Get:15 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-mypy s390x 1.13.0-1 [8794 kB]
124s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.1-1 [41.4 kB]
124s Get:17 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB]
124s Get:18 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.3-1 [251 kB]
125s Fetched 15.4 MB in 3s (4933 kB/s)
125s Selecting previously unselected package libpython3.13-minimal:s390x.
125s (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 ... 55517 files and directories currently installed.)
125s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_s390x.deb ...
125s Unpacking libpython3.13-minimal:s390x (3.13.0-2) ...
125s Selecting previously unselected package python3.13-minimal.
125s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_s390x.deb ...
125s Unpacking python3.13-minimal (3.13.0-2) ...
125s Selecting previously unselected package libpython3.13-stdlib:s390x.
125s Preparing to unpack .../02-libpython3.13-stdlib_3.13.0-2_s390x.deb ...
125s Unpacking libpython3.13-stdlib:s390x (3.13.0-2) ...
125s Selecting previously unselected package python3.13.
125s Preparing to unpack .../03-python3.13_3.13.0-2_s390x.deb ...
125s Unpacking python3.13 (3.13.0-2) ...
125s Selecting previously unselected package python3-all.
125s Preparing to unpack .../04-python3-all_3.12.7-1_s390x.deb ...
125s Unpacking python3-all (3.12.7-1) ...
125s Selecting previously unselected package python3-colorama.
125s Preparing to unpack .../05-python3-colorama_0.4.6-4_all.deb ...
125s Unpacking python3-colorama (0.4.6-4) ...
125s Selecting previously unselected package python3-six.
125s Preparing to unpack .../06-python3-six_1.16.0-7_all.deb ...
125s Unpacking python3-six (1.16.0-7) ...
125s Selecting previously unselected package python3-dateutil.
125s Preparing to unpack .../07-python3-dateutil_2.9.0-2_all.deb ...
125s Unpacking python3-dateutil (2.9.0-2) ...
125s Selecting previously unselected package python3-freezegun.
125s Preparing to unpack .../08-python3-freezegun_1.5.1-1.1_all.deb ...
125s Unpacking python3-freezegun (1.5.1-1.1) ...
125s Selecting previously unselected package python3-iniconfig.
125s Preparing to unpack .../09-python3-iniconfig_1.1.1-2_all.deb ...
125s Unpacking python3-iniconfig (1.1.1-2) ...
125s Selecting previously unselected package python3-loguru.
125s Preparing to unpack .../10-python3-loguru_0.7.2-3_all.deb ...
125s Unpacking python3-loguru (0.7.2-3) ...
125s Selecting previously unselected package python3-mypy-extensions.
125s Preparing to unpack .../11-python3-mypy-extensions_1.0.0-1_all.deb ...
125s Unpacking python3-mypy-extensions (1.0.0-1) ...
125s Selecting previously unselected package python3-psutil.
125s Preparing to unpack .../12-python3-psutil_5.9.8-2build2_s390x.deb ...
125s Unpacking python3-psutil (5.9.8-2build2) ...
125s Selecting previously unselected package python3-mypy.
125s Preparing to unpack .../13-python3-mypy_1.13.0-1_s390x.deb ...
125s Unpacking python3-mypy (1.13.0-1) ...
125s Selecting previously unselected package python3-packaging.
125s Preparing to unpack .../14-python3-packaging_24.1-1_all.deb ...
125s Unpacking python3-packaging (24.1-1) ...
125s Selecting previously unselected package python3-pluggy.
125s Preparing to unpack .../15-python3-pluggy_1.5.0-1_all.deb ...
125s Unpacking python3-pluggy (1.5.0-1) ...
125s Selecting previously unselected package python3-pytest.
125s Preparing to unpack .../16-python3-pytest_8.3.3-1_all.deb ...
125s Unpacking python3-pytest (8.3.3-1) ...
125s Selecting previously unselected package autopkgtest-satdep.
125s Preparing to unpack .../17-1-autopkgtest-satdep.deb ...
125s Unpacking autopkgtest-satdep (0) ...
125s Setting up python3-iniconfig (1.1.1-2) ...
126s Setting up python3-colorama (0.4.6-4) ...
126s Setting up python3-mypy-extensions (1.0.0-1) ...
126s Setting up python3-loguru (0.7.2-3) ...
126s Setting up python3-psutil (5.9.8-2build2) ...
126s Setting up python3-six (1.16.0-7) ...
127s Setting up libpython3.13-minimal:s390x (3.13.0-2) ...
127s Setting up python3-packaging (24.1-1) ...
127s Setting up python3-mypy (1.13.0-1) ...
129s Setting up python3-pluggy (1.5.0-1) ...
129s Setting up python3.13-minimal (3.13.0-2) ...
130s Setting up python3-dateutil (2.9.0-2) ...
130s Setting up libpython3.13-stdlib:s390x (3.13.0-2) ...
130s Setting up python3-freezegun (1.5.1-1.1) ...
130s Setting up python3.13 (3.13.0-2) ...
132s Setting up python3-pytest (8.3.3-1) ...
132s Setting up python3-all (3.12.7-1) ...
132s Setting up autopkgtest-satdep (0) ...
132s Processing triggers for man-db (2.12.1-3) ...
132s Processing triggers for systemd (256.5-2ubuntu4) ...
134s (Reading database ... 57944 files and directories currently installed.)
134s Removing autopkgtest-satdep (0) ...
135s autopkgtest [11:49:48]: test run-unit-test: [-----------------------
135s Testing with python3.13 in /tmp/autopkgtest.xcZOEI/autopkgtest_tmp:
135s ============================= test session starts ==============================
135s platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13
135s cachedir: .pytest_cache
135s rootdir: /tmp/autopkgtest.xcZOEI/autopkgtest_tmp
135s plugins: typeguard-4.4.1
136s collecting ... collected 1497 items
136s
136s tests/test_activation.py::test_disable[-False] PASSED [ 0%]
136s tests/test_activation.py::test_disable[tests-False] PASSED [ 0%]
136s tests/test_activation.py::test_disable[test-True] PASSED [ 0%]
136s tests/test_activation.py::test_disable[testss-True] PASSED [ 0%]
136s tests/test_activation.py::test_disable[tests.-True] PASSED [ 0%]
136s tests/test_activation.py::test_disable[tests.test_activation-False] PASSED [ 0%]
136s tests/test_activation.py::test_disable[tests.test_activation.-True] PASSED [ 0%]
136s tests/test_activation.py::test_disable[test_activation-True] PASSED [ 0%]
136s tests/test_activation.py::test_disable[.-True] PASSED [ 0%]
136s tests/test_activation.py::test_enable[-True] PASSED [ 0%]
136s tests/test_activation.py::test_enable[tests-True] PASSED [ 0%]
136s tests/test_activation.py::test_enable[test-False] PASSED [ 0%]
136s tests/test_activation.py::test_enable[testss-False] PASSED [ 0%]
136s tests/test_activation.py::test_enable[tests.-False] PASSED [ 0%]
136s tests/test_activation.py::test_enable[tests.test_activation-True] PASSED [ 1%]
136s tests/test_activation.py::test_enable[tests.test_activation.-False] PASSED [ 1%]
136s tests/test_activation.py::test_enable[test_activation-False] PASSED [ 1%]
136s tests/test_activation.py::test_enable[.-False] PASSED [ 1%]
136s tests/test_activation.py::test_log_before_enable PASSED [ 1%]
136s tests/test_activation.py::test_log_before_disable PASSED [ 1%]
136s tests/test_activation.py::test_multiple_activations PASSED [ 1%]
136s tests/test_activation.py::test_log_before_enable_f_globals_name_absent PASSED [ 1%]
136s tests/test_activation.py::test_log_before_disable_f_globals_name_absent PASSED [ 1%]
136s tests/test_activation.py::test_f_globals_name_absent_with_others PASSED [ 1%]
136s tests/test_activation.py::test_invalid_enable_name[42] PASSED [ 1%]
136s tests/test_activation.py::test_invalid_enable_name[name1] PASSED [ 1%]
136s tests/test_activation.py::test_invalid_enable_name[name2] PASSED [ 1%]
136s tests/test_activation.py::test_invalid_disable_name[42] PASSED [ 1%]
136s tests/test_activation.py::test_invalid_disable_name[name1] PASSED [ 1%]
136s tests/test_activation.py::test_invalid_disable_name[name2] PASSED [ 2%]
136s tests/test_add_option_backtrace.py::test_backtrace PASSED [ 2%]
136s tests/test_add_option_catch.py::test_catch_is_true PASSED [ 2%]
136s tests/test_add_option_catch.py::test_catch_is_false PASSED [ 2%]
136s tests/test_add_option_catch.py::test_no_sys_stderr PASSED [ 2%]
136s tests/test_add_option_catch.py::test_broken_sys_stderr PASSED [ 2%]
136s tests/test_add_option_catch.py::test_encoding_error PASSED [ 2%]
136s tests/test_add_option_catch.py::test_unprintable_record PASSED [ 2%]
136s tests/test_add_option_catch.py::test_broken_sink_message[False] PASSED [ 2%]
136s tests/test_add_option_catch.py::test_broken_sink_message[True] PASSED [ 2%]
137s tests/test_add_option_catch.py::test_broken_sink_caught_keep_working[False] PASSED [ 2%]
137s tests/test_add_option_catch.py::test_broken_sink_caught_keep_working[True] PASSED [ 2%]
137s tests/test_add_option_catch.py::test_broken_sink_not_caught_enqueue PASSED [ 2%]
137s tests/test_add_option_colorize.py::test_colorized_format[{message}-Foo-\x1b[31mFoo\x1b[0m\n] PASSED [ 2%]
137s tests/test_add_option_colorize.py::test_colorized_format[-Bar-\x1b[31mBar\x1b[0m] PASSED [ 2%]
137s tests/test_add_option_colorize.py::test_colorized_format[{message}-Baz-Baz\n] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_colorized_format[{{{message:}}}-A-{\x1b[31mA\x1b[0m}\n] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorized_format[{message}-Foo-Foo\n] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorized_format[-Bar-Bar] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorized_format[{message}-Baz-Baz\n] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorized_format[{{{message:}}}-A-{A}\n] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_colorize_stream[stream0] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_colorize_stream[stream1] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_colorize_stream[stream2] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorize_stream[stream0] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorize_stream[stream1] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_decolorize_stream[stream2] PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_automatic_detection_when_stream_is_a_tty PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_automatic_detection_when_stream_is_not_a_tty PASSED [ 3%]
137s tests/test_add_option_colorize.py::test_automatic_detection_when_stream_has_no_isatty PASSED [ 3%]
137s tests/test_add_option_context.py::test_using_multiprocessing_directly_if_context_is_none PASSED [ 4%]
137s tests/test_add_option_context.py::test_fork_context_as_string[fork] PASSED [ 4%]
137s tests/test_add_option_context.py::test_fork_context_as_string[forkserver] PASSED [ 4%]
137s tests/test_add_option_context.py::test_spawn_context_as_string PASSED [ 4%]
137s tests/test_add_option_context.py::test_fork_context_as_object[fork] PASSED [ 4%]
137s tests/test_add_option_context.py::test_fork_context_as_object[forkserver] PASSED [ 4%]
137s tests/test_add_option_context.py::test_spawn_context_as_object PASSED [ 4%]
137s tests/test_add_option_context.py::test_global_start_method_is_none_if_enqueue_is_false PASSED [ 4%]
137s tests/test_add_option_context.py::test_invalid_context_name PASSED [ 4%]
137s tests/test_add_option_context.py::test_invalid_context_object[42] PASSED [ 4%]
137s tests/test_add_option_context.py::test_invalid_context_object[context1] PASSED [ 4%]
137s tests/test_add_option_diagnose.py::test_diagnose PASSED [ 4%]
137s tests/test_add_option_enqueue.py::test_enqueue PASSED [ 4%]
137s tests/test_add_option_enqueue.py::test_enqueue_with_exception PASSED [ 4%]
137s tests/test_add_option_enqueue.py::test_caught_exception_queue_put PASSED [ 4%]
137s tests/test_add_option_enqueue.py::test_caught_exception_queue_get PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_caught_exception_sink_write PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_not_caught_exception_queue_put PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_not_caught_exception_queue_get PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_not_caught_exception_sink_write PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_not_caught_exception_sink_write_then_complete PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_not_caught_exception_queue_get_then_complete PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_wait_for_all_messages_enqueued PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_logging_not_picklable_exception[exception_value0] PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_logging_not_picklable_exception[exception_value1] PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_logging_not_unpicklable_exception[exception_value0] PASSED [ 5%]
137s tests/test_add_option_enqueue.py::test_logging_not_unpicklable_exception[exception_value1] PASSED [ 5%]
137s tests/test_add_option_filter.py::test_filterd_in[None] PASSED [ 5%]
137s tests/test_add_option_filter.py::test_filterd_in[] PASSED [ 5%]
137s tests/test_add_option_filter.py::test_filterd_in[tests] PASSED [ 5%]
138s tests/test_add_option_filter.py::test_filterd_in[tests.test_add_option_filter] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[0] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[1] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter6] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter7] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter8] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter9] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter10] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter11] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter12] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter13] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filterd_in[filter14] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filtered_out[test] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filtered_out[testss] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filtered_out[tests.] PASSED [ 6%]
138s tests/test_add_option_filter.py::test_filtered_out[tests.test_add_option_filter.] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[.] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[0] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[1] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[filter7] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[filter8] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[filter9] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[filter10] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[filter11] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_out[filter12] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[None] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter2] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter3] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter4] PASSED [ 7%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter5] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter6] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_in_f_globals_name_absent[filter7] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[tests] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[filter3] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[filter4] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_filtered_out_f_globals_name_absent[filter5] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter[-1] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter[3.4] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter[filter2] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter0] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter1] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter2] PASSED [ 8%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter3] PASSED [ 9%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_types[filter4] PASSED [ 9%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_values[filter0] PASSED [ 9%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_values[filter1] PASSED [ 9%]
138s tests/test_add_option_filter.py::test_invalid_filter_dict_values[filter2] PASSED [ 9%]
138s tests/test_add_option_filter.py::test_filter_dict_with_custom_level PASSED [ 9%]
138s tests/test_add_option_filter.py::test_invalid_filter_builtin PASSED [ 9%]
138s tests/test_add_option_format.py::test_format[a-Message: {message}-Message: a\n] PASSED [ 9%]
138s tests/test_add_option_format.py::test_format[b-Nope-Nope\n] PASSED [ 9%]
138s tests/test_add_option_format.py::test_format[c-{level} {message} {level}-DEBUG c DEBUG\n] PASSED [ 9%]
138s tests/test_add_option_format.py::test_format[d-{message} {level} {level.no} {level.name}-d DEBUG 10 DEBUG\n] PASSED [ 9%]
138s tests/test_add_option_format.py::test_format[e--e] PASSED [ 9%]
138s tests/test_add_option_format.py::test_format[f--f DEBUG] PASSED [ 9%]
138s tests/test_add_option_format.py::test_progressive_format PASSED [ 9%]
138s tests/test_add_option_format.py::test_function_format_without_exception PASSED [ 9%]
138s tests/test_add_option_format.py::test_function_format_with_exception PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_format[-1] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_format[3.4] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_format[format2] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_markups[>] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_markups[] PASSED [ 10%]
138s tests/test_add_option_format.py::test_markup_in_field[True] PASSED [ 10%]
138s tests/test_add_option_format.py::test_markup_in_field[False] PASSED [ 10%]
138s tests/test_add_option_format.py::test_invalid_format_builtin PASSED [ 10%]
138s tests/test_add_option_kwargs.py::test_file_mode_a PASSED [ 10%]
138s tests/test_add_option_kwargs.py::test_file_mode_w PASSED [ 10%]
138s tests/test_add_option_kwargs.py::test_file_auto_buffering PASSED [ 10%]
138s tests/test_add_option_kwargs.py::test_file_line_buffering PASSED [ 11%]
138s tests/test_add_option_kwargs.py::test_invalid_function_kwargs PASSED [ 11%]
138s tests/test_add_option_kwargs.py::test_invalid_file_object_kwargs PASSED [ 11%]
138s tests/test_add_option_kwargs.py::test_invalid_file_kwargs PASSED [ 11%]
138s tests/test_add_option_kwargs.py::test_invalid_coroutine_kwargs PASSED [ 11%]
138s tests/test_add_option_level.py::test_level_low_enough[0] PASSED [ 11%]
138s tests/test_add_option_level.py::test_level_low_enough[TRACE] PASSED [ 11%]
138s tests/test_add_option_level.py::test_level_low_enough[INFO] PASSED [ 11%]
138s tests/test_add_option_level.py::test_level_low_enough[20] PASSED [ 11%]
138s tests/test_add_option_level.py::test_level_too_high[WARNING] PASSED [ 11%]
138s tests/test_add_option_level.py::test_level_too_high[25] PASSED [ 11%]
138s tests/test_add_option_level.py::test_invalid_level[3.4] PASSED [ 11%]
138s tests/test_add_option_level.py::test_invalid_level[level1] PASSED [ 11%]
138s tests/test_add_option_level.py::test_unknown_level[foo] PASSED [ 11%]
138s tests/test_add_option_level.py::test_unknown_level[-1] PASSED [ 11%]
138s tests/test_add_option_serialize.py::test_serialize PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_non_ascii_characters PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_exception PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_exception_without_context PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_exception_none_tuple PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_exception_instance PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_with_catch_decorator PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_with_record_option PASSED [ 12%]
138s tests/test_add_option_serialize.py::test_serialize_not_serializable PASSED [ 12%]
138s tests/test_add_sinks.py::test_stdout_sink[0] PASSED [ 12%]
138s tests/test_add_sinks.py::test_stdout_sink[1] PASSED [ 12%]
138s tests/test_add_sinks.py::test_stdout_sink[2] PASSED [ 12%]
138s tests/test_add_sinks.py::test_stderr_sink[0] PASSED [ 12%]
138s tests/test_add_sinks.py::test_stderr_sink[1] PASSED [ 12%]
138s tests/test_add_sinks.py::test_stderr_sink[2] PASSED [ 12%]
138s tests/test_add_sinks.py::test_devnull[0] PASSED [ 13%]
138s tests/test_add_sinks.py::test_devnull[1] PASSED [ 13%]
138s tests/test_add_sinks.py::test_devnull[2] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[str-0] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[str-1] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[str-2] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[Path-0] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[Path-1] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[Path-2] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[0-0] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[0-1] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[0-2] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[1-0] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[1-1] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink[1-2] PASSED [ 13%]
138s tests/test_add_sinks.py::test_file_sink_folder_creation[0] PASSED [ 14%]
138s tests/test_add_sinks.py::test_file_sink_folder_creation[1] PASSED [ 14%]
138s tests/test_add_sinks.py::test_file_sink_folder_creation[2] PASSED [ 14%]
138s tests/test_add_sinks.py::test_function_sink[0] PASSED [ 14%]
138s tests/test_add_sinks.py::test_function_sink[1] PASSED [ 14%]
138s tests/test_add_sinks.py::test_function_sink[2] PASSED [ 14%]
138s tests/test_add_sinks.py::test_coroutine_sink[0] PASSED [ 14%]
138s tests/test_add_sinks.py::test_coroutine_sink[1] PASSED [ 14%]
138s tests/test_add_sinks.py::test_coroutine_sink[2] PASSED [ 14%]
138s tests/test_add_sinks.py::test_file_object_sink[0] PASSED [ 14%]
138s tests/test_add_sinks.py::test_file_object_sink[1] PASSED [ 14%]
138s tests/test_add_sinks.py::test_file_object_sink[2] PASSED [ 14%]
138s tests/test_add_sinks.py::test_standard_handler_sink[0] PASSED [ 14%]
138s tests/test_add_sinks.py::test_standard_handler_sink[1] PASSED [ 14%]
138s tests/test_add_sinks.py::test_standard_handler_sink[2] PASSED [ 14%]
138s tests/test_add_sinks.py::test_flush[0] PASSED [ 15%]
138s tests/test_add_sinks.py::test_flush[1] PASSED [ 15%]
138s tests/test_add_sinks.py::test_flush[2] PASSED [ 15%]
138s tests/test_add_sinks.py::test_file_sink_ascii_encoding PASSED [ 15%]
138s tests/test_add_sinks.py::test_file_sink_utf8_encoding PASSED [ 15%]
138s tests/test_add_sinks.py::test_file_sink_default_encoding PASSED [ 15%]
139s tests/test_add_sinks.py::test_disabled_logger_in_sink PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_flush[123] PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_flush[None] PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_stop[123] PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_stop[None] PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_complete[123] PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_complete[None] PASSED [ 15%]
139s tests/test_add_sinks.py::test_custom_sink_invalid_complete[] PASSED [ 15%]
139s tests/test_add_sinks.py::test_invalid_sink[123] PASSED [ 15%]
139s tests/test_add_sinks.py::test_invalid_sink[sys] PASSED [ 16%]
139s tests/test_add_sinks.py::test_invalid_sink[sink2] PASSED [ 16%]
139s tests/test_add_sinks.py::test_invalid_sink[int] PASSED [ 16%]
139s tests/test_add_sinks.py::test_deprecated_start_and_stop PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[1m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[2m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[22m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[1m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[2m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_styles[1-\x1b[22m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[41m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[41m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[102m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_background_colors[1-\x1b[102m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[33m1\x1b[0m] PASSED [ 16%]
139s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[33m1\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[97m1\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_foreground_colors[1-\x1b[97m1\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_nested[12-\x1b[1m1\x1b[0m\x1b[2m2\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_nested[123-\x1b[1m1\x1b[0m2\x1b[2m3\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_nested[01234-0\x1b[1m1\x1b[2m2\x1b[0m\x1b[1m3\x1b[0m4] PASSED [ 17%]
139s 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%]
139s tests/test_ansimarkup_basic.py::test_strict_parsing[] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_strict_parsing[] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_strict_parsing[] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_permissive_parsing[-\x1b[1m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_permissive_parsing[-\x1b[43m\x1b[1m\x1b[0m\x1b[43m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_permissive_parsing[-\x1b[1m\x1b[1m\x1b[0m\x1b[1m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_autoclose[foo>-\x1b[31mfoo\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_autoclose[bar>-\x1b[32m\x1b[1mbar\x1b[0m\x1b[32m\x1b[0m] PASSED [ 17%]
139s tests/test_ansimarkup_basic.py::test_autoclose[abc>d>e-a\x1b[33mb\x1b[1mc\x1b[0m\x1b[33md\x1b[0me] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_escaping[foo\\bar-\x1b[31mfoobar\x1b[0m] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_escaping[foo\\bar-\x1b[31mfoobar\x1b[0m] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_escaping[\\\\-] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_escaping[foo\\>bar\\>baz-foo>bar>baz] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True-] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True-1] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True->] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[True-X>] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False-] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 18%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False-1] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False->] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_mismatched_error[False-X>] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unbalanced_error[True-12] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unbalanced_error[True-12] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unbalanced_error[True-] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unbalanced_error[False-12] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unbalanced_error[False-12] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unbalanced_error[False-] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[True-] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[True-] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[True-] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[True-1] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[False-] PASSED [ 19%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[False-] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[False-] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_unclosed_error[False-1] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-bar] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-foobar] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-foo] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-foo] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-12] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-12] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-123] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-123] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[True-1] PASSED [ 20%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-bar] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-foobar] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-foo] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-foo] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-12] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-12] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-123] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-123] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_invalid_color[False-1] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_strip[foo-foo] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_strip[bar-bar] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_strip[baz-baz] PASSED [ 21%]
139s tests/test_ansimarkup_basic.py::test_strip[123-123] PASSED [ 22%]
139s tests/test_ansimarkup_basic.py::test_strip[foo>-foo] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[41m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[40m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[102m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_background_colors[1-\x1b[105m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[33m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[34m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[97m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_foreground_colors[1-\x1b[96m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_8bit_colors[1-\x1b[38;2;255;0;0m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_8bit_colors[1-\x1b[48;2;0;160;0m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_8bit_colors[1-\x1b[38;2;241;47;18m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[38;2;255;0;0m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[48;2;0;160;0m1\x1b[0m] PASSED [ 22%]
139s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[38;2;241;47;18m1\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_hex_colors[1-\x1b[48;2;190;235;238m1\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_rgb_colors[1-\x1b[38;5;200m1\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_rgb_colors[1-\x1b[48;5;49m1\x1b[0m] PASSED [ 23%]
139s 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%]
139s 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%]
139s 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%]
139s 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%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[2 > 1-\x1b[31m2 > 1\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[1 < 2-\x1b[31m1 < 2\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[1 2-\x1b[31m1 2\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[{: <10}1-{: <10}\x1b[31m1\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[{: 10}1-{: 10}\x1b[31m1\x1b[0m] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[1{: >10}-\x1b[31m1\x1b[0m{: >10}] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[<123>-<1\x1b[31m2\x1b[0m3>] PASSED [ 23%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[123>-1\x1b[31m2\x1b[0m3>] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[<12 < 34>-<1\x1b[31m2 < 3\x1b[0m4>] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[<12 34>-<1\x1b[31m2 3\x1b[0m4>] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_tricky_parse[<13 > 24>-<1\x1b[31m3 > 2\x1b[0m4>] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-<>1>] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-<,>1,>] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[True-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 24%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-<>1>] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-<,>1,>] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_color[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[True-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[True-fg #F2D1GZ>1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 25%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[False-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_hex[False-fg #F2D1GZ>1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_8bit[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_8bit[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_8bit[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_8bit[False-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_8bit[False-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_8bit[False-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[True-1] PASSED [ 26%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_invalid_rgb[False-1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_strip[foobar-foobar] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_strip[baz-baz] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_strip[bar-bar] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[2 > 1-2 > 1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[1 < 2-1 < 2] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[1 2-1 2] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[{: <10}1-{: <10}1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[{: 10}1-{: 10}1] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[1{: >10}-1{: >10}] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[<123>-<123>] PASSED [ 27%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[123>-123>] PASSED [ 28%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[<12 < 34>-<12 < 34>] PASSED [ 28%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[<12 34>-<12 34>] PASSED [ 28%]
139s tests/test_ansimarkup_extended.py::test_tricky_strip[<13 > 24>-<13 > 24>] PASSED [ 28%]
139s tests/test_bind.py::test_bind_after_add PASSED [ 28%]
139s tests/test_bind.py::test_bind_before_add PASSED [ 28%]
139s tests/test_bind.py::test_add_using_bound PASSED [ 28%]
139s tests/test_bind.py::test_not_override_parent_logger PASSED [ 28%]
139s tests/test_bind.py::test_override_previous_bound PASSED [ 28%]
139s tests/test_bind.py::test_no_conflict PASSED [ 28%]
139s tests/test_bind.py::test_bind_and_add_level[True] PASSED [ 28%]
139s tests/test_bind.py::test_bind_and_add_level[False] PASSED [ 28%]
139s tests/test_bind.py::test_override_configured PASSED [ 28%]
139s tests/test_colorama.py::test_stream_wrapped_on_windows_if_no_vt_support[__stdout__] SKIPPED [ 28%]
139s tests/test_colorama.py::test_stream_wrapped_on_windows_if_no_vt_support[__stderr__] SKIPPED [ 28%]
139s tests/test_colorama.py::test_stream_not_wrapped_on_windows_if_vt_support[__stdout__] SKIPPED [ 29%]
139s tests/test_colorama.py::test_stream_not_wrapped_on_windows_if_vt_support[__stderr__] SKIPPED [ 29%]
139s tests/test_colorama.py::test_stream_is_none PASSED [ 29%]
139s tests/test_colorama.py::test_is_a_tty PASSED [ 29%]
139s tests/test_colorama.py::test_is_not_a_tty PASSED [ 29%]
139s tests/test_colorama.py::test_is_a_tty_exception PASSED [ 29%]
139s tests/test_colorama.py::test_pycharm_fixed[__stdout__-True] PASSED [ 29%]
139s tests/test_colorama.py::test_pycharm_fixed[__stderr__-True] PASSED [ 29%]
139s tests/test_colorama.py::test_pycharm_fixed[stdout-False] PASSED [ 29%]
139s tests/test_colorama.py::test_pycharm_fixed[stderr-False] PASSED [ 29%]
139s tests/test_colorama.py::test_pycharm_fixed[-False] PASSED [ 29%]
139s tests/test_colorama.py::test_github_actions_fixed[__stdout__-True] PASSED [ 29%]
139s tests/test_colorama.py::test_github_actions_fixed[__stderr__-True] PASSED [ 29%]
139s tests/test_colorama.py::test_github_actions_fixed[stdout-False] PASSED [ 29%]
139s tests/test_colorama.py::test_github_actions_fixed[stderr-False] PASSED [ 29%]
139s tests/test_colorama.py::test_github_actions_fixed[-False] PASSED [ 30%]
139s tests/test_colorama.py::test_mintty_fixed_windows[__stdout__-True] SKIPPED [ 30%]
139s tests/test_colorama.py::test_mintty_fixed_windows[__stderr__-True] SKIPPED [ 30%]
139s tests/test_colorama.py::test_mintty_fixed_windows[stdout-False] SKIPPED [ 30%]
139s tests/test_colorama.py::test_mintty_fixed_windows[stderr-False] SKIPPED [ 30%]
139s tests/test_colorama.py::test_mintty_fixed_windows[-False] SKIPPED (T...) [ 30%]
139s tests/test_colorama.py::test_mintty_not_fixed_linux[__stdout__-False] PASSED [ 30%]
139s tests/test_colorama.py::test_mintty_not_fixed_linux[__stderr__-False] PASSED [ 30%]
139s tests/test_colorama.py::test_mintty_not_fixed_linux[stdout-False] PASSED [ 30%]
139s tests/test_colorama.py::test_mintty_not_fixed_linux[stderr-False] PASSED [ 30%]
139s tests/test_colorama.py::test_mintty_not_fixed_linux[-False] PASSED [ 30%]
139s tests/test_colorama.py::test_jupyter_fixed[stdout-StreamIsattyFalse-True] PASSED [ 30%]
139s tests/test_colorama.py::test_jupyter_fixed[stderr-StreamIsattyFalse-True] PASSED [ 30%]
139s tests/test_colorama.py::test_jupyter_fixed[__stdout__-StreamIsattyFalse-False] PASSED [ 30%]
139s tests/test_colorama.py::test_jupyter_fixed[__stderr__-StreamIsattyFalse-False] PASSED [ 30%]
139s tests/test_colorama.py::test_jupyter_fixed[stdout-StreamIsattyTrue-False] PASSED [ 31%]
139s tests/test_colorama.py::test_jupyter_fixed[stderr-StreamIsattyTrue-False] PASSED [ 31%]
139s tests/test_colorama.py::test_jupyter_fixed[-StreamIsattyFalse-False] PASSED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_on_linux[__stdout__] PASSED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_on_linux[__stderr__] PASSED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_not_original_stdout_or_stderr[stdout] SKIPPED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_not_original_stdout_or_stderr[stderr] SKIPPED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_not_original_stdout_or_stderr[] SKIPPED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_terminal_has_vt_support[__stdout__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_terminal_has_vt_support[__stderr__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_winapi_false[__stdout__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_dont_wrap_if_winapi_false[__stderr__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_no_vt_support[__stdout__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_no_vt_support[__stderr__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_vt_check_fails[__stdout__] SKIPPED [ 31%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_vt_check_fails[__stderr__] SKIPPED [ 32%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_stream_has_no_fileno[__stdout__] SKIPPED [ 32%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_stream_has_no_fileno[__stderr__] SKIPPED [ 32%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_old_colorama_version[__stdout__] SKIPPED [ 32%]
139s tests/test_colorama.py::test_wrap_if_winapi_true_and_old_colorama_version[__stderr__] SKIPPED [ 32%]
139s tests/test_configure.py::test_handlers PASSED [ 32%]
139s tests/test_configure.py::test_levels PASSED [ 32%]
139s tests/test_configure.py::test_extra PASSED [ 32%]
139s tests/test_configure.py::test_patcher PASSED [ 32%]
139s tests/test_configure.py::test_activation PASSED [ 32%]
139s tests/test_configure.py::test_dict_unpacking PASSED [ 32%]
139s tests/test_configure.py::test_returned_ids PASSED [ 32%]
139s tests/test_configure.py::test_dont_reset_by_default PASSED [ 32%]
139s tests/test_configure.py::test_reset_previous_handlers PASSED [ 32%]
139s tests/test_configure.py::test_reset_previous_extra PASSED [ 32%]
139s tests/test_configure.py::test_reset_previous_patcher PASSED [ 33%]
139s tests/test_configure.py::test_dont_reset_previous_levels PASSED [ 33%]
139s tests/test_configure.py::test_configure_handler_using_new_level PASSED [ 33%]
139s tests/test_configure.py::test_configure_filter_using_new_level PASSED [ 33%]
139s tests/test_configure.py::test_configure_before_bind PASSED [ 33%]
139s tests/test_configure.py::test_configure_after_bind PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_as_decorator PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_in_function PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_reset PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_async PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_thread PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_before_bind PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_after_bind PASSED [ 33%]
139s tests/test_contextualize.py::test_contextualize_using_bound PASSED [ 34%]
139s tests/test_contextualize.py::test_contextualize_before_configure PASSED [ 34%]
139s tests/test_contextualize.py::test_contextualize_after_configure PASSED [ 34%]
139s tests/test_contextualize.py::test_nested_contextualize PASSED [ 34%]
139s tests/test_contextualize.py::test_context_reset_despite_error PASSED [ 34%]
139s tests/test_contextualize.py::test_contextvars_fallback_352 PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_coroutine_function PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_async_callable_sink PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_concurrent_execution PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_recursive_coroutine PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_using_another_event_loop PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_run_mutiple_different_loops PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_run_multiple_same_loop PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_using_sink_without_running_loop_not_none PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_using_sink_without_running_loop_none PASSED [ 34%]
139s tests/test_coroutine_sink.py::test_global_loop_not_used PASSED [ 35%]
139s tests/test_coroutine_sink.py::test_complete_in_another_run PASSED [ 35%]
139s tests/test_coroutine_sink.py::test_tasks_cancelled_on_remove PASSED [ 35%]
139s tests/test_coroutine_sink.py::test_remove_without_tasks PASSED [ 35%]
139s tests/test_coroutine_sink.py::test_complete_without_tasks PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_complete_stream_noop PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_complete_file_noop PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_complete_function_noop PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_complete_standard_noop PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_exception_in_coroutine_caught PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_exception_in_coroutine_not_caught PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_exception_in_coroutine_during_complete_caught PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_exception_in_coroutine_during_complete_not_caught PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_enqueue_coroutine_loop PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_enqueue_coroutine_from_inside_coroutine_without_loop PASSED [ 35%]
140s tests/test_coroutine_sink.py::test_custom_complete_function PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_from_another_loop[True] PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_from_another_loop[False] PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_from_multiple_threads_loop_is_none PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_from_multiple_threads_loop_is_not_none PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_and_sink_write_concurrency PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_and_contextualize_concurrency PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_complete_with_sub_processes PASSED [ 36%]
140s tests/test_coroutine_sink.py::test_invalid_coroutine_sink_if_no_loop_with_enqueue PASSED [ 36%]
140s 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%]
140s 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%]
140s 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%]
140s 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%]
140s 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%]
140s 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%]
140s 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%]
140s 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%]
141s 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%]
141s 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%]
141s tests/test_datetime.py::test_formatting[hh A-2018-01-01 00:01:02.000003-timezone10-12 AM] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[hh A-2018-01-01 12:00:00.0-timezone11-12 PM] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[hh A-2018-01-01 23:00:00.0-timezone12-11 PM] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[[YYYY] MM [DD]-2018-02-03 11:09:00.000002-timezone13-YYYY 02 DD] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[[YYYY MM DD]-2018-01-03 11:03:04.000002-timezone14-[2018 01 03]] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[[[YY]]-2018-01-03 11:03:04.000002-timezone15-[YY]] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[[]-2018-01-03 11:03:04.000002-timezone16-] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[[[]]-2018-01-03 11:03:04.000002-timezone17-[]] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[SSSSSS[]SSS[]SSSSSS-2018-01-03 11:03:04.100002-timezone18-100002100100002] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[[HHmmss-2018-01-03 11:03:04.000002-timezone19-[110304] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[HHmmss]-2018-01-03 11:03:04.000002-timezone20-110304]] PASSED [ 37%]
141s tests/test_datetime.py::test_formatting[HH:mm:ss!UTC-2018-01-01 11:30:00.0-timezone21-09:30:00] PASSED [ 38%]
141s tests/test_datetime.py::test_formatting[UTC! HH:mm:ss-2018-01-01 11:30:00.0-timezone22-UTC! 11:30:00] PASSED [ 38%]
141s tests/test_datetime.py::test_formatting[!UTC HH:mm:ss-2018-01-01 11:30:00.0-timezone23-!UTC 11:30:00] PASSED [ 38%]
141s 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%]
141s 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%]
141s tests/test_datetime.py::test_formatting[HH:mm:ss[!UTC]-2018-01-01 11:30:00.0-timezone26-11:30:00!UTC] PASSED [ 38%]
141s tests/test_datetime.py::test_formatting[-2018-02-03 11:09:00.000002-timezone27-2018-02-03T11:09:00.000002+0030] PASSED [ 38%]
141s tests/test_datetime.py::test_formatting[!UTC-2018-02-03 11:09:00.000002-timezone28-2018-02-03T10:39:00.000002+0000] PASSED [ 38%]
141s 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%]
141s 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%]
141s 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%]
141s tests/test_datetime.py::test_locale_formatting PASSED [ 38%]
141s tests/test_datetime.py::test_stdout_formatting PASSED [ 38%]
141s tests/test_datetime.py::test_file_formatting PASSED [ 38%]
141s tests/test_datetime.py::test_missing_struct_time_fields PASSED [ 38%]
141s tests/test_datetime.py::test_freezegun_mocking PASSED [ 39%]
141s tests/test_datetime.py::test_invalid_time_format[ss.SSSSSSS] PASSED [ 39%]
141s tests/test_datetime.py::test_invalid_time_format[SS.SSSSSSSS.SS] PASSED [ 39%]
141s tests/test_datetime.py::test_invalid_time_format[HH:mm:ss.SSSSSSSSS] PASSED [ 39%]
141s tests/test_datetime.py::test_invalid_time_format[SSSSSSSSSS] PASSED [ 39%]
141s tests/test_deepcopy.py::test_add_sink_after_deepcopy PASSED [ 39%]
141s tests/test_deepcopy.py::test_add_sink_before_deepcopy PASSED [ 39%]
141s tests/test_deepcopy.py::test_remove_from_original PASSED [ 39%]
141s tests/test_deepcopy.py::test_remove_from_copy PASSED [ 39%]
141s tests/test_defaults.py::test_string[test] PASSED [ 39%]
141s tests/test_defaults.py::test_string[] PASSED [ 39%]
141s tests/test_defaults.py::test_bool_positive[y] PASSED [ 39%]
141s tests/test_defaults.py::test_bool_positive[1] PASSED [ 39%]
141s tests/test_defaults.py::test_bool_positive[TRUE] PASSED [ 39%]
141s tests/test_defaults.py::test_bool_negative[NO] PASSED [ 39%]
141s tests/test_defaults.py::test_bool_negative[0] PASSED [ 40%]
141s tests/test_defaults.py::test_bool_negative[false] PASSED [ 40%]
141s tests/test_defaults.py::test_int PASSED [ 40%]
141s tests/test_defaults.py::test_invalid_int[] PASSED [ 40%]
141s tests/test_defaults.py::test_invalid_int[a] PASSED [ 40%]
141s tests/test_defaults.py::test_invalid_bool[] PASSED [ 40%]
141s tests/test_defaults.py::test_invalid_bool[a] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_caret_not_masked[False] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_caret_not_masked[True] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_no_caret_if_no_backtrace[False] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_no_caret_if_no_backtrace[True] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_sink_encoding[ascii] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_sink_encoding[UTF8] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_sink_encoding[None] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_sink_encoding[unknown-encoding] PASSED [ 40%]
141s tests/test_exceptions_catch.py::test_sink_encoding[] PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_sink_encoding[encoding5] PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_file_sink_ascii_encoding FAILED [ 41%]
141s tests/test_exceptions_catch.py::test_file_sink_utf8_encoding FAILED [ 41%]
141s tests/test_exceptions_catch.py::test_has_sys_real_prefix PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_no_sys_real_prefix PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_has_site_getsitepackages PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_no_site_getsitepackages PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_user_site_is_path PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_user_site_is_none PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_sysconfig_get_path_return_path PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_sysconfig_get_path_return_none PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_no_exception PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_exception_is_none PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_exception_is_tuple PASSED [ 41%]
141s tests/test_exceptions_catch.py::test_exception_not_raising[ZeroDivisionError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exception_not_raising[ArithmeticError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exception_not_raising[exception2] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exception_raising[ValueError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exception_raising[exception1] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_raising[BaseException-ZeroDivisionError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_raising[BaseException-ArithmeticError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_raising[BaseException-exclude2] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_raising[ZeroDivisionError-ZeroDivisionError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_raising[ZeroDivisionError-ArithmeticError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_raising[ZeroDivisionError-exclude2] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[BaseException-ValueError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[BaseException-exclude1] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[ZeroDivisionError-ValueError] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_exclude_exception_not_raising[ZeroDivisionError-exclude1] PASSED [ 42%]
141s tests/test_exceptions_catch.py::test_reraise PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_onerror PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_onerror_with_reraise PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_decorate_function PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_decorate_coroutine PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_decorate_generator PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_decorate_generator_with_error PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_default_with_function PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_default_with_generator PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_default_with_coroutine PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_error_when_decorating_class_without_parentheses PASSED [ 43%]
141s tests/test_exceptions_catch.py::test_error_when_decorating_class_with_parentheses PASSED [ 43%]
141s tests/test_exceptions_formatting.py::test_backtrace[chained_expression_direct] PASSED [ 43%]
141s tests/test_exceptions_formatting.py::test_backtrace[chained_expression_indirect] PASSED [ 43%]
142s tests/test_exceptions_formatting.py::test_backtrace[chaining_first] PASSED [ 43%]
142s tests/test_exceptions_formatting.py::test_backtrace[chaining_second] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[chaining_third] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[enqueue] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[enqueue_with_others_handlers] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[frame_values_backward] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[frame_values_forward] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[function] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[head_recursion] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[missing_attributes_traceback_objects] PASSED [ 44%]
142s tests/test_exceptions_formatting.py::test_backtrace[nested] PASSED [ 44%]
143s tests/test_exceptions_formatting.py::test_backtrace[nested_chained_catch_up] PASSED [ 44%]
143s tests/test_exceptions_formatting.py::test_backtrace[nested_decorator_catch_up] PASSED [ 44%]
143s tests/test_exceptions_formatting.py::test_backtrace[nested_explicit_catch_up] PASSED [ 44%]
143s tests/test_exceptions_formatting.py::test_backtrace[nested_wrapping] PASSED [ 44%]
143s tests/test_exceptions_formatting.py::test_backtrace[no_tb] PASSED [ 44%]
143s tests/test_exceptions_formatting.py::test_backtrace[not_enough_arguments] PASSED [ 45%]
143s tests/test_exceptions_formatting.py::test_backtrace[raising_recursion] PASSED [ 45%]
143s tests/test_exceptions_formatting.py::test_backtrace[suppressed_expression_direct] PASSED [ 45%]
143s tests/test_exceptions_formatting.py::test_backtrace[suppressed_expression_indirect] PASSED [ 45%]
143s tests/test_exceptions_formatting.py::test_backtrace[tail_recursion] PASSED [ 45%]
144s tests/test_exceptions_formatting.py::test_backtrace[too_many_arguments] PASSED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[assertion_error] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[assertion_error_custom] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[assertion_error_in_string] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[attributes] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[chained_both] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[encoding] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[global_variable] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[indentation_error] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[keyword_argument] FAILED [ 45%]
144s tests/test_exceptions_formatting.py::test_diagnose[multilines_repr] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[no_error_message] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[parenthesis] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[source_multilines] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[source_strings] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[syntax_error] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[syntax_highlighting] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[truncating] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_diagnose[unprintable_object] FAILED [ 46%]
145s tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_lib] FAILED [ 46%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_local] FAILED [ 46%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[callback] FAILED [ 46%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator] FAILED [ 46%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator_from_lib] FAILED [ 46%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[decorated_callback] FAILED [ 46%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[direct] FAILED [ 47%]
146s tests/test_exceptions_formatting.py::test_exception_ownership[indirect] FAILED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_ownership[string_lib] FAILED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_ownership[string_source] FAILED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_ownership[syntaxerror] FAILED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_others[assertionerror_without_traceback] PASSED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_others[catch_as_context_manager] PASSED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_others[catch_as_decorator_with_parentheses] PASSED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_others[catch_as_decorator_without_parentheses] PASSED [ 47%]
147s tests/test_exceptions_formatting.py::test_exception_others[catch_as_function] PASSED [ 47%]
148s tests/test_exceptions_formatting.py::test_exception_others[catch_message] PASSED [ 47%]
148s tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_coroutine] FAILED [ 47%]
148s tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_function] FAILED [ 47%]
148s tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_generator] FAILED [ 47%]
148s tests/test_exceptions_formatting.py::test_exception_others[exception_in_property] FAILED [ 47%]
148s tests/test_exceptions_formatting.py::test_exception_others[handler_formatting_with_context_manager] PASSED [ 48%]
148s tests/test_exceptions_formatting.py::test_exception_others[handler_formatting_with_decorator] PASSED [ 48%]
148s tests/test_exceptions_formatting.py::test_exception_others[level_name] PASSED [ 48%]
148s tests/test_exceptions_formatting.py::test_exception_others[level_number] PASSED [ 48%]
148s tests/test_exceptions_formatting.py::test_exception_others[message_formatting_with_context_manager] PASSED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[message_formatting_with_decorator] PASSED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[nested_with_reraise] FAILED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[syntaxerror_without_traceback] PASSED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit] FAILED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_negative] PASSED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_none] FAILED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_unset] FAILED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_others[zerodivisionerror_without_traceback] PASSED [ 48%]
149s tests/test_exceptions_formatting.py::test_exception_modern[type_hints-minimum_python_version0] FAILED [ 48%]
150s tests/test_exceptions_formatting.py::test_exception_modern[positional_only_argument-minimum_python_version1] FAILED [ 48%]
150s tests/test_exceptions_formatting.py::test_exception_modern[walrus_operator-minimum_python_version2] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[match_statement-minimum_python_version3] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[exception_group_catch-minimum_python_version4] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[notes-minimum_python_version5] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[grouped_simple-minimum_python_version6] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[grouped_nested-minimum_python_version7] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[grouped_with_cause_and_context-minimum_python_version8] FAILED [ 49%]
150s tests/test_exceptions_formatting.py::test_exception_modern[grouped_as_cause_and_context-minimum_python_version9] FAILED [ 49%]
151s tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_length-minimum_python_version10] FAILED [ 49%]
151s tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_depth-minimum_python_version11] FAILED [ 49%]
151s tests/test_exceptions_formatting.py::test_exception_modern[f_string-minimum_python_version12] FAILED [ 49%]
151s tests/test_exceptions_formatting.py::test_group_exception_using_backport SKIPPED [ 49%]
151s tests/test_filesink_compression.py::test_compression_ext[gz] PASSED [ 49%]
151s tests/test_filesink_compression.py::test_compression_ext[bz2] PASSED [ 49%]
151s tests/test_filesink_compression.py::test_compression_ext[zip] PASSED [ 49%]
151s tests/test_filesink_compression.py::test_compression_ext[xz] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_ext[lzma] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_ext[tar] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_ext[tar.gz] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_ext[tar.bz2] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_ext[tar.xz] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_function PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_rotation[a] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_rotation[a+] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_rotation[w] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_rotation[x] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[a] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[a+] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[w] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_compression_at_remove_without_rotation[x] PASSED [ 50%]
151s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[a] PASSED [ 51%]
151s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[a+] PASSED [ 51%]
151s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[w] PASSED [ 51%]
151s tests/test_filesink_compression.py::test_no_compression_at_remove_with_rotation[x] PASSED [ 51%]
151s tests/test_filesink_compression.py::test_rename_existing_with_creation_time PASSED [ 51%]
151s tests/test_filesink_compression.py::test_renaming_compression_dest_exists PASSED [ 51%]
151s tests/test_filesink_compression.py::test_renaming_compression_dest_exists_with_time PASSED [ 51%]
151s tests/test_filesink_compression.py::test_compression_use_renamed_file_after_rotation PASSED [ 51%]
152s tests/test_filesink_compression.py::test_threaded_compression_after_rotation PASSED [ 51%]
152s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation[True] PASSED [ 51%]
152s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation[False] PASSED [ 51%]
152s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation_not_caught[True] PASSED [ 51%]
152s tests/test_filesink_compression.py::test_exception_during_compression_at_rotation_not_caught[False] PASSED [ 51%]
152s tests/test_filesink_compression.py::test_exception_during_compression_at_remove[True] PASSED [ 51%]
152s tests/test_filesink_compression.py::test_exception_during_compression_at_remove[False] PASSED [ 51%]
152s tests/test_filesink_compression.py::test_invalid_compression[0] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_invalid_compression[True] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_invalid_compression[os] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_invalid_compression[compression3] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_invalid_compression[compression4] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_unknown_compression[rar] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_unknown_compression[.7z] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_unknown_compression[tar.zip] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_unknown_compression[__dict__] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_gzip_module_unavailable[gz] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_gzip_module_unavailable[tar.gz] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_bz2_module_unavailable[bz2] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_bz2_module_unavailable[tar.bz2] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_lzma_module_unavailable[xz] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_lzma_module_unavailable[lzma] PASSED [ 52%]
152s tests/test_filesink_compression.py::test_lzma_module_unavailable[tar.xz] PASSED [ 53%]
152s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar] PASSED [ 53%]
152s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar.gz] PASSED [ 53%]
152s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar.bz2] PASSED [ 53%]
152s tests/test_filesink_compression.py::test_tarfile_module_unavailable[tar.xz] PASSED [ 53%]
152s tests/test_filesink_compression.py::test_zipfile_module_unavailable[zip] PASSED [ 53%]
152s tests/test_filesink_delay.py::test_file_not_delayed PASSED [ 53%]
152s tests/test_filesink_delay.py::test_file_delayed PASSED [ 53%]
152s tests/test_filesink_delay.py::test_compression PASSED [ 53%]
152s tests/test_filesink_delay.py::test_compression_early_remove PASSED [ 53%]
152s tests/test_filesink_delay.py::test_retention PASSED [ 53%]
152s tests/test_filesink_delay.py::test_retention_early_remove PASSED [ 53%]
152s tests/test_filesink_delay.py::test_rotation PASSED [ 53%]
152s tests/test_filesink_delay.py::test_rotation_early_remove PASSED [ 53%]
153s tests/test_filesink_delay.py::test_rotation_and_retention PASSED [ 53%]
153s tests/test_filesink_delay.py::test_rotation_and_retention_timed_file PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_log_file_permissions[511] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_log_file_permissions[502] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_log_file_permissions[484] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_log_file_permissions[448] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_log_file_permissions[393] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_rotation_permissions[511] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_rotation_permissions[502] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_rotation_permissions[484] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_rotation_permissions[448] PASSED [ 54%]
153s tests/test_filesink_permissions.py::test_rotation_permissions[393] PASSED [ 54%]
153s tests/test_filesink_retention.py::test_retention_time[1 hour] PASSED [ 54%]
153s tests/test_filesink_retention.py::test_retention_time[1H] PASSED [ 54%]
153s tests/test_filesink_retention.py::test_retention_time[ 1 h ] PASSED [ 54%]
153s tests/test_filesink_retention.py::test_retention_time[retention3] PASSED [ 54%]
153s tests/test_filesink_retention.py::test_retention_count[0] PASSED [ 55%]
153s tests/test_filesink_retention.py::test_retention_count[1] PASSED [ 55%]
153s tests/test_filesink_retention.py::test_retention_count[10] PASSED [ 55%]
153s tests/test_filesink_retention.py::test_retention_function PASSED [ 55%]
153s tests/test_filesink_retention.py::test_managed_files PASSED [ 55%]
154s tests/test_filesink_retention.py::test_not_managed_files PASSED [ 55%]
154s tests/test_filesink_retention.py::test_no_duplicates_in_listed_files[test] PASSED [ 55%]
154s tests/test_filesink_retention.py::test_no_duplicates_in_listed_files[test.log] PASSED [ 55%]
154s tests/test_filesink_retention.py::test_directories_ignored PASSED [ 55%]
154s tests/test_filesink_retention.py::test_manage_formatted_files PASSED [ 55%]
154s tests/test_filesink_retention.py::test_date_with_dot_after_extension PASSED [ 55%]
154s tests/test_filesink_retention.py::test_symbol_in_filename PASSED [ 55%]
154s tests/test_filesink_retention.py::test_manage_file_without_extension PASSED [ 55%]
154s tests/test_filesink_retention.py::test_manage_formatted_files_without_extension PASSED [ 55%]
154s tests/test_filesink_retention.py::test_retention_at_rotation[a] PASSED [ 55%]
154s tests/test_filesink_retention.py::test_retention_at_rotation[a+] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_retention_at_rotation[w] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_retention_at_rotation[x] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[a] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[a+] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[w] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_retention_at_remove_without_rotation[x] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[w] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[x] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[a] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_no_retention_at_remove_with_rotation[a+] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_no_renaming PASSED [ 56%]
154s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation[True] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation[False] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation_not_caught[True] PASSED [ 56%]
154s tests/test_filesink_retention.py::test_exception_during_retention_at_rotation_not_caught[False] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_exception_during_retention_at_remove[True] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_exception_during_retention_at_remove[False] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_invalid_retention[retention0] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_invalid_retention[os] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_invalid_retention[retention2] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[W5] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[monday at 14:00] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[sunday] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[nope] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[5 MB] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[3 hours 2 dayz] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[d] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[H] PASSED [ 57%]
154s tests/test_filesink_retention.py::test_unkown_retention[__dict__] PASSED [ 57%]
154s tests/test_filesink_rotation.py::test_renaming PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_no_renaming PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[8] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[8.0] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[7.99] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[8 B] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[8e-6MB] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[0.008 kiB] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_size_rotation[64b] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[13-hours0] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[13:00-hours1] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[13:00:00-hours2] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[13:00:00.123456-hours3] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[11:00-hours4] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[w0-hours5] PASSED [ 58%]
154s tests/test_filesink_rotation.py::test_time_rotation[W0 at 00:00-hours6] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[W6-hours7] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[saturday-hours8] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[w6 at 00-hours9] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[ W6 at 13 -hours10] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[w2 at 11:00:00 AM-hours11] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[MoNdAy at 11:00:30.123-hours12] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[sunday-hours13] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[SUNDAY at 11:00-hours14] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[sunDAY at 1:0:0.0 pm-hours15] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[when16-hours16] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[when17-hours17] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[2 h-hours18] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[1 hour-hours19] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[7 days-hours20] PASSED [ 59%]
154s tests/test_filesink_rotation.py::test_time_rotation[1h 30 minutes-hours21] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[1 w, 2D-hours22] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[1.5d-hours23] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[1.222 hours, 3.44s-hours24] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[when25-hours25] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[when26-hours26] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[hourly-hours27] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[daily-hours28] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[WEEKLY-hours29] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[mOnthLY-hours30] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[monthly-hours31] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation[Yearly -hours32] PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation_dst PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation_with_tzinfo_diff_bigger PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation_with_tzinfo_diff_lower PASSED [ 60%]
154s tests/test_filesink_rotation.py::test_time_rotation_with_tzinfo_utc PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_multiple_days_at_midnight_utc PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_daily_rotation_with_different_timezone[-3600] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_daily_rotation_with_different_timezone[0] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_daily_rotation_with_different_timezone[3600] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation0] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation1] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation2] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[rotation3] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_forward[03:30:00] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_when_positive_timezone_changes_forward[rotation0] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_when_positive_timezone_changes_forward[02:30:00] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation0] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation1] PASSED [ 61%]
154s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation2] PASSED [ 61%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[rotation3] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_forward[03:30:00] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_when_negative_timezone_changes_forward[rotation0] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_when_negative_timezone_changes_forward[02:30:00] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_aware[rotation0] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_aware[rotation1] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_aware[rotation2] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_naive[rotation0] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_positive_timezone_changes_backward_naive[02:30:00] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_aware[rotation0] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_aware[rotation1] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_aware[rotation2] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_naive[rotation0] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_after_negative_timezone_changes_backward_naive[02:30:00] PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_time_rotation_when_timezone_changes_backward_rename_file PASSED [ 62%]
155s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[00:15] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation1] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation2] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation3] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_earlier_when_utc_is_one_day_before[rotation4] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[23:45] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation1] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation2] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation3] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_dont_rotate_later_when_utc_is_one_day_after[rotation4] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_rotation_at_midnight_with_date_in_filename[timezone0] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_rotation_at_midnight_with_date_in_filename[timezone1] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_rotation_at_midnight_with_date_in_filename[timezone2] PASSED [ 63%]
155s tests/test_filesink_rotation.py::test_time_rotation_reopening_native[False] SKIPPED [ 63%]
155s tests/test_filesink_rotation.py::test_time_rotation_reopening_native[True] SKIPPED [ 63%]
160s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_attributeerror[False] PASSED [ 64%]
165s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_attributeerror[True] PASSED [ 64%]
170s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_oserror[False] PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_time_rotation_reopening_xattr_oserror[True] PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_time_rotation_windows_no_setctime SKIPPED [ 64%]
175s tests/test_filesink_rotation.py::test_time_rotation_windows_setctime_exception[ValueError] SKIPPED [ 64%]
175s tests/test_filesink_rotation.py::test_time_rotation_windows_setctime_exception[OSError] SKIPPED [ 64%]
175s tests/test_filesink_rotation.py::test_function_rotation PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_rotation_at_remove[w] PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_rotation_at_remove[x] PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_no_rotation_at_remove[a] PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_no_rotation_at_remove[a+] PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_rename_existing_with_creation_time PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_renaming_rotation_dest_exists PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_renaming_rotation_dest_exists_with_time PASSED [ 64%]
175s tests/test_filesink_rotation.py::test_exception_during_rotation PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_exception_during_rotation_not_caught PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_recipe_rotation_both_size_and_time PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_invalid_rotation[rotation0] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_invalid_rotation[os] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_invalid_rotation[rotation2] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_invalid_rotation[rotation3] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_invalid_rotation[1j] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[w7] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[w10] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[w-1] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[h] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[M] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[w1at13] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[www] PASSED [ 65%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[13 at w2] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[w] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[K] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[tufy MB] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[111.111.111 kb] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[3 Ki] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[2017.11.12] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[11:99] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[01:00:00!UTC] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[monday at 2017] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[e days] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[2 days 8 pouooi] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[foobar] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[w5 at [not|a|time]] PASSED [ 66%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[[not|a|day] at 12:00] PASSED [ 67%]
175s tests/test_filesink_rotation.py::test_unknown_rotation[__dict__] PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_deleted_before_write_without_delay PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_deleted_before_write_with_delay PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_path_containing_placeholder PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_reopened_with_arguments PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_manually_changed PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_folder_deleted PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_deleted_before_rotation PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_deleted_before_compression PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_deleted_before_retention PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_correctly_reused_after_rotation PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_closed_without_being_logged[None-True] PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_closed_without_being_logged[None-False] PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_closed_without_being_logged[-True] PASSED [ 67%]
175s tests/test_filesink_watch.py::test_file_closed_without_being_logged[-False] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{name}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{time}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{elapsed}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{elapsed.seconds}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{line}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{level}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{level.name}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{level.no}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{level.icon}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{file}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{file.name}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{file.path}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{function}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{module}-] PASSED [ 68%]
175s tests/test_formatting.py::test_log_formatters[False-{thread}-] PASSED [ 69%]
175s tests/test_formatting.py::test_log_formatters[False-{thread.id}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[False-{thread.name}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[False-{process}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[False-{process.id}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[False-{process.name}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[False-{message}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[False-%s {{a}} \u5929 {{1}} %d-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{name}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{time}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{elapsed}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{elapsed.seconds}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{line}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{level}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{level.name}-] PASSED [ 69%]
176s tests/test_formatting.py::test_log_formatters[True-{level.no}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{level.icon}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{file}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{file.name}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{file.path}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{function}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{module}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{thread}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{thread.id}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{thread.name}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{process}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{process.id}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{process.name}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-{message}-] PASSED [ 70%]
176s tests/test_formatting.py::test_log_formatters[True-%s {{a}} \u5929 {{1}} %d-] PASSED [ 70%]
176s tests/test_formatting.py::test_file_formatters[file-{time}.log-] PASSED [ 71%]
176s tests/test_formatting.py::test_file_formatters[file-%s_{{a}}_\u5929_{{1}}_%d-] PASSED [ 71%]
176s tests/test_formatting.py::test_file_formatters[dir-{time}.log-] PASSED [ 71%]
176s tests/test_formatting.py::test_file_formatters[dir-%s_{{a}}_\u5929_{{1}}_%d-] PASSED [ 71%]
176s tests/test_formatting.py::test_file_formatters[both-{time}.log-] PASSED [ 71%]
176s tests/test_formatting.py::test_file_formatters[both-%s_{{a}}_\u5929_{{1}}_%d-] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{1, 2, 3} - {0} - {-args0-kwargs0-{1, 2, 3} - {0} - {] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{} + {} = {}-args1-kwargs1-1 + 2 = 3] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{a} + {b} = {c}-args2-kwargs2-1 + 2 = 3] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{0} + {two} = {1}-args3-kwargs3-1 + 2 = 3] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{self} or {message} or {level}-args4-kwargs4-a or b or c] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{:.2f}-args5-kwargs5-1.00] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{0:0{three}d}-args6-kwargs6-005] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[False-{{nope}} {my_dict} {}-args7-kwargs7-{nope} {'a': 1} {{!}}] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[True-{1, 2, 3} - {0} - {-args0-kwargs0-{1, 2, 3} - {0} - {] PASSED [ 71%]
176s tests/test_formatting.py::test_log_formatting[True-{} + {} = {}-args1-kwargs1-1 + 2 = 3] PASSED [ 72%]
176s tests/test_formatting.py::test_log_formatting[True-{a} + {b} = {c}-args2-kwargs2-1 + 2 = 3] PASSED [ 72%]
176s tests/test_formatting.py::test_log_formatting[True-{0} + {two} = {1}-args3-kwargs3-1 + 2 = 3] PASSED [ 72%]
176s tests/test_formatting.py::test_log_formatting[True-{self} or {message} or {level}-args4-kwargs4-a or b or c] PASSED [ 72%]
176s tests/test_formatting.py::test_log_formatting[True-{:.2f}-args5-kwargs5-1.00] PASSED [ 72%]
176s tests/test_formatting.py::test_log_formatting[True-{0:0{three}d}-args6-kwargs6-005] PASSED [ 72%]
176s tests/test_formatting.py::test_log_formatting[True-{{nope}} {my_dict} {}-args7-kwargs7-{nope} {'a': 1} {{!}}] PASSED [ 72%]
176s tests/test_formatting.py::test_f_globals_name_absent PASSED [ 72%]
176s tests/test_formatting.py::test_extra_formatting PASSED [ 72%]
176s tests/test_formatting.py::test_kwargs_in_extra_dict PASSED [ 72%]
176s tests/test_formatting.py::test_non_string_message PASSED [ 72%]
176s tests/test_formatting.py::test_non_string_message_is_str_in_record[True] PASSED [ 72%]
176s tests/test_formatting.py::test_non_string_message_is_str_in_record[False] PASSED [ 72%]
176s tests/test_formatting.py::test_missing_positional_field_during_formatting[True] PASSED [ 72%]
176s tests/test_formatting.py::test_missing_positional_field_during_formatting[False] PASSED [ 72%]
176s tests/test_formatting.py::test_missing_named_field_during_formatting[True] PASSED [ 73%]
176s tests/test_formatting.py::test_missing_named_field_during_formatting[False] PASSED [ 73%]
176s tests/test_formatting.py::test_not_formattable_message PASSED [ 73%]
176s tests/test_formatting.py::test_not_formattable_message_with_colors PASSED [ 73%]
176s tests/test_formatting.py::test_invalid_color_markup PASSED [ 73%]
176s tests/test_get_frame.py::test_with_sys_getframe PASSED [ 73%]
176s tests/test_get_frame.py::test_without_sys_getframe PASSED [ 73%]
176s tests/test_get_frame.py::test_get_frame_fallback PASSED [ 73%]
176s tests/test_interception.py::test_formatting PASSED [ 73%]
176s tests/test_interception.py::test_intercept PASSED [ 73%]
176s tests/test_interception.py::test_add_before_intercept PASSED [ 73%]
176s tests/test_interception.py::test_remove_interception PASSED [ 73%]
176s tests/test_interception.py::test_intercept_too_low PASSED [ 73%]
176s tests/test_interception.py::test_multiple_intercept PASSED [ 73%]
176s tests/test_interception.py::test_exception PASSED [ 73%]
176s tests/test_interception.py::test_level_is_no PASSED [ 74%]
176s tests/test_interception.py::test_level_does_not_exist PASSED [ 74%]
176s tests/test_interception.py::test_level_exist_builtin PASSED [ 74%]
176s tests/test_interception.py::test_level_exists_custom PASSED [ 74%]
176s tests/test_interception.py::test_using_logging_function PASSED [ 74%]
176s tests/test_levels.py::test_log_int_level PASSED [ 74%]
176s tests/test_levels.py::test_log_str_level PASSED [ 74%]
177s tests/test_levels.py::test_add_level PASSED [ 74%]
177s tests/test_levels.py::test_add_level_after_add[False-foo | 10 | a] PASSED [ 74%]
177s tests/test_levels.py::test_add_level_after_add[True-\x1b[31mfoo | 10 | a\x1b[0m] PASSED [ 74%]
177s tests/test_levels.py::test_add_level_then_log_with_int_value PASSED [ 74%]
177s tests/test_levels.py::test_add_malicious_level PASSED [ 74%]
177s tests/test_levels.py::test_add_existing_level PASSED [ 74%]
177s tests/test_levels.py::test_blank_color PASSED [ 74%]
177s tests/test_levels.py::test_edit_level PASSED [ 74%]
177s tests/test_levels.py::test_edit_existing_level PASSED [ 75%]
177s tests/test_levels.py::test_get_level PASSED [ 75%]
177s tests/test_levels.py::test_get_existing_level PASSED [ 75%]
177s tests/test_levels.py::test_add_custom_level PASSED [ 75%]
177s tests/test_levels.py::test_updating_min_level PASSED [ 75%]
177s tests/test_levels.py::test_assign_custom_level_method PASSED [ 75%]
177s tests/test_levels.py::test_updating_level_no_not_allowed_default PASSED [ 75%]
177s tests/test_levels.py::test_updating_level_no_not_allowed_custom PASSED [ 75%]
177s tests/test_levels.py::test_log_invalid_level_type[3.4] PASSED [ 75%]
177s tests/test_levels.py::test_log_invalid_level_type[level1] PASSED [ 75%]
177s tests/test_levels.py::test_log_invalid_level_type[level2] PASSED [ 75%]
177s tests/test_levels.py::test_log_invalid_level_value[-1] PASSED [ 75%]
177s tests/test_levels.py::test_log_invalid_level_value[-999] PASSED [ 75%]
177s tests/test_levels.py::test_log_unknown_level[foo] PASSED [ 75%]
177s tests/test_levels.py::test_log_unknown_level[debug] PASSED [ 75%]
177s tests/test_levels.py::test_add_invalid_level_name[10] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_name[level_name1] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_name[level_name2] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_type[1] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_type[level_value1] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_type[3.4] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_type[level_value3] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_value[-1] PASSED [ 76%]
177s tests/test_levels.py::test_add_invalid_level_value[-999] PASSED [ 76%]
177s tests/test_levels.py::test_get_invalid_level[10] PASSED [ 76%]
177s tests/test_levels.py::test_get_invalid_level[level1] PASSED [ 76%]
177s tests/test_levels.py::test_get_invalid_level[level2] PASSED [ 76%]
177s tests/test_levels.py::test_get_unknown_level PASSED [ 76%]
177s tests/test_levels.py::test_edit_invalid_level[10] PASSED [ 76%]
177s tests/test_levels.py::test_edit_invalid_level[level1] PASSED [ 76%]
177s tests/test_levels.py::test_edit_invalid_level[level2] PASSED [ 77%]
177s tests/test_levels.py::test_edit_unknown_level[foo] PASSED [ 77%]
177s tests/test_levels.py::test_edit_unknown_level[debug] PASSED [ 77%]
177s tests/test_levels.py::test_add_invalid_level_color[>] PASSED [ 77%]
177s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%]
177s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%]
177s tests/test_levels.py::test_add_invalid_level_color[] PASSED [ 77%]
177s tests/test_levels.py::test_add_invalid_level_color[ ] PASSED [ 77%]
177s tests/test_locks.py::test_no_deadlock_on_generational_garbage_collection PASSED [ 77%]
177s tests/test_locks.py::test_no_deadlock_if_logger_used_inside_sink_with_catch PASSED [ 77%]
177s tests/test_locks.py::test_no_deadlock_if_logger_used_inside_sink_without_catch PASSED [ 77%]
178s tests/test_locks.py::test_no_error_if_multithreading PASSED [ 77%]
178s tests/test_locks.py::test_pickled_logger_does_not_inherit_acquired_local PASSED [ 77%]
179s tests/test_multiprocessing.py::test_apply_spawn PASSED [ 77%]
179s tests/test_multiprocessing.py::test_apply_fork PASSED [ 77%]
179s tests/test_multiprocessing.py::test_apply_inheritance PASSED [ 78%]
179s tests/test_multiprocessing.py::test_apply_async_spawn PASSED [ 78%]
179s tests/test_multiprocessing.py::test_apply_async_fork PASSED [ 78%]
179s tests/test_multiprocessing.py::test_apply_async_inheritance PASSED [ 78%]
179s tests/test_multiprocessing.py::test_process_spawn PASSED [ 78%]
179s tests/test_multiprocessing.py::test_process_fork PASSED [ 78%]
179s tests/test_multiprocessing.py::test_process_inheritance PASSED [ 78%]
179s tests/test_multiprocessing.py::test_remove_in_child_process_spawn PASSED [ 78%]
179s tests/test_multiprocessing.py::test_remove_in_child_process_fork PASSED [ 78%]
179s tests/test_multiprocessing.py::test_remove_in_child_process_inheritance PASSED [ 78%]
180s tests/test_multiprocessing.py::test_remove_in_main_process_spawn PASSED [ 78%]
180s tests/test_multiprocessing.py::test_remove_in_main_process_fork PASSED [ 78%]
181s tests/test_multiprocessing.py::test_remove_in_main_process_inheritance PASSED [ 78%]
181s tests/test_multiprocessing.py::test_await_complete_spawn PASSED [ 78%]
181s tests/test_multiprocessing.py::test_await_complete_fork PASSED [ 78%]
181s tests/test_multiprocessing.py::test_await_complete_inheritance PASSED [ 79%]
181s tests/test_multiprocessing.py::test_not_picklable_sinks_spawn PASSED [ 79%]
181s tests/test_multiprocessing.py::test_not_picklable_sinks_fork PASSED [ 79%]
181s tests/test_multiprocessing.py::test_not_picklable_sinks_inheritance PASSED [ 79%]
182s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[True-True] PASSED [ 79%]
183s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[True-False] PASSED [ 79%]
184s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[False-True] PASSED [ 79%]
185s tests/test_multiprocessing.py::test_no_deadlock_if_internal_lock_in_use[False-False] PASSED [ 79%]
186s tests/test_multiprocessing.py::test_no_deadlock_if_external_lock_in_use[True] PASSED [ 79%]
186s tests/test_multiprocessing.py::test_no_deadlock_if_external_lock_in_use[False] PASSED [ 79%]
186s tests/test_multiprocessing.py::test_complete_from_multiple_child_processes PASSED [ 79%]
186s tests/test_opt.py::test_record PASSED [ 79%]
186s tests/test_opt.py::test_record_in_kwargs_too PASSED [ 79%]
186s tests/test_opt.py::test_record_not_in_extra PASSED [ 79%]
186s tests/test_opt.py::test_kwargs_in_extra_of_record PASSED [ 79%]
186s tests/test_opt.py::test_exception_boolean PASSED [ 80%]
186s tests/test_opt.py::test_exception_exc_info PASSED [ 80%]
186s tests/test_opt.py::test_exception_class PASSED [ 80%]
186s tests/test_opt.py::test_exception_log_funcion PASSED [ 80%]
187s tests/test_opt.py::test_lazy PASSED [ 80%]
187s tests/test_opt.py::test_logging_within_lazy_function PASSED [ 80%]
187s tests/test_opt.py::test_depth PASSED [ 80%]
187s tests/test_opt.py::test_capture PASSED [ 80%]
187s tests/test_opt.py::test_colors PASSED [ 80%]
187s tests/test_opt.py::test_colors_not_colorize PASSED [ 80%]
187s tests/test_opt.py::test_colors_doesnt_color_unrelated PASSED [ 80%]
187s tests/test_opt.py::test_colors_doesnt_strip_unrelated PASSED [ 80%]
187s tests/test_opt.py::test_colors_doesnt_raise_unrelated_colorize PASSED [ 80%]
187s tests/test_opt.py::test_colors_doesnt_raise_unrelated_not_colorize PASSED [ 80%]
187s tests/test_opt.py::test_colors_doesnt_raise_unrelated_colorize_dynamic PASSED [ 80%]
187s tests/test_opt.py::test_colors_doesnt_raise_unrelated_not_colorize_dynamic PASSED [ 81%]
187s tests/test_opt.py::test_colors_within_record[True] PASSED [ 81%]
187s tests/test_opt.py::test_colors_within_record[False] PASSED [ 81%]
187s tests/test_opt.py::test_colors_nested[True] PASSED [ 81%]
187s tests/test_opt.py::test_colors_nested[False] PASSED [ 81%]
187s tests/test_opt.py::test_colors_stripped_in_message_record[True] PASSED [ 81%]
187s tests/test_opt.py::test_colors_stripped_in_message_record[False] PASSED [ 81%]
187s tests/test_opt.py::test_invalid_markup_in_message[True-] PASSED [ 81%]
187s tests/test_opt.py::test_invalid_markup_in_message[True-] PASSED [ 81%]
187s tests/test_opt.py::test_invalid_markup_in_message[True-X Y] PASSED [ 81%]
187s tests/test_opt.py::test_invalid_markup_in_message[False-] PASSED [ 81%]
187s tests/test_opt.py::test_invalid_markup_in_message[False-] PASSED [ 81%]
187s tests/test_opt.py::test_invalid_markup_in_message[False-X Y] PASSED [ 81%]
187s tests/test_opt.py::test_colors_with_args[True] PASSED [ 81%]
187s tests/test_opt.py::test_colors_with_args[False] PASSED [ 81%]
187s tests/test_opt.py::test_colors_with_level[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_level[False] PASSED [ 82%]
187s tests/test_opt.py::test_colors_double_message[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_double_message[False] PASSED [ 82%]
187s tests/test_opt.py::test_colors_multiple_calls[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_multiple_calls[False] PASSED [ 82%]
187s tests/test_opt.py::test_colors_multiple_calls_level_color_changed[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_multiple_calls_level_color_changed[False] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_dynamic_formatter[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_dynamic_formatter[False] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_format_specs[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_format_specs[False] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_message_specs[True] PASSED [ 82%]
187s tests/test_opt.py::test_colors_with_message_specs[False] PASSED [ 82%]
187s tests/test_opt.py::test_colored_string_used_as_spec[True] PASSED [ 82%]
187s tests/test_opt.py::test_colored_string_used_as_spec[False] PASSED [ 83%]
187s tests/test_opt.py::test_colored_string_getitem[True] PASSED [ 83%]
187s tests/test_opt.py::test_colored_string_getitem[False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_without_formatting_args[True] PASSED [ 83%]
187s tests/test_opt.py::test_colors_without_formatting_args[False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_format[True] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_format[False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_message[True] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_recursion_depth_exceeded_in_message[False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_auto_indexing[True] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_auto_indexing[False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_manual_indexing[True] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_manual_indexing[False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_invalid_indexing[{} {0}-True] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_invalid_indexing[{} {0}-False] PASSED [ 83%]
187s tests/test_opt.py::test_colors_with_invalid_indexing[{1} {}-True] PASSED [ 84%]
187s tests/test_opt.py::test_colors_with_invalid_indexing[{1} {}-False] PASSED [ 84%]
187s tests/test_opt.py::test_raw PASSED [ 84%]
187s tests/test_opt.py::test_raw_with_format_function PASSED [ 84%]
187s tests/test_opt.py::test_raw_with_colors[True] PASSED [ 84%]
187s tests/test_opt.py::test_raw_with_colors[False] PASSED [ 84%]
187s tests/test_opt.py::test_args_with_colors_not_formatted_twice PASSED [ 84%]
187s tests/test_opt.py::test_level_tag_wrapping_with_colors[True] PASSED [ 84%]
187s tests/test_opt.py::test_level_tag_wrapping_with_colors[False] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-True-True] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-True-False] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-False-True] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-True-False-False] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-True-True] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-True-False] PASSED [ 84%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-False-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-True-False-False-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-True-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-True-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-False-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-True-False-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-True-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-True-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-False-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-True-False-False-False-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-True-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-True-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-False-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-True-False-False] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-True-True] PASSED [ 85%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-True-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-False-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-True-False-False-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-True-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-True-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-False-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-True-False-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-True-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-True-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-False-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[True-False-False-False-False-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-True-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-True-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-False-True] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-True-False-False] PASSED [ 86%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-True-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-True-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-False-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-True-False-False-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-True-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-True-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-False-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-True-False-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-True-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-True-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-False-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-True-False-False-False-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-True-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-True-False] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-False-True] PASSED [ 87%]
187s tests/test_opt.py::test_all_colors_combinations[False-False-True-True-False-False] PASSED [ 88%]
187s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-True-True] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-True-False] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-False-True] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-True-False-False-False] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-True-True] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-True-False] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-False-True] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-True-False-False] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-True-True] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-True-False] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-False-True] PASSED [ 88%]
188s tests/test_opt.py::test_all_colors_combinations[False-False-False-False-False-False] PASSED [ 88%]
188s tests/test_opt.py::test_raw_with_record PASSED [ 88%]
188s tests/test_opt.py::test_keep_extra PASSED [ 88%]
188s tests/test_opt.py::test_before_bind PASSED [ 89%]
188s tests/test_opt.py::test_deprecated_ansi_argument PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_patch[True] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_patch[False] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_format[True] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_format[False] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_filter[True] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_filter[False] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_raw[True] PASSED [ 89%]
188s tests/test_opt.py::test_message_update_not_overridden_by_raw[False] PASSED [ 89%]
188s tests/test_opt.py::test_overridden_message_ignore_colors PASSED [ 89%]
188s tests/test_parse.py::test_parse_file PASSED [ 89%]
188s tests/test_parse.py::test_parse_fileobj PASSED [ 89%]
188s tests/test_parse.py::test_parse_pathlib PASSED [ 89%]
188s tests/test_parse.py::test_parse_string_pattern PASSED [ 89%]
188s tests/test_parse.py::test_parse_regex_pattern PASSED [ 90%]
188s tests/test_parse.py::test_parse_multiline_pattern PASSED [ 90%]
188s tests/test_parse.py::test_parse_without_group PASSED [ 90%]
188s tests/test_parse.py::test_parse_bytes PASSED [ 90%]
188s tests/test_parse.py::test_chunk[-1] PASSED [ 90%]
188s tests/test_parse.py::test_chunk[1] PASSED [ 90%]
188s tests/test_parse.py::test_chunk[65536] PASSED [ 90%]
188s tests/test_parse.py::test_positive_lookbehind_pattern PASSED [ 90%]
188s tests/test_parse.py::test_greedy_pattern PASSED [ 90%]
188s tests/test_parse.py::test_cast_dict PASSED [ 90%]
188s tests/test_parse.py::test_cast_function PASSED [ 90%]
188s tests/test_parse.py::test_cast_with_irrelevant_arg PASSED [ 90%]
188s tests/test_parse.py::test_cast_with_irrelevant_value PASSED [ 90%]
188s tests/test_parse.py::test_invalid_file[file0] PASSED [ 90%]
188s tests/test_parse.py::test_invalid_file[123] PASSED [ 90%]
188s tests/test_parse.py::test_invalid_file[dict] PASSED [ 91%]
188s tests/test_parse.py::test_invalid_pattern[pattern0] PASSED [ 91%]
188s tests/test_parse.py::test_invalid_pattern[123] PASSED [ 91%]
188s tests/test_parse.py::test_invalid_pattern[dict] PASSED [ 91%]
188s tests/test_parse.py::test_invalid_cast[cast0] PASSED [ 91%]
188s tests/test_parse.py::test_invalid_cast[123] PASSED [ 91%]
188s tests/test_patch.py::test_patch_after_add PASSED [ 91%]
188s tests/test_patch.py::test_patch_before_add PASSED [ 91%]
188s tests/test_patch.py::test_add_using_patched PASSED [ 91%]
188s tests/test_patch.py::test_not_override_parent_logger PASSED [ 91%]
188s tests/test_patch.py::test_override_previous_patched PASSED [ 91%]
188s tests/test_patch.py::test_no_conflict PASSED [ 91%]
188s tests/test_patch.py::test_override_configured PASSED [ 91%]
188s tests/test_patch.py::test_multiple_patches PASSED [ 91%]
188s tests/test_pickling.py::test_pickling_function_handler PASSED [ 91%]
188s tests/test_pickling.py::test_pickling_coroutine_function_handler PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_stream_handler[True-True] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_stream_handler[True-False] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_stream_handler[False-True] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_stream_handler[False-False] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_standard_handler FAILED [ 92%]
188s tests/test_pickling.py::test_pickling_standard_handler_root_logger_not_picklable FAILED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[1000] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[daily] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[rotation2] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[rotation3] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[200 MB] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[10:00] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[5 hours] PASSED [ 92%]
188s tests/test_pickling.py::test_pickling_file_handler_rotation[rotation_function] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_retention[1000] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_retention[retention1] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_retention[10 days] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_retention[retention_function] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_compression[zip] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_compression[gz] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_compression[tar] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_file_handler_compression[compression_function] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_no_handler PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_handler_not_serializable PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_filter_function PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_filter_name[] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_filter_name[tests] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_format_string[True] PASSED [ 93%]
188s tests/test_pickling.py::test_pickling_format_string[False] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_format_function[True] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_format_function[False] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_filter_function_not_serializable PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_format_function_not_serializable PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_bound_logger PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_patched_logger PASSED [ 94%]
188s tests/test_pickling.py::test_remove_after_pickling PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_logging_method PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_log_method PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_no_error[add] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_no_error[remove] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_no_error[catch] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_no_error[opt] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_no_error[bind] PASSED [ 94%]
188s tests/test_pickling.py::test_pickling_no_error[patch] PASSED [ 95%]
188s tests/test_pickling.py::test_pickling_no_error[level] PASSED [ 95%]
188s tests/test_pickling.py::test_pickling_no_error[disable] PASSED [ 95%]
188s tests/test_pickling.py::test_pickling_no_error[enable] PASSED [ 95%]
188s tests/test_pickling.py::test_pickling_no_error[configure] PASSED [ 95%]
188s tests/test_pickling.py::test_pickling_no_error[parse] PASSED [ 95%]
188s tests/test_pickling.py::test_pickling_no_error[exception] PASSED [ 95%]
188s tests/test_propagation.py::test_formatting PASSED [ 95%]
188s tests/test_propagation.py::test_propagate PASSED [ 95%]
188s tests/test_propagation.py::test_remove_propagation PASSED [ 95%]
188s tests/test_propagation.py::test_propagate_too_high PASSED [ 95%]
188s tests/test_propagation.py::test_exception[False] PASSED [ 95%]
188s tests/test_propagation.py::test_exception[True] PASSED [ 95%]
188s tests/test_recattr.py::test_patch_record_file PASSED [ 95%]
188s tests/test_recattr.py::test_patch_record_thread PASSED [ 95%]
188s tests/test_recattr.py::test_patch_record_process PASSED [ 96%]
188s tests/test_recattr.py::test_patch_record_exception PASSED [ 96%]
188s tests/test_recattr.py::test_level_repr PASSED [ 96%]
188s tests/test_recattr.py::test_file_repr PASSED [ 96%]
188s tests/test_recattr.py::test_thread_repr PASSED [ 96%]
188s tests/test_recattr.py::test_process_repr PASSED [ 96%]
188s tests/test_recattr.py::test_exception_repr PASSED [ 96%]
188s tests/test_remove.py::test_remove_all PASSED [ 96%]
188s tests/test_remove.py::test_remove_simple PASSED [ 96%]
189s tests/test_remove.py::test_remove_enqueue PASSED [ 96%]
189s tests/test_remove.py::test_remove_enqueue_filesink PASSED [ 96%]
189s tests/test_remove.py::test_exception_in_stop_during_remove_one PASSED [ 96%]
189s tests/test_remove.py::test_exception_in_stop_not_caught_during_remove_all PASSED [ 96%]
189s tests/test_remove.py::test_invalid_handler_id_value PASSED [ 96%]
189s tests/test_remove.py::test_invalid_handler_id_type[handler_id0] PASSED [ 96%]
189s tests/test_remove.py::test_invalid_handler_id_type[sys] PASSED [ 97%]
189s tests/test_remove.py::test_invalid_handler_id_type[handler_id2] PASSED [ 97%]
189s tests/test_remove.py::test_invalid_handler_id_type[int] PASSED [ 97%]
189s tests/test_repr.py::test_no_handler PASSED [ 97%]
189s tests/test_repr.py::test_stderr PASSED [ 97%]
189s tests/test_repr.py::test_stdout PASSED [ 97%]
189s tests/test_repr.py::test_file_object PASSED [ 97%]
189s tests/test_repr.py::test_file_str PASSED [ 97%]
189s tests/test_repr.py::test_file_pathlib PASSED [ 97%]
189s tests/test_repr.py::test_stream_object PASSED [ 97%]
189s tests/test_repr.py::test_stream_object_without_name_attr PASSED [ 97%]
189s tests/test_repr.py::test_stream_object_with_empty_name PASSED [ 97%]
189s tests/test_repr.py::test_function PASSED [ 97%]
189s tests/test_repr.py::test_callable_without_name PASSED [ 97%]
189s tests/test_repr.py::test_callable_with_empty_name PASSED [ 97%]
189s tests/test_repr.py::test_coroutine_function PASSED [ 98%]
189s tests/test_repr.py::test_coroutine_callable_without_name PASSED [ 98%]
189s tests/test_repr.py::test_coroutine_function_with_empty_name PASSED [ 98%]
189s tests/test_repr.py::test_standard_handler PASSED [ 98%]
189s tests/test_repr.py::test_multiple_handlers PASSED [ 98%]
189s tests/test_repr.py::test_handler_removed PASSED [ 98%]
189s tests/test_repr.py::test_handler_level_name PASSED [ 98%]
189s tests/test_repr.py::test_handler_level_num PASSED [ 98%]
189s tests/test_standard_handler.py::test_stream_handler PASSED [ 98%]
189s tests/test_standard_handler.py::test_file_handler PASSED [ 98%]
189s tests/test_standard_handler.py::test_null_handler PASSED [ 98%]
189s tests/test_standard_handler.py::test_extra_dict PASSED [ 98%]
189s tests/test_standard_handler.py::test_no_conflict_with_extra_dict PASSED [ 98%]
189s tests/test_standard_handler.py::test_no_exception PASSED [ 98%]
189s tests/test_standard_handler.py::test_exception PASSED [ 98%]
189s tests/test_standard_handler.py::test_exception_formatting PASSED [ 99%]
189s tests/test_standard_handler.py::test_standard_formatter[False] PASSED [ 99%]
189s tests/test_standard_handler.py::test_standard_formatter[True] PASSED [ 99%]
189s tests/test_standard_handler.py::test_standard_formatter_with_new_line[False] PASSED [ 99%]
189s tests/test_standard_handler.py::test_standard_formatter_with_new_line[True] PASSED [ 99%]
189s tests/test_standard_handler.py::test_raw_standard_formatter[False] PASSED [ 99%]
189s tests/test_standard_handler.py::test_raw_standard_formatter[True] PASSED [ 99%]
189s tests/test_standard_handler.py::test_raw_standard_formatter_with_new_line[False] PASSED [ 99%]
189s tests/test_standard_handler.py::test_raw_standard_formatter_with_new_line[True] PASSED [ 99%]
191s tests/test_threading.py::test_safe_logging PASSED [ 99%]
194s tests/test_threading.py::test_safe_adding_while_logging PASSED [ 99%]
195s tests/test_threading.py::test_safe_removing_while_logging PASSED [ 99%]
196s tests/test_threading.py::test_safe_writing_after_removing PASSED [ 99%]
200s tests/test_threading.py::test_heavily_threaded_logging PASSED [ 99%]
206s tests/test_type_hinting.py::test_mypy_import PASSED [100%]
206s
206s =================================== FAILURES ===================================
206s ________________________ test_file_sink_ascii_encoding _________________________
206s
206s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_file_sink_ascii_encoding1')
206s
206s > ???
206s E assert 0 == 1
206s E + where 0 = ("-> '\\u5929'")
206s 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.xcZOEI/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
206s
206s tests/test_exceptions_catch.py:80: AssertionError
206s _________________________ test_file_sink_utf8_encoding _________________________
206s
206s tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_file_sink_utf8_encoding1')
206s
206s def test_file_sink_utf8_encoding(tmp_path):
206s file = tmp_path / "test.log"
206s logger.add(file, format="", encoding="utf8", errors="strict", catch=False)
206s a = "天"
206s
206s try:
206s "天" * a
206s except Exception:
206s logger.exception("")
206s
206s logger.remove()
206s result = file.read_text("utf8")
206s assert result.count('"天" * a') == 1
206s > assert result.count("└ '天'") == 1
206s E assert 0 == 1
206s E + where 0 = ("└ '天'")
206s 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.xcZOEI/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
206s
206s tests/test_exceptions_catch.py:96: AssertionError
206s ________________________ test_diagnose[assertion_error] ________________________
206s
206s filename = 'assertion_error'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'assertion_error'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...1m60\x1b[0m\n' == '\n\x1b[33m\x...1m60\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1massertion_error.py[0m", line [33m14[0m, in [35m[0m
206s E [1mfoo[0m[1m([0m[34m[1m9[0m[1m,[0m [34m[1m55[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (7 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1massertion_error.py[0m", line [33m14[0m, in [35m[0m
206s [1mfoo[0m[1m([0m[34m[1m9[0m[1m,[0m [34m[1m55[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1massertion_error.py[0m", line [33m10[0m, in [35mfoo[0m
206s [35m[1massert[0m [1mabc[0m [35m[1m>[0m [34m[1m10[0m [35m[1mand[0m [1mxyz[0m [35m[1m==[0m [34m[1m60[0m
206s
206s [31m[1mAssertionError[0m: [35m[1massert[0m [1mabc[0m [35m[1m>[0m [34m[1m10[0m [35m[1mand[0m [1mxyz[0m [35m[1m==[0m [34m[1m60[0m
206s
206s ____________________ test_diagnose[assertion_error_custom] _____________________
206s
206s filename = 'assertion_error_custom'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'assertion_error_custom'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...iled\x1b[0m\n' == '\n\x1b[33m\x...iled\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1massertion_error_custom.py[0m", line [33m14[0m, in [35m[0m
206s E [1mfoo[0m[1m([0m[34m[1m9[0m[1m,[0m [34m[1m55[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (7 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1massertion_error_custom.py[0m", line [33m14[0m, in [35m[0m
206s [1mfoo[0m[1m([0m[34m[1m9[0m[1m,[0m [34m[1m55[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1massertion_error_custom.py[0m", line [33m10[0m, in [35mfoo[0m
206s [35m[1massert[0m [1mabc[0m [35m[1m>[0m [34m[1m10[0m [35m[1mand[0m [1mxyz[0m [35m[1m==[0m [34m[1m60[0m[1m,[0m [36m"Foo assertion failed"[0m
206s
206s [31m[1mAssertionError[0m:[1m Foo assertion failed[0m
206s
206s ___________________ test_diagnose[assertion_error_in_string] ___________________
206s
206s filename = 'assertion_error_in_string'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'assertion_error_in_string'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...rror\x1b[0m\n' == '\n\x1b[33m\x...rror\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1massertion_error_in_string.py[0m", line [33m14[0m, in [35m[0m
206s E [1mfoo[0m[1m([0m[34m[1m9[0m[1m,[0m [34m[1m55[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (7 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1massertion_error_in_string.py[0m", line [33m14[0m, in [35m[0m
206s [1mfoo[0m[1m([0m[34m[1m9[0m[1m,[0m [34m[1m55[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1massertion_error_in_string.py[0m", line [33m10[0m, in [35mfoo[0m
206s [1mexec[0m[1m([0m[36m"assert abc > 10 and xyz == 60"[0m[1m)[0m
206s
206s File "", line 1, in
206s
206s [31m[1mAssertionError[0m
206s
206s __________________________ test_diagnose[attributes] ___________________________
206s
206s filename = 'attributes'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'attributes'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert "\n\x1b[33m\x...int'\x1b[0m\n" == "\n\x1b[33m\x...int'\x1b[0m\n"
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mattributes.py[0m", line [33m26[0m, in [35m[0m
206s E [1mfoo[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (14 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mattributes.py[0m", line [33m26[0m, in [35m[0m
206s [1mfoo[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mattributes.py[0m", line [33m22[0m, in [35mfoo[0m
206s [35m[1m...[0m [35m[1m+[0m [34m[1m1[0m [35m[1m+[0m [1mbar[0m[1m([0m[1ma[0m[1m)[0m[35m[1m.[0m[1mb[0m [35m[1m+[0m [1ma[0m[35m[1m.[0m[1mforbidden[0m [35m[1m+[0m [1ma[0m[35m[1m.[0m[1mnope[0m[35m[1m.[0m[1ma[0m [35m[1m+[0m [1mx[0m[35m[1m.[0m[1m__bool__[0m [35m[1mor[0m [1ma[0m[35m[1m.[0m [1mb[0m [35m[1m.[0m [1misdigit[0m[1m([0m[1m)[0m [35m[1mand[0m [34m[1m.3[0m [35m[1m+[0m [35m[1m...[0m
206s
206s [31m[1mTypeError[0m:[1m unsupported operand type(s) for +: 'ellipsis' and 'int'[0m
206s
206s _________________________ test_diagnose[chained_both] __________________________
206s
206s filename = 'chained_both'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'chained_both'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...rror\x1b[0m\n' == '\n\x1b[33m\x...rror\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m15[0m, in [35mcause[0m
206s E [1mdiv[0m[1m([0m[1mx[0m[1m,[0m [1my[0m[1m)[0m
206s E - [36m│ │ └ [0m[36m[1m0[0m...
206s E
206s E ...Full output truncated (41 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m15[0m, in [35mcause[0m
206s [1mdiv[0m[1m([0m[1mx[0m[1m,[0m [1my[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m10[0m, in [35mdiv[0m
206s [1mx[0m [35m[1m/[0m [1my[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s
206s [1mDuring handling of the above exception, another exception occurred:[0m
206s
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m22[0m, in [35mcontext[0m
206s [1mcause[0m[1m([0m[1mx[0m[1m,[0m [1my[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m17[0m, in [35mcause[0m
206s [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"Division error"[0m[1m)[0m
206s
206s [31m[1mValueError[0m:[1m Division error[0m
206s
206s
206s [1mThe above exception was the direct cause of the following exception:[0m
206s
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m28[0m, in [35m[0m
206s [1mcontext[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mchained_both.py[0m", line [33m24[0m, in [35mcontext[0m
206s [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"Cause error"[0m[1m)[0m [35m[1mfrom[0m [1me[0m
206s
206s [31m[1mValueError[0m:[1m Cause error[0m
206s
206s ___________________________ test_diagnose[encoding] ____________________________
206s
206s filename = 'encoding'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'encoding'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert "\n\x1b[33m\x...str'\x1b[0m\n" == "\n\x1b[33m\x...str'\x1b[0m\n"
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mencoding.py[0m", line [33m18[0m, in [35m[0m
206s E [1mdiv[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (10 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mencoding.py[0m", line [33m18[0m, in [35m[0m
206s [1mdiv[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mencoding.py[0m", line [33m14[0m, in [35mdiv[0m
206s [35m[1mreturn[0m [1m_deep[0m[1m([0m[36m"天"[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mencoding.py[0m", line [33m10[0m, in [35m_deep[0m
206s [35m[1mreturn[0m [34m[1m1[0m [35m[1m/[0m [1mval[0m
206s
206s [31m[1mTypeError[0m:[1m unsupported operand type(s) for /: 'int' and 'str'[0m
206s
206s ________________________ test_diagnose[global_variable] ________________________
206s
206s filename = 'global_variable'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'global_variable'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mglobal_variable.py[0m", line [33m19[0m, in [35m[0m
206s E [1mfunc[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (7 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mglobal_variable.py[0m", line [33m19[0m, in [35m[0m
206s [1mfunc[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mglobal_variable.py[0m", line [33m15[0m, in [35mfunc[0m
206s [35m[1mreturn[0m [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m [35m[1m+[0m [1mfoo[0m [35m[1m+[0m [1mbar[0m [35m[1m+[0m [36m[1mFalse[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s _______________________ test_diagnose[indentation_error] _______________________
206s
206s filename = 'indentation_error'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'indentation_error'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...dent\x1b[0m\n' == '\n\x1b[33m\x...dent\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mindentation_error.py[0m", line [33m17[0m, in [35m[0m
206s E [1mexec[0m[1m([0m[1mcode[0m[1m)[0m
206s E - [36m └ [0m[36m[1m'\nif True:\n a = 5\n print("foobar") #intentional faulty indentation here.\n b = 7\n'[0m...
206s E
206s E ...Full output truncated (5 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mindentation_error.py[0m", line [33m17[0m, in [35m[0m
206s [1mexec[0m[1m([0m[1mcode[0m[1m)[0m
206s
206s File "", line 4
206s print("foobar") #intentional faulty indentation here.
206s
206s [31m[1mIndentationError[0m:[1m unexpected indent[0m
206s
206s _______________________ test_diagnose[keyword_argument] ________________________
206s
206s filename = 'keyword_argument'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'keyword_argument'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mkeyword_argument.py[0m", line [33m16[0m, in [35m[0m
206s E [1mf[0m[1m([0m[1mx[0m[35m[1m=[0m[1my[0m[1m)[0m
206s E - [36m│ └ [0m[36m[1m0[0m...
206s E
206s E ...Full output truncated (20 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mkeyword_argument.py[0m", line [33m16[0m, in [35m[0m
206s [1mf[0m[1m([0m[1mx[0m[35m[1m=[0m[1my[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mkeyword_argument.py[0m", line [33m10[0m, in [35mf[0m
206s [35m[1mreturn[0m [34m[1m1[0m [35m[1m/[0m [1mx[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mkeyword_argument.py[0m", line [33m21[0m, in [35m[0m
206s [1mf[0m[1m([0m[1mx[0m[35m[1m=[0m[1mx[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mkeyword_argument.py[0m", line [33m10[0m, in [35mf[0m
206s [35m[1mreturn[0m [34m[1m1[0m [35m[1m/[0m [1mx[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s ________________________ test_diagnose[multilines_repr] ________________________
206s
206s filename = 'multilines_repr'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'multilines_repr'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert "\n\x1b[33m\x... 'A'\x1b[0m\n" == "\n\x1b[33m\x... 'A'\x1b[0m\n"
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mmultilines_repr.py[0m", line [33m20[0m, in [35m[0m
206s E [1mmultiline[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (11 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mmultilines_repr.py[0m", line [33m20[0m, in [35m[0m
206s [1mmultiline[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mmultilines_repr.py[0m", line [33m16[0m, in [35mmultiline[0m
206s [1ma[0m [35m[1m+[0m [1mb[0m
206s
206s [31m[1mTypeError[0m:[1m unsupported operand type(s) for +: 'A' and 'A'[0m
206s
206s _______________________ test_diagnose[no_error_message] ________________________
206s
206s filename = 'no_error_message'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'no_error_message'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...rror\x1b[0m\n' == '\n\x1b[33m\x...rror\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mno_error_message.py[0m", line [33m18[0m, in [35m[0m
206s E [1mbar[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (9 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mno_error_message.py[0m", line [33m18[0m, in [35m[0m
206s [1mbar[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mno_error_message.py[0m", line [33m14[0m, in [35mbar[0m
206s [1mfoo[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mno_error_message.py[0m", line [33m10[0m, in [35mfoo[0m
206s [35m[1mraise[0m [1mValueError[0m[1m([0m[36m""[0m[1m)[0m
206s
206s [31m[1mValueError[0m
206s
206s __________________________ test_diagnose[parenthesis] __________________________
206s
206s filename = 'parenthesis'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'parenthesis'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m47[0m, in [35m[0m
206s E [1me[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (39 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m47[0m, in [35m[0m
206s [1me[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m43[0m, in [35me[0m
206s [1m)[0m [35m[1m+[0m [1md[0m[1m([0m[1m([0m[1m)[0m[1m)[0m [35m[1m+[0m [1ma[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m36[0m, in [35md[0m
206s [1m;[0m [1mz[0m [35m[1m=[0m [1m([0m[1mx[0m [35m[1m*[0m [1my[0m[1m)[0m[1m;[0m [1my[0m [35m[1m=[0m [1m([0m[1mj[0m [35m[1mor[0m [1mxyz[0m[35m[1m.[0m[1mval[0m [35m[1m*[0m [1mc[0m[1m([0m[1m)[0m \
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m28[0m, in [35mc[0m
206s [1mx[0m[35m[1m.[0m[1mval[0m [35m[1m+=[0m [34m[1m456[0m [35m[1mand[0m [1mb[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m22[0m, in [35mb[0m
206s [1mfoo[0m[1m[[0m[1m([0m[36m"baz"[0m[1m)[0m[1m][0m [35m[1m=[0m [1mbar[0m[1m([0m[1m)[0m [35m[1m+[0m [1m([0m[1ma[0m[1m([0m[34m[1m5[0m[1m,[0m [1mbaz[0m[1m)[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mparenthesis.py[0m", line [33m17[0m, in [35ma[0m
206s [1m([0m[1ma[0m[1m,[0m [1mb[0m[1m,[0m [1mx[0m[35m[1m.[0m[1mval[0m[1m,[0m [1m)[0m [35m[1m=[0m [34m[1m12[0m[1m,[0m [34m[1m15[0m [35m[1m/[0m [1mc[0m[1m,[0m [34m[1m17[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s _______________________ test_diagnose[source_multilines] _______________________
206s
206s filename = 'source_multilines'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'source_multilines'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m39[0m, in [35m[0m
206s E [1mbug_1[0m[1m([0m[34m[1m10[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (45 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m39[0m, in [35m[0m
206s [1mbug_1[0m[1m([0m[34m[1m10[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m12[0m, in [35mbug_1[0m
206s """ + n / 0)
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m45[0m, in [35m[0m
206s [1mbug_2[0m[1m([0m[34m[1m1[0m[1m,[0m [1mstring[0m[1m,[0m [34m[1m3[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m16[0m, in [35mbug_2[0m
206s [35m[1mreturn[0m [1m([0m[34m[1m1[0m [35m[1m/[0m [34m[1m0[0m [35m[1m+[0m [1ma[0m [35m[1m+[0m [1mb[0m [35m[1m+[0m \
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m51[0m, in [35m[0m
206s [1mbug_3[0m[1m([0m[1mstring[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m22[0m, in [35mbug_3[0m
206s [1m,[0m [1mstring[0m[1m,[0m [34m[1m20[0m [35m[1m/[0m [34m[1m0[0m[1m)[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m57[0m, in [35m[0m
206s [1mbug_4[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_multilines.py[0m", line [33m29[0m, in [35mbug_4[0m
206s [36m"bar"[0m[1m:[0m [1ma[0m [35m[1m/[0m [1mb[0m[1m,[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s ________________________ test_diagnose[source_strings] _________________________
206s
206s filename = 'source_strings'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'source_strings'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert "\n\x1b[33m\x...tes'\x1b[0m\n" == "\n\x1b[33m\x...tes'\x1b[0m\n"
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1msource_strings.py[0m", line [33m13[0m, in [35m[0m
206s E [1ma[0m [35m[1m+[0m [36mb"prefix"[0m [35m[1m+[0m [36m'single'[0m [35m[1m+[0m [36m"""triple"""[0m [35m[1m+[0m [34m[1m1[0m [35m[1m+[0m [1mb[0m
206s E - [36m│ └ [0m[36m[1m0[0m...
206s E
206s E ...Full output truncated (3 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msource_strings.py[0m", line [33m13[0m, in [35m[0m
206s [1ma[0m [35m[1m+[0m [36mb"prefix"[0m [35m[1m+[0m [36m'single'[0m [35m[1m+[0m [36m"""triple"""[0m [35m[1m+[0m [34m[1m1[0m [35m[1m+[0m [1mb[0m
206s
206s [31m[1mTypeError[0m:[1m unsupported operand type(s) for +: 'int' and 'bytes'[0m
206s
206s _________________________ test_diagnose[syntax_error] __________________________
206s
206s filename = 'syntax_error'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'syntax_error'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ntax\x1b[0m\n' == '\n\x1b[33m\x...ntax\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1msyntax_error.py[0m", line [33m17[0m, in [35m[0m
206s E [1mexec[0m[1m([0m[1mcode[0m[1m)[0m
206s E - [36m └ [0m[36m[1m'\nif True:\n a = 5\n b = 7 *\n'[0m...
206s E
206s E ...Full output truncated (6 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_error.py[0m", line [33m17[0m, in [35m[0m
206s [1mexec[0m[1m([0m[1mcode[0m[1m)[0m
206s
206s File "", line 4
206s b = 7 *
206s ^
206s
206s [31m[1mSyntaxError[0m:[1m invalid syntax[0m
206s
206s ______________________ test_diagnose[syntax_highlighting] ______________________
206s
206s filename = 'syntax_highlighting'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'syntax_highlighting'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m31[0m, in [35m[0m
206s E [1me[0m[1m([0m[34m[1m0[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (25 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m31[0m, in [35m[0m
206s [1me[0m[1m([0m[34m[1m0[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m27[0m, in [35me[0m
206s [1mx[0m [35m[1min[0m [1m[[0m[34m[1m1[0m[1m][0m[1m,[0m [1mx[0m [35m[1min[0m [1m([0m[34m[1m1[0m[1m,[0m[1m)[0m[1m,[0m [1mx[0m [35m[1min[0m [1m{[0m[34m[1m1[0m[1m}[0m[1m,[0m [1mx[0m [35m[1min[0m [1m{[0m[34m[1m1[0m[1m:[0m [34m[1m1[0m[1m}[0m[1m,[0m [1md[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m23[0m, in [35md[0m
206s [1mmin[0m[1m([0m[1mrange[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m10[0m[1m)[0m[1m)[0m[1m,[0m [1mlist[0m[1m([0m[1m)[0m[1m,[0m [1mdict[0m[1m([0m[1m)[0m[1m,[0m [1mc[0m[1m([0m[1m)[0m[1m,[0m [35m[1m...[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m19[0m, in [35mc[0m
206s [34m[1m1[0m[1m,[0m [34m[1m2.5[0m[1m,[0m [34m[1m3.0[0m[1m,[0m [34m[1m0.4[0m[1m,[0m [36m"str"[0m[1m,[0m [36mr"rrr"[0m[1m,[0m [36mrb"binary"[0m[1m,[0m [1mb[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m15[0m, in [35mb[0m
206s [1ma[0m[1m([0m[1m)[0m [35m[1mor[0m [36m[1mFalse[0m [35m[1m==[0m [36m[1mNone[0m [35m[1m!=[0m [36m[1mTrue[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1msyntax_highlighting.py[0m", line [33m11[0m, in [35ma[0m
206s [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m [35m[1m+[0m [34m[1m1[0m [35m[1m*[0m [34m[1m0[0m [35m[1m-[0m [34m[1m1[0m [35m[1m%[0m [34m[1m0[0m [35m[1m//[0m [34m[1m1[0m[35m[1m**[0m[34m[1m0[0m [35m[1m@[0m [34m[1m1[0m [30m[1m# Error[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s __________________________ test_diagnose[truncating] ___________________________
206s
206s filename = 'truncating'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'truncating'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert "\n\x1b[33m\x...str'\x1b[0m\n" == "\n\x1b[33m\x...str'\x1b[0m\n"
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1mtruncating.py[0m", line [33m15[0m, in [35m[0m
206s E [1mdiv[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (6 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mtruncating.py[0m", line [33m15[0m, in [35m[0m
206s [1mdiv[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1mtruncating.py[0m", line [33m11[0m, in [35mdiv[0m
206s [35m[1mreturn[0m [34m[1m1[0m [35m[1m/[0m [1mvar[0m
206s
206s [31m[1mTypeError[0m:[1m unsupported operand type(s) for /: 'int' and 'str'[0m
206s
206s ______________________ test_diagnose[unprintable_object] _______________________
206s
206s filename = 'unprintable_object'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_error",
206s "assertion_error_custom",
206s "assertion_error_in_string",
206s "attributes",
206s "chained_both",
206s "encoding",
206s "global_variable",
206s "indentation_error",
206s "keyword_argument",
206s "multilines_repr",
206s "no_error_message",
206s "parenthesis",
206s "source_multilines",
206s "source_strings",
206s "syntax_error",
206s "syntax_highlighting",
206s "truncating",
206s "unprintable_object",
206s ],
206s )
206s def test_diagnose(filename):
206s > compare_exception("diagnose", filename)
206s
206s tests/test_exceptions_formatting.py:174:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'diagnose', filename = 'unprintable_object'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/diagnose/[0m[32m[1munprintable_object.py[0m", line [33m16[0m, in [35m[0m
206s E [1mobj[0m [35m[1m+[0m [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s E - [36m└ [0m[36m[1m[0m
206s E
206s E [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/diagnose/[0m[32m[1munprintable_object.py[0m", line [33m16[0m, in [35m[0m
206s [1mobj[0m [35m[1m+[0m [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s _________________ test_exception_ownership[assertion_from_lib] _________________
206s
206s filename = 'assertion_from_lib'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'assertion_from_lib'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ertionError\n' == '\n\x1b[33m\x...ertionError\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m20[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (51 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m20[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m15[0m, in [35mtest[0m
206s [1massertionerror[0m[1m([0m[1ma[0m[1m,[0m [1mb[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror
206s assert x == y
206s
206s [31m[1mAssertionError[0m: [35m[1massert[0m [1mx[0m [35m[1m==[0m [1my[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m15[0m, in [35mtest[0m
206s [1massertionerror[0m[1m([0m[1ma[0m[1m,[0m [1mb[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror
206s assert x == y
206s
206s [31m[1mAssertionError[0m: [35m[1massert[0m [1mx[0m [35m[1m==[0m [1my[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m22[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m15[0m, in [35mtest[0m
206s [1massertionerror[0m[1m([0m[1ma[0m[1m,[0m [1mb[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror
206s assert x == y
206s [31m[1mAssertionError[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_lib.py[0m", line [33m15[0m, in [35mtest[0m
206s [1massertionerror[0m[1m([0m[1ma[0m[1m,[0m [1mb[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror
206s assert x == y
206s [31m[1mAssertionError[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_lib.py", line 15, in test
206s assertionerror(a, b)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 22, in assertionerror
206s assert x == y
206s AssertionError
206s
206s ________________ test_exception_ownership[assertion_from_local] ________________
206s
206s filename = 'assertion_from_local'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'assertion_from_local'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ertionError\n' == '\n\x1b[33m\x...ertionError\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m20[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (33 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m20[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m15[0m, in [35mtest[0m
206s [35m[1massert[0m [1ma[0m [35m[1m==[0m [1mb[0m
206s
206s [31m[1mAssertionError[0m: [35m[1massert[0m [1ma[0m [35m[1m==[0m [1mb[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m15[0m, in [35mtest[0m
206s [35m[1massert[0m [1ma[0m [35m[1m==[0m [1mb[0m
206s
206s [31m[1mAssertionError[0m: [35m[1massert[0m [1ma[0m [35m[1m==[0m [1mb[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m22[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m15[0m, in [35mtest[0m
206s [35m[1massert[0m [1ma[0m [35m[1m==[0m [1mb[0m
206s [31m[1mAssertionError[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1massertion_from_local.py[0m", line [33m15[0m, in [35mtest[0m
206s [35m[1massert[0m [1ma[0m [35m[1m==[0m [1mb[0m
206s [31m[1mAssertionError[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/assertion_from_local.py", line 15, in test
206s assert a == b
206s AssertionError
206s
206s ______________________ test_exception_ownership[callback] ______________________
206s
206s filename = 'callback'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'callback'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m22[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (77 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m22[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m14[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m14[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m24[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m14[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcallback.py[0m", line [33m14[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 17, in test
206s callme(callback)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/callback.py", line 14, in callback
206s divide(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s ZeroDivisionError: division by zero
206s
206s __________________ test_exception_ownership[catch_decorator] ___________________
206s
206s filename = 'catch_decorator'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'catch_decorator'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m20[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (61 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m20[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mfoo[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m15[0m, in [35mfoo[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mfoo[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m15[0m, in [35mfoo[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m22[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mfoo[0m[1m([0m[1m)[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m15[0m, in [35mfoo[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mfoo[0m[1m([0m[1m)[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator.py[0m", line [33m15[0m, in [35mfoo[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 17, in test
206s foo()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator.py", line 15, in foo
206s divide(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s ZeroDivisionError: division by zero
206s
206s ______________ test_exception_ownership[catch_decorator_from_lib] ______________
206s
206s filename = 'catch_decorator_from_lib'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'catch_decorator_from_lib'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m20[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (68 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m20[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m15[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m15[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m22[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m17[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m15[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mcatch_decorator_from_lib.py[0m", line [33m15[0m, in [35mcallback[0m
206s [1mdivide[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/catch_decorator_from_lib.py", line 15, in callback
206s divide(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s ZeroDivisionError: division by zero
206s
206s _________________ test_exception_ownership[decorated_callback] _________________
206s
206s filename = 'decorated_callback'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'decorated_callback'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m21[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (54 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m21[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m18[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m16[0m, in [35mcallback[0m
206s [1ma[0m [35m[1m/[0m [1mb[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m16[0m, in [35mcallback[0m
206s [1ma[0m [35m[1m/[0m [1mb[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m23[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m18[0m, in [35mtest[0m
206s [1mcallme[0m[1m([0m[1mcallback[0m[1m)[0m
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m16[0m, in [35mcallback[0m
206s [1ma[0m [35m[1m/[0m [1mb[0m
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdecorated_callback.py[0m", line [33m16[0m, in [35mcallback[0m
206s [1ma[0m [35m[1m/[0m [1mb[0m
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 10, in callme
206s callback()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/decorated_callback.py", line 16, in callback
206s a / b
206s ZeroDivisionError: division by zero
206s
206s _______________________ test_exception_ownership[direct] _______________________
206s
206s filename = 'direct'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'direct'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m19[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (47 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m19[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m21[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mdirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/direct.py", line 14, in test
206s divide(10, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s ZeroDivisionError: division by zero
206s
206s ______________________ test_exception_ownership[indirect] ______________________
206s
206s filename = 'indirect'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'indirect'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m19[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (63 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m19[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide_indirect[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect
206s divide(a, b)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide_indirect[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect
206s divide(a, b)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m21[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide_indirect[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect
206s divide(a, b)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mindirect.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mdivide_indirect[0m[1m([0m[34m[1m10[0m[1m,[0m [34m[1m0[0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect
206s divide(a, b)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/indirect.py", line 14, in test
206s divide_indirect(10, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 6, in divide_indirect
206s divide(a, b)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s ZeroDivisionError: division by zero
206s
206s _____________________ test_exception_ownership[string_lib] _____________________
206s
206s filename = 'string_lib'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'string_lib'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m19[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (62 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m19[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexecute[0m[1m([0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute
206s exec("divide(1, 0)")
206s File "", line 1, in
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexecute[0m[1m([0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute
206s exec("divide(1, 0)")
206s File "", line 1, in
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m21[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexecute[0m[1m([0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute
206s exec("divide(1, 0)")
206s File "", line 1, in
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_lib.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexecute[0m[1m([0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute
206s exec("divide(1, 0)")
206s File "", line 1, in
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/string_lib.py", line 14, in test
206s execute()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 14, in execute
206s exec("divide(1, 0)")
206s File "", line 1, in
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 2, in divide
206s x / y
206s ZeroDivisionError: division by zero
206s
206s ___________________ test_exception_ownership[string_source] ____________________
206s
206s filename = 'string_source'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'string_source'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...ion by zero\n' == '\n\x1b[33m\x...ion by zero\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m19[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (48 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m19[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexec[0m[1m([0m[36m"foo()"[0m[1m)[0m
206s
206s File "", line 1, in
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m11[0m, in [35mfoo[0m
206s [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexec[0m[1m([0m[36m"foo()"[0m[1m)[0m
206s
206s File "", line 1, in
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m11[0m, in [35mfoo[0m
206s [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m21[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexec[0m[1m([0m[36m"foo()"[0m[1m)[0m
206s File "", line 1, in
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m11[0m, in [35mfoo[0m
206s [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m14[0m, in [35mtest[0m
206s [1mexec[0m[1m([0m[36m"foo()"[0m[1m)[0m
206s File "", line 1, in
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1mstring_source.py[0m", line [33m11[0m, in [35mfoo[0m
206s [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 14, in test
206s exec("foo()")
206s File "", line 1, in
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/string_source.py", line 11, in foo
206s 1 / 0
206s ZeroDivisionError: division by zero
206s
206s ____________________ test_exception_ownership[syntaxerror] _____________________
206s
206s filename = 'syntaxerror'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertion_from_lib",
206s "assertion_from_local",
206s "callback",
206s "catch_decorator",
206s "catch_decorator_from_lib",
206s "decorated_callback",
206s "direct",
206s "indirect",
206s "string_lib",
206s "string_source",
206s "syntaxerror",
206s ],
206s )
206s def test_exception_ownership(filename):
206s > compare_exception("ownership", filename)
206s
206s tests/test_exceptions_formatting.py:194:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'ownership', filename = 'syntaxerror'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...alid syntax\n' == '\n\x1b[33m\x...alid syntax\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m19[0m, in [35m[0m
206s E [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (58 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m19[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mTrue[0m[1m)[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m14[0m, in [35mtest[0m
206s [1msyntaxerror[0m[1m([0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror
206s exec("foo =")
206s File "", line 1
206s foo =
206s ^
206s
206s [31m[1mSyntaxError[0m:[1m invalid syntax[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m14[0m, in [35mtest[0m
206s [1msyntaxerror[0m[1m([0m[1m)[0m
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror
206s exec("foo =")
206s File "", line 1
206s foo =
206s ^
206s
206s [31m[1mSyntaxError[0m:[1m invalid syntax[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m21[0m, in [35m[0m
206s [1mtest[0m[1m([0m[1mbacktrace[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mcolorize[0m[35m[1m=[0m[36m[1mTrue[0m[1m,[0m [1mdiagnose[0m[35m[1m=[0m[36m[1mFalse[0m[1m)[0m
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m14[0m, in [35mtest[0m
206s [1msyntaxerror[0m[1m([0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror
206s exec("foo =")
206s File "", line 1
206s foo =
206s ^
206s [31m[1mSyntaxError[0m:[1m invalid syntax[0m
206s
206s [33m[1mTraceback (most recent call last):[0m
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/[0m[32m[1msyntaxerror.py[0m", line [33m14[0m, in [35mtest[0m
206s [1msyntaxerror[0m[1m([0m[1m)[0m
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror
206s exec("foo =")
206s File "", line 1
206s foo =
206s ^
206s [31m[1mSyntaxError[0m:[1m invalid syntax[0m
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/syntaxerror.py", line 14, in test
206s syntaxerror()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/ownership/usersite/somelib/__init__.py", line 18, in syntaxerror
206s exec("foo =")
206s File "", line 1
206s foo =
206s ^
206s SyntaxError: invalid syntax
206s
206s ____________ test_exception_others[exception_formatting_coroutine] _____________
206s
206s filename = 'exception_formatting_coroutine'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'exception_formatting_coroutine'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in
206s E f.send(None)
206s E File "tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo
206s E a / b...
206s E
206s E ...Full output truncated (36 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in
206s f.send(None)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in
206s f.send(None)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in
206s f.send(None)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 20, in
206s f.send(None)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_coroutine.py", line 14, in foo
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s _____________ test_exception_others[exception_formatting_function] _____________
206s
206s filename = 'exception_formatting_function'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'exception_formatting_function'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/exception_formatting_function.py", line 17, in
206s E a(1, 0)
206s E File "tests/exceptions/source/others/exception_formatting_function.py", line 14, in a
206s E a / b...
206s E
206s E ...Full output truncated (34 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in
206s a(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in
206s a(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in
206s a(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 17, in
206s a(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_function.py", line 14, in a
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s ____________ test_exception_others[exception_formatting_generator] _____________
206s
206s filename = 'exception_formatting_generator'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'exception_formatting_generator'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/exception_formatting_generator.py", line 20, in
206s E next(f)
206s E File "tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo
206s E yield a / b...
206s E
206s E ...Full output truncated (34 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in
206s next(f)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo
206s yield a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in
206s next(f)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo
206s yield a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in
206s next(f)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo
206s yield a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 20, in
206s next(f)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_formatting_generator.py", line 14, in foo
206s yield a / b
206s
206s ZeroDivisionError: division by zero
206s
206s _________________ test_exception_others[exception_in_property] _________________
206s
206s filename = 'exception_in_property'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'exception_in_property'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E
206s E File "tests/exceptions/source/others/exception_in_property.py", line 22, in
206s E value = a.value
206s E - │ └ ...
206s E
206s E ...Full output truncated (6 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_in_property.py", line 22, in
206s value = a.value
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/exception_in_property.py", line 13, in value
206s 1 / 0
206s
206s ZeroDivisionError: division by zero
206s
206s __________________ test_exception_others[nested_with_reraise] __________________
206s
206s filename = 'nested_with_reraise'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'nested_with_reraise'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...nValueError\n' == '\nTraceback ...nValueError\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s E f = foo(x, y)
206s E File "tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s E a / b...
206s E
206s E ...Full output truncated (148 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in
206s baz()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz
206s bar(1, 0)
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in
206s baz()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz
206s bar(1, 0)
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s ZeroDivisionError: division by zero
206s
206s The above exception was the direct cause of the following exception:
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz
206s bar(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar
206s raise ValueError from e
206s ValueError
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s
206s The above exception was the direct cause of the following exception:
206s
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz
206s bar(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar
206s raise ValueError from e
206s
206s ValueError
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s ZeroDivisionError: division by zero
206s
206s The above exception was the direct cause of the following exception:
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in
206s baz()
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz
206s bar(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar
206s raise ValueError from e
206s ValueError
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 20, in bar
206s f = foo(x, y)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 14, in foo
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s
206s The above exception was the direct cause of the following exception:
206s
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 30, in
206s baz()
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 26, in baz
206s bar(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/nested_with_reraise.py", line 22, in bar
206s raise ValueError from e
206s
206s ValueError
206s
206s __________________ test_exception_others[sys_tracebacklimit] ___________________
206s
206s filename = 'sys_tracebacklimit'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'sys_tracebacklimit'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f
206s E g()
206s E File "tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g
206s E h()...
206s E
206s E ...Full output truncated (70 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f
206s g()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g
206s h()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h
206s i()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i
206s j(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f
206s g()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g
206s h()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h
206s i()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i
206s j(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f
206s g()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g
206s h()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h
206s i()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i
206s j(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 33, in f
206s g()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 37, in g
206s h()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 41, in h
206s i()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 45, in i
206s j(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit.py", line 49, in j
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s ________________ test_exception_others[sys_tracebacklimit_none] ________________
206s
206s filename = 'sys_tracebacklimit_none'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'sys_tracebacklimit_none'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in
206s E a()
206s E File "tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a
206s E b()...
206s E
206s E ...Full output truncated (142 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in
206s a()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a
206s b()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b
206s c()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c
206s d()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d
206s e()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e
206s f()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f
206s g()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g
206s h()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h
206s i()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i
206s j(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in
206s a()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a
206s b()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b
206s c()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c
206s d()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d
206s e()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e
206s f()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f
206s g()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g
206s h()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h
206s i()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i
206s j(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in
206s a()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a
206s b()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b
206s c()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c
206s d()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d
206s e()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e
206s f()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f
206s g()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g
206s h()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h
206s i()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i
206s j(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 55, in
206s a()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 13, in a
206s b()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 17, in b
206s c()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 21, in c
206s d()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 25, in d
206s e()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 29, in e
206s f()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 33, in f
206s g()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 37, in g
206s h()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 41, in h
206s i()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 45, in i
206s j(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_none.py", line 49, in j
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s _______________ test_exception_others[sys_tracebacklimit_unset] ________________
206s
206s filename = 'sys_tracebacklimit_unset'
206s
206s @pytest.mark.parametrize(
206s "filename",
206s [
206s "assertionerror_without_traceback",
206s "catch_as_context_manager",
206s "catch_as_decorator_with_parentheses",
206s "catch_as_decorator_without_parentheses",
206s "catch_as_function",
206s "catch_message",
206s "exception_formatting_coroutine",
206s "exception_formatting_function",
206s "exception_formatting_generator",
206s "exception_in_property",
206s "handler_formatting_with_context_manager",
206s "handler_formatting_with_decorator",
206s "level_name",
206s "level_number",
206s "message_formatting_with_context_manager",
206s "message_formatting_with_decorator",
206s "nested_with_reraise",
206s "syntaxerror_without_traceback",
206s "sys_tracebacklimit",
206s "sys_tracebacklimit_negative",
206s "sys_tracebacklimit_none",
206s "sys_tracebacklimit_unset",
206s "zerodivisionerror_without_traceback",
206s ],
206s )
206s def test_exception_others(filename):
206s > compare_exception("others", filename)
206s
206s tests/test_exceptions_formatting.py:226:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'others', filename = 'sys_tracebacklimit_unset'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...ion by zero\n' == '\nTraceback ...ion by zero\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in
206s E a()
206s E File "tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a
206s E b()...
206s E
206s E ...Full output truncated (142 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in
206s a()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a
206s b()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b
206s c()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c
206s d()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d
206s e()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e
206s f()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f
206s g()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g
206s h()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h
206s i()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i
206s j(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in
206s a()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a
206s b()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b
206s c()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c
206s d()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d
206s e()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e
206s f()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f
206s g()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g
206s h()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h
206s i()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i
206s j(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in
206s a()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a
206s b()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b
206s c()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c
206s d()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d
206s e()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e
206s f()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f
206s g()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g
206s h()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h
206s i()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i
206s j(1, 0)
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j
206s a / b
206s ZeroDivisionError: division by zero
206s
206s Traceback (most recent call last):
206s
206s > File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 58, in
206s a()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 13, in a
206s b()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 17, in b
206s c()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 21, in c
206s d()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 25, in d
206s e()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 29, in e
206s f()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 33, in f
206s g()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 37, in g
206s h()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 41, in h
206s i()
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 45, in i
206s j(1, 0)
206s
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/others/sys_tracebacklimit_unset.py", line 49, in j
206s a / b
206s
206s ZeroDivisionError: division by zero
206s
206s __________ test_exception_modern[type_hints-minimum_python_version0] ___________
206s
206s filename = 'type_hints', minimum_python_version = (3, 6)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'type_hints'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/modern/[0m[32m[1mtype_hints.py[0m", line [33m23[0m, in [35m[0m
206s E [1mmain[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (16 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mtype_hints.py[0m", line [33m23[0m, in [35m[0m
206s [1mmain[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mtype_hints.py[0m", line [33m19[0m, in [35mmain[0m
206s [1mbar[0m[1m:[0m [1mName[0m [35m[1m=[0m [1mfoo[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m2[0m[1m,[0m [34m[1m3[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mtype_hints.py[0m", line [33m15[0m, in [35mfoo[0m
206s [35m[1mdef[0m [1mfoo[0m[1m([0m[1ma[0m[1m:[0m [1mint[0m[1m,[0m [1mb[0m[1m:[0m [1mUnion[0m[1m[[0m[1mName[0m[1m,[0m [1mfloat[0m[1m][0m[1m,[0m [1mc[0m[1m:[0m [36m"Name"[0m[1m)[0m [35m[1m->[0m [1mT[0m[1m:[0m [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s ___ test_exception_modern[positional_only_argument-minimum_python_version1] ____
206s
206s filename = 'positional_only_argument', minimum_python_version = (3, 8)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'positional_only_argument'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/modern/[0m[32m[1mpositional_only_argument.py[0m", line [33m23[0m, in [35m[0m
206s E [1mmain[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (14 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mpositional_only_argument.py[0m", line [33m23[0m, in [35m[0m
206s [1mmain[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mpositional_only_argument.py[0m", line [33m19[0m, in [35mmain[0m
206s [1mfoo[0m[1m([0m[34m[1m1[0m[1m,[0m [34m[1m2[0m[1m,[0m [1mc[0m[35m[1m=[0m[34m[1m3[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mpositional_only_argument.py[0m", line [33m15[0m, in [35mfoo[0m
206s [35m[1mdef[0m [1mfoo[0m[1m([0m[1ma[0m[1m,[0m [35m[1m/[0m[1m,[0m [1mb[0m[1m,[0m [35m[1m*[0m[1m,[0m [1mc[0m[1m,[0m [35m[1m**[0m[1md[0m[1m)[0m[1m:[0m [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s ________ test_exception_modern[walrus_operator-minimum_python_version2] ________
206s
206s filename = 'walrus_operator', minimum_python_version = (3, 8)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'walrus_operator'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E > File "[32mtests/exceptions/source/modern/[0m[32m[1mwalrus_operator.py[0m", line [33m25[0m, in [35m[0m
206s E [1mmain[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (10 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mwalrus_operator.py[0m", line [33m25[0m, in [35m[0m
206s [1mmain[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mwalrus_operator.py[0m", line [33m19[0m, in [35mmain[0m
206s [1m([0m[1mwalrus[0m [35m[1m:=[0m [1mfoo[0m[1m([0m[1m)[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mwalrus_operator.py[0m", line [33m8[0m, in [35mfoo[0m
206s [35m[1mif[0m [1ma[0m [35m[1m:=[0m [36m"a"[0m [35m[1m+[0m [1m([0m[1mx[0m[35m[1m:=[0m[34m[1m1[0m[35m[1m/[0m[34m[1m0[0m[1m)[0m[1m:[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s ________ test_exception_modern[match_statement-minimum_python_version3] ________
206s
206s filename = 'match_statement', minimum_python_version = (3, 10)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'match_statement'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/modern/[0m[32m[1mmatch_statement.py[0m", line [33m21[0m, in [35m[0m
206s E [1mmatch[0m[1m([0m[34m[1m1[0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (14 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mmatch_statement.py[0m", line [33m21[0m, in [35m[0m
206s [1mmatch[0m[1m([0m[34m[1m1[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mmatch_statement.py[0m", line [33m18[0m, in [35mmatch[0m
206s [1mcase[0m [1my[0m[1m:[0m [1mcase[0m[1m([0m[1mx[0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mmatch_statement.py[0m", line [33m11[0m, in [35mcase[0m
206s [1mmatch[0m [1my[0m [35m[1m/[0m [34m[1m0[0m[1m:[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s _____ test_exception_modern[exception_group_catch-minimum_python_version4] _____
206s
206s filename = 'exception_group_catch', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'exception_group_catch'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n + \x1b[3...1m 2\x1b[0m\n' == '\n + \x1b[3...1m 2\x1b[0m\n'
206s E
206s E
206s E + [33m[1mException Group Traceback (most recent call last):[0m
206s E |
206s E | File "[32mtests/exceptions/source/modern/[0m[32m[1mexception_group_catch.py[0m", line [33m14[0m, in [35ma[0m
206s E | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group"[0m[1m,[0m [1m[[0m[1mValueError[0m[1m([0m[34m[1m1[0m[1m)[0m[1m][0m[1m)[0m
206s E |...
206s E
206s E ...Full output truncated (24 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mexception_group_catch.py[0m", line [33m14[0m, in [35ma[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group"[0m[1m,[0m [1m[[0m[1mValueError[0m[1m([0m[34m[1m1[0m[1m)[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group (1 sub-exception)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m 1[0m
206s +------------------------------------
206s
206s
206s [1mDuring handling of the above exception, another exception occurred:[0m
206s
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mexception_group_catch.py[0m", line [33m25[0m, in [35m[0m
206s [1mb[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mexception_group_catch.py[0m", line [33m21[0m, in [35mb[0m
206s [35m[1mexcept[0m[35m[1m*[0m [1mTypeError[0m[1m:[0m [1ma[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mexception_group_catch.py[0m", line [33m15[0m, in [35ma[0m
206s [35m[1mexcept[0m[35m[1m*[0m [1mx[0m [35m[1mas[0m [1me[0m[1m:[0m [35m[1mraise[0m [1mValueError[0m[1m([0m[34m[1m2[0m[1m)[0m
206s
206s [31m[1mValueError[0m:[1m 2[0m
206s
206s _____________ test_exception_modern[notes-minimum_python_version5] _____________
206s
206s filename = 'notes', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'notes'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...rror\x1b[0m\n' == '\nTraceback ...rror\x1b[0m\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/modern/notes.py", line 13, in
206s E raise e
206s E ValueError: invalid value
206s E Note...
206s E
206s E ...Full output truncated (111 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 13, in
206s raise e
206s ValueError: invalid value
206s Note
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mnotes.py[0m", line [33m13[0m, in [35m[0m
206s [35m[1mraise[0m [1me[0m
206s
206s [31m[1mValueError[0m:[1m invalid value[0m
206s Note
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 20, in
206s raise e
206s ValueError: invalid value
206s Note1
206s Note2
206s Note3
206s
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mnotes.py[0m", line [33m20[0m, in [35m[0m
206s [35m[1mraise[0m [1me[0m
206s
206s [31m[1mValueError[0m:[1m invalid value[0m
206s Note1
206s Note2
206s Note3
206s
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 27, in
206s | raise e
206s | ExceptionGroup: Grouped (2 sub-exceptions)
206s | Note 1
206s | Note 2
206s | Note 3
206s +-+---------------- 1 ----------------
206s | ValueError: 1
206s +---------------- 2 ----------------
206s | ValueError: 2
206s +------------------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mnotes.py[0m", line [33m27[0m, in [35m[0m
206s | [35m[1mraise[0m [1me[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m Grouped (2 sub-exceptions)[0m
206s | Note 1
206s | Note 2
206s | Note 3
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m 1[0m
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 2[0m
206s +------------------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 32, in
206s raise e
206s TabError: tab error
206s Note
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mnotes.py[0m", line [33m32[0m, in [35m[0m
206s [35m[1mraise[0m [1me[0m
206s
206s [31m[1mTabError[0m:[1m tab error[0m
206s Note
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 38, in
206s raise e
206s File "", line 1
206s a = 7 *
206s ^
206s SyntaxError: syntax error
206s Note 1
206s Note 2
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mnotes.py[0m", line [33m38[0m, in [35m[0m
206s [35m[1mraise[0m [1me[0m
206s
206s File "", line 1
206s a = 7 *
206s ^
206s
206s [31m[1mSyntaxError[0m:[1m syntax error[0m
206s Note 1
206s Note 2
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/notes.py", line 43, in
206s raise e
206s TypeError: type error
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mnotes.py[0m", line [33m43[0m, in [35m[0m
206s [35m[1mraise[0m [1me[0m
206s
206s [31m[1mTypeError[0m:[1m type error[0m
206s
206s ________ test_exception_modern[grouped_simple-minimum_python_version6] _________
206s
206s filename = 'grouped_simple', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'grouped_simple'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n'
206s E
206s E
206s E + Exception Group Traceback (most recent call last):
206s E | File "tests/exceptions/source/modern/grouped_simple.py", line 41, in
206s E | main()
206s E | File "tests/exceptions/source/modern/grouped_simple.py", line 34, in main
206s E | raise ExceptionGroup("group", [error_1, error_2, error_3]) from None...
206s E
206s E ...Full output truncated (94 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 41, in
206s | main()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 34, in main
206s | raise ExceptionGroup("group", [error_1, error_2, error_3]) from None
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 26, in main
206s | c(b)
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 20, in c
206s | f()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 16, in b
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a
206s | x / y
206s | ZeroDivisionError: division by zero
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 29, in main
206s | c(a)
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 20, in c
206s | f()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a
206s | x / y
206s | ZeroDivisionError: division by zero
206s +---------------- 3 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 32, in main
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_simple.py", line 12, in a
206s | x / y
206s | ZeroDivisionError: division by zero
206s +------------------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m41[0m, in [35m[0m
206s | [1mmain[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m34[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group"[0m[1m,[0m [1m[[0m[1merror_1[0m[1m,[0m [1merror_2[0m[1m,[0m [1merror_3[0m[1m][0m[1m)[0m [35m[1mfrom[0m [36m[1mNone[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m26[0m, in [35mmain[0m
206s | [1mc[0m[1m([0m[1mb[0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m20[0m, in [35mc[0m
206s | [1mf[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m16[0m, in [35mb[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m12[0m, in [35ma[0m
206s | [1mx[0m [35m[1m/[0m [1my[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m29[0m, in [35mmain[0m
206s | [1mc[0m[1m([0m[1ma[0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m20[0m, in [35mc[0m
206s | [1mf[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m12[0m, in [35ma[0m
206s | [1mx[0m [35m[1m/[0m [1my[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +---------------- 3 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m32[0m, in [35mmain[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_simple.py[0m", line [33m12[0m, in [35ma[0m
206s | [1mx[0m [35m[1m/[0m [1my[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +------------------------------------
206s
206s ________ test_exception_modern[grouped_nested-minimum_python_version7] _________
206s
206s filename = 'grouped_nested', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'grouped_nested'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n'
206s E
206s E
206s E + Exception Group Traceback (most recent call last):
206s E | File "tests/exceptions/source/modern/grouped_nested.py", line 40, in
206s E | main()
206s E | File "tests/exceptions/source/modern/grouped_nested.py", line 33, in main
206s E | raise ExceptionGroup("group_2", [error_4, error_3]) from None...
206s E
206s E ...Full output truncated (144 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 40, in
206s | main()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 33, in main
206s | raise ExceptionGroup("group_2", [error_4, error_3]) from None
206s | ExceptionGroup: group_2 (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 26, in main
206s | raise ExceptionGroup("group_1", [error_1, error_2])
206s | ExceptionGroup: group_1 (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 17, in main
206s | divide_by_zero()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 6, in divide_by_zero
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 22, in main
206s | raise_value_error(100)
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error
206s | raise ValueError(value)
206s | ValueError: 100
206s +------------------------------------
206s |
206s | During handling of the above exception, another exception occurred:
206s |
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 29, in main
206s | raise_value_error(-100)
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error
206s | raise ValueError(value)
206s | ValueError: -100
206s +---------------- 2 ----------------
206s | Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 26, in main
206s | raise ExceptionGroup("group_1", [error_1, error_2])
206s | ExceptionGroup: group_1 (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 17, in main
206s | divide_by_zero()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 6, in divide_by_zero
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 22, in main
206s | raise_value_error(100)
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_nested.py", line 10, in raise_value_error
206s | raise ValueError(value)
206s | ValueError: 100
206s +------------------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m40[0m, in [35m[0m
206s | [1mmain[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m33[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_2"[0m[1m,[0m [1m[[0m[1merror_4[0m[1m,[0m [1merror_3[0m[1m][0m[1m)[0m [35m[1mfrom[0m [36m[1mNone[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_2 (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m26[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_1"[0m[1m,[0m [1m[[0m[1merror_1[0m[1m,[0m [1merror_2[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_1 (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m17[0m, in [35mmain[0m
206s | [1mdivide_by_zero[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m6[0m, in [35mdivide_by_zero[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m22[0m, in [35mmain[0m
206s | [1mraise_value_error[0m[1m([0m[34m[1m100[0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m10[0m, in [35mraise_value_error[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[1mvalue[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m 100[0m
206s +------------------------------------
206s |
206s |
206s | [1mDuring handling of the above exception, another exception occurred:[0m
206s |
206s |
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m29[0m, in [35mmain[0m
206s | [1mraise_value_error[0m[1m([0m[35m[1m-[0m[34m[1m100[0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m10[0m, in [35mraise_value_error[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[1mvalue[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m -100[0m
206s +---------------- 2 ----------------
206s | [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m26[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_1"[0m[1m,[0m [1m[[0m[1merror_1[0m[1m,[0m [1merror_2[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_1 (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m17[0m, in [35mmain[0m
206s | [1mdivide_by_zero[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m6[0m, in [35mdivide_by_zero[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m22[0m, in [35mmain[0m
206s | [1mraise_value_error[0m[1m([0m[34m[1m100[0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_nested.py[0m", line [33m10[0m, in [35mraise_value_error[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[1mvalue[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m 100[0m
206s +------------------------------------
206s
206s _ test_exception_modern[grouped_with_cause_and_context-minimum_python_version8] _
206s
206s filename = 'grouped_with_cause_and_context', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'grouped_with_cause_and_context'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\nTraceback ...-----------\n' == '\nTraceback ...-----------\n'
206s E
206s E
206s E Traceback (most recent call last):
206s E File "tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 31, in main
206s E a()
206s E File "tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a
206s E 1 / 0...
206s E
206s E ...Full output truncated (130 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 31, in main
206s a()
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a
206s 1 / 0
206s ZeroDivisionError: division by zero
206s
206s The above exception was the direct cause of the following exception:
206s
206s Traceback (most recent call last):
206s File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 34, in main
206s raise ValueError("Error") from err
206s ValueError: Error
206s
206s During handling of the above exception, another exception occurred:
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 43, in
206s | main()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 36, in main
206s | raise ExceptionGroup("from_context", [from_context, from_cause])
206s | ExceptionGroup: from_context (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 17, in main
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s |
206s | The above exception was the direct cause of the following exception:
206s |
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 19, in main
206s | raise ValueError("ContextError") from err
206s | ValueError: ContextError
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 24, in main
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 10, in a
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s |
206s | During handling of the above exception, another exception occurred:
206s |
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_with_cause_and_context.py", line 26, in main
206s | raise ValueError("CauseError")
206s | ValueError: CauseError
206s +------------------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m31[0m, in [35mmain[0m
206s [1ma[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m10[0m, in [35ma[0m
206s [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s
206s [1mThe above exception was the direct cause of the following exception:[0m
206s
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m34[0m, in [35mmain[0m
206s [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"Error"[0m[1m)[0m [35m[1mfrom[0m [1merr[0m
206s
206s [31m[1mValueError[0m:[1m Error[0m
206s
206s
206s [1mDuring handling of the above exception, another exception occurred:[0m
206s
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m43[0m, in [35m[0m
206s | [1mmain[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m36[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"from_context"[0m[1m,[0m [1m[[0m[1mfrom_context[0m[1m,[0m [1mfrom_cause[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m from_context (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m17[0m, in [35mmain[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m10[0m, in [35ma[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s |
206s |
206s | [1mThe above exception was the direct cause of the following exception:[0m
206s |
206s |
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m19[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"ContextError"[0m[1m)[0m [35m[1mfrom[0m [1merr[0m
206s |
206s | [31m[1mValueError[0m:[1m ContextError[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m24[0m, in [35mmain[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m10[0m, in [35ma[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s |
206s |
206s | [1mDuring handling of the above exception, another exception occurred:[0m
206s |
206s |
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_with_cause_and_context.py[0m", line [33m26[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"CauseError"[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m CauseError[0m
206s +------------------------------------
206s
206s _ test_exception_modern[grouped_as_cause_and_context-minimum_python_version9] __
206s
206s filename = 'grouped_as_cause_and_context', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'grouped_as_cause_and_context'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n'
206s E
206s E
206s E + Exception Group Traceback (most recent call last):
206s E | File "tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 31, in main
206s E | raise ExceptionGroup("group_1", [error_1, error_2])
206s E | ExceptionGroup: group_1 (2 sub-exceptions)
206s E +-+---------------- 1 ----------------...
206s E
206s E ...Full output truncated (180 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 31, in main
206s | raise ExceptionGroup("group_1", [error_1, error_2])
206s | ExceptionGroup: group_1 (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main
206s | b()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b
206s | raise ValueError("Error")
206s | ValueError: Error
206s +------------------------------------
206s
206s The above exception was the direct cause of the following exception:
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 33, in main
206s | raise ExceptionGroup("group_2", [error_2, error_1]) from err
206s | ExceptionGroup: group_2 (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main
206s | b()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b
206s | raise ValueError("Error")
206s | ValueError: Error
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s +------------------------------------
206s
206s During handling of the above exception, another exception occurred:
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 42, in
206s | main()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 35, in main
206s | raise ExceptionGroup("group_3", [err])
206s | ExceptionGroup: group_3 (1 sub-exception)
206s +-+---------------- 1 ----------------
206s | Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 33, in main
206s | raise ExceptionGroup("group_2", [error_2, error_1]) from err
206s | ExceptionGroup: group_2 (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 25, in main
206s | b()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 14, in b
206s | raise ValueError("Error")
206s | ValueError: Error
206s +---------------- 2 ----------------
206s | Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 20, in main
206s | a()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_as_cause_and_context.py", line 10, in a
206s | 1 / 0
206s | ZeroDivisionError: division by zero
206s +------------------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m31[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_1"[0m[1m,[0m [1m[[0m[1merror_1[0m[1m,[0m [1merror_2[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_1 (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m20[0m, in [35mmain[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m10[0m, in [35ma[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m25[0m, in [35mmain[0m
206s | [1mb[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m14[0m, in [35mb[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"Error"[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m Error[0m
206s +------------------------------------
206s
206s
206s [1mThe above exception was the direct cause of the following exception:[0m
206s
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m33[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_2"[0m[1m,[0m [1m[[0m[1merror_2[0m[1m,[0m [1merror_1[0m[1m][0m[1m)[0m [35m[1mfrom[0m [1merr[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_2 (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m25[0m, in [35mmain[0m
206s | [1mb[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m14[0m, in [35mb[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"Error"[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m Error[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m20[0m, in [35mmain[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m10[0m, in [35ma[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +------------------------------------
206s
206s
206s [1mDuring handling of the above exception, another exception occurred:[0m
206s
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m42[0m, in [35m[0m
206s | [1mmain[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m35[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_3"[0m[1m,[0m [1m[[0m[1merr[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_3 (1 sub-exception)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m33[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group_2"[0m[1m,[0m [1m[[0m[1merror_2[0m[1m,[0m [1merror_1[0m[1m][0m[1m)[0m [35m[1mfrom[0m [1merr[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group_2 (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m25[0m, in [35mmain[0m
206s | [1mb[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m14[0m, in [35mb[0m
206s | [35m[1mraise[0m [1mValueError[0m[1m([0m[36m"Error"[0m[1m)[0m
206s |
206s | [31m[1mValueError[0m:[1m Error[0m
206s +---------------- 2 ----------------
206s | [33m[1mTraceback (most recent call last):[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m20[0m, in [35mmain[0m
206s | [1ma[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_as_cause_and_context.py[0m", line [33m10[0m, in [35ma[0m
206s | [34m[1m1[0m [35m[1m/[0m [34m[1m0[0m
206s |
206s | [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s +------------------------------------
206s
206s ______ test_exception_modern[grouped_max_length-minimum_python_version10] ______
206s
206s filename = 'grouped_max_length', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'grouped_max_length'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n'
206s E
206s E
206s E + Exception Group Traceback (most recent call last):
206s E | File "tests/exceptions/source/modern/grouped_max_length.py", line 15, in
206s E | main()
206s E | File "tests/exceptions/source/modern/grouped_max_length.py", line 8, in main
206s E | raise ExceptionGroup("group", errors)...
206s E
206s E ...Full output truncated (79 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_length.py", line 15, in
206s | main()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_length.py", line 8, in main
206s | raise ExceptionGroup("group", errors)
206s | ExceptionGroup: group (100 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: 0
206s +---------------- 2 ----------------
206s | ValueError: 1
206s +---------------- 3 ----------------
206s | ValueError: 2
206s +---------------- 4 ----------------
206s | ValueError: 3
206s +---------------- 5 ----------------
206s | ValueError: 4
206s +---------------- 6 ----------------
206s | ValueError: 5
206s +---------------- 7 ----------------
206s | ValueError: 6
206s +---------------- 8 ----------------
206s | ValueError: 7
206s +---------------- 9 ----------------
206s | ValueError: 8
206s +---------------- 10 ---------------
206s | ValueError: 9
206s +---------------- 11 ---------------
206s | ValueError: 10
206s +---------------- 12 ---------------
206s | ValueError: 11
206s +---------------- 13 ---------------
206s | ValueError: 12
206s +---------------- 14 ---------------
206s | ValueError: 13
206s +---------------- 15 ---------------
206s | ValueError: 14
206s +--------------- ... ---------------
206s | and 85 more exceptions
206s +------------------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_max_length.py[0m", line [33m15[0m, in [35m[0m
206s | [1mmain[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_max_length.py[0m", line [33m8[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group"[0m[1m,[0m [1merrors[0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group (100 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m 0[0m
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 1[0m
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 2[0m
206s +---------------- 4 ----------------
206s | [31m[1mValueError[0m:[1m 3[0m
206s +---------------- 5 ----------------
206s | [31m[1mValueError[0m:[1m 4[0m
206s +---------------- 6 ----------------
206s | [31m[1mValueError[0m:[1m 5[0m
206s +---------------- 7 ----------------
206s | [31m[1mValueError[0m:[1m 6[0m
206s +---------------- 8 ----------------
206s | [31m[1mValueError[0m:[1m 7[0m
206s +---------------- 9 ----------------
206s | [31m[1mValueError[0m:[1m 8[0m
206s +---------------- 10 ---------------
206s | [31m[1mValueError[0m:[1m 9[0m
206s +---------------- 11 ---------------
206s | [31m[1mValueError[0m:[1m 10[0m
206s +---------------- 12 ---------------
206s | [31m[1mValueError[0m:[1m 11[0m
206s +---------------- 13 ---------------
206s | [31m[1mValueError[0m:[1m 12[0m
206s +---------------- 14 ---------------
206s | [31m[1mValueError[0m:[1m 13[0m
206s +---------------- 15 ---------------
206s | [31m[1mValueError[0m:[1m 14[0m
206s +--------------- ... ---------------
206s | and 85 more exceptions
206s +------------------------------------
206s
206s ______ test_exception_modern[grouped_max_depth-minimum_python_version11] _______
206s
206s filename = 'grouped_max_depth', minimum_python_version = (3, 11)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'grouped_max_depth'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n + Except...-----------\n' == '\n + Except...-----------\n'
206s E
206s E
206s E + Exception Group Traceback (most recent call last):
206s E | File "tests/exceptions/source/modern/grouped_max_depth.py", line 26, in
206s E | main()
206s E | File "tests/exceptions/source/modern/grouped_max_depth.py", line 19, in main
206s E | raise ExceptionGroup("group", [nesting_left, nesting_right, nesting_both])...
206s E
206s E ...Full output truncated (317 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s + Exception Group Traceback (most recent call last):
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_depth.py", line 26, in
206s | main()
206s | File "/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/grouped_max_depth.py", line 19, in main
206s | raise ExceptionGroup("group", [nesting_left, nesting_right, nesting_both])
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -99
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -98
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -97
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -96
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -95
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -94
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -93
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -92
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -91
206s +---------------- 2 ----------------
206s | ... (max_group_depth is 10)
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ExceptionGroup: group (2 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ... (max_group_depth is 10)
206s +---------------- 2 ----------------
206s | ValueError: 91
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 92
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 93
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 94
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 95
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 96
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 97
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 98
206s +------------------------------------
206s +---------------- 2 ----------------
206s | ValueError: 99
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -99
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -98
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -97
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -96
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -95
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -94
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -93
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -92
206s +---------------- 2 ----------------
206s | ExceptionGroup: group (3 sub-exceptions)
206s +-+---------------- 1 ----------------
206s | ValueError: -91
206s +---------------- 2 ----------------
206s | ... (max_group_depth is 10)
206s +---------------- 3 ----------------
206s | ValueError: 91
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 92
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 93
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 94
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 95
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 96
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 97
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 98
206s +------------------------------------
206s +---------------- 3 ----------------
206s | ValueError: 99
206s +------------------------------------
206s
206s + [33m[1mException Group Traceback (most recent call last):[0m
206s |
206s | > File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_max_depth.py[0m", line [33m26[0m, in [35m[0m
206s | [1mmain[0m[1m([0m[1m)[0m
206s |
206s | File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mgrouped_max_depth.py[0m", line [33m19[0m, in [35mmain[0m
206s | [35m[1mraise[0m [1mExceptionGroup[0m[1m([0m[36m"group"[0m[1m,[0m [1m[[0m[1mnesting_left[0m[1m,[0m [1mnesting_right[0m[1m,[0m [1mnesting_both[0m[1m][0m[1m)[0m
206s |
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -99[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -98[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -97[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -96[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -95[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -94[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -93[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -92[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -91[0m
206s +---------------- 2 ----------------
206s | ... (max_group_depth is 10)
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (2 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | ... (max_group_depth is 10)
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 91[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 92[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 93[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 94[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 95[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 96[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 97[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 98[0m
206s +------------------------------------
206s +---------------- 2 ----------------
206s | [31m[1mValueError[0m:[1m 99[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -99[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -98[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -97[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -96[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -95[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -94[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -93[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -92[0m
206s +---------------- 2 ----------------
206s | [31m[1mExceptionGroup[0m:[1m group (3 sub-exceptions)[0m
206s +-+---------------- 1 ----------------
206s | [31m[1mValueError[0m:[1m -91[0m
206s +---------------- 2 ----------------
206s | ... (max_group_depth is 10)
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 91[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 92[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 93[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 94[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 95[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 96[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 97[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 98[0m
206s +------------------------------------
206s +---------------- 3 ----------------
206s | [31m[1mValueError[0m:[1m 99[0m
206s +------------------------------------
206s
206s ___________ test_exception_modern[f_string-minimum_python_version12] ___________
206s
206s filename = 'f_string', minimum_python_version = (3, 12)
206s
206s @pytest.mark.parametrize(
206s "filename, minimum_python_version",
206s [
206s ("type_hints", (3, 6)),
206s ("positional_only_argument", (3, 8)),
206s ("walrus_operator", (3, 8)),
206s ("match_statement", (3, 10)),
206s ("exception_group_catch", (3, 11)),
206s ("notes", (3, 11)),
206s ("grouped_simple", (3, 11)),
206s ("grouped_nested", (3, 11)),
206s ("grouped_with_cause_and_context", (3, 11)),
206s ("grouped_as_cause_and_context", (3, 11)),
206s ("grouped_max_length", (3, 11)),
206s ("grouped_max_depth", (3, 11)),
206s ("f_string", (3, 12)), # Available since 3.6 but in 3.12 the lexer for f-string changed.
206s ],
206s )
206s def test_exception_modern(filename, minimum_python_version):
206s if sys.version_info < minimum_python_version:
206s pytest.skip("Feature not supported in this Python version")
206s
206s > compare_exception("modern", filename)
206s
206s tests/test_exceptions_formatting.py:251:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s dirname = 'modern', filename = 'f_string'
206s
206s def compare_exception(dirname, filename):
206s cwd = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
206s python = sys.executable or "python"
206s filepath = os.path.join("tests", "exceptions", "source", dirname, filename + ".py")
206s outpath = os.path.join(cwd, "tests", "exceptions", "output", dirname, filename + ".txt")
206s
206s with subprocess.Popen(
206s [python, filepath],
206s shell=False,
206s cwd=cwd,
206s stdout=subprocess.PIPE,
206s stderr=subprocess.PIPE,
206s universal_newlines=True,
206s env=dict(os.environ, PYTHONPATH=cwd, PYTHONIOENCODING="utf8"),
206s ) as proc:
206s stdout, stderr = proc.communicate()
206s print(stderr, file=sys.stderr)
206s assert proc.returncode == 0
206s assert stdout == ""
206s assert stderr != ""
206s
206s stderr = normalize(stderr)
206s
206s # generate(stderr, outpath)
206s
206s with open(outpath, "r") as file:
206s > assert stderr == file.read()
206s E assert '\n\x1b[33m\x...zero\x1b[0m\n' == '\n\x1b[33m\x...zero\x1b[0m\n'
206s E
206s E
206s E [33m[1mTraceback (most recent call last):[0m
206s E
206s E File "[32mtests/exceptions/source/modern/[0m[32m[1mf_string.py[0m", line [33m21[0m, in [35m[0m
206s E [1mhello[0m[1m([0m[1m)[0m
206s E - [36m└ [0m[36m[1m[0m...
206s E
206s E ...Full output truncated (12 lines hidden), use '-vv' to show
206s
206s tests/test_exceptions_formatting.py:114: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s
206s [33m[1mTraceback (most recent call last):[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mf_string.py[0m", line [33m21[0m, in [35m[0m
206s [1mhello[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mf_string.py[0m", line [33m11[0m, in [35mhello[0m
206s [1moutput[0m [35m[1m=[0m [36mf"[0m[36mHello[0m[36m"[0m [35m[1m+[0m [36mf'[0m[36m [0m[36m'[0m [35m[1m+[0m [36mf"""[0m[36mWorld[0m[36m"""[0m [35m[1mand[0m [1mworld[0m[1m([0m[1m)[0m
206s
206s File "[32m/tmp/autopkgtest.xcZOEI/autopkgtest_tmp/tests/exceptions/source/modern/[0m[32m[1mf_string.py[0m", line [33m17[0m, in [35mworld[0m
206s [36mf"[0m[1m{[0m[1mname[0m[1m}[0m[36m -> [0m[1m{[0m [1mf[0m [1m}[0m[36m"[0m [35m[1mand[0m [1m{[0m[1m}[0m [35m[1mor[0m [36mf'[0m[36m{{[0m[36m [0m[1m{[0m[1mf[0m [35m[1m/[0m [34m[1m0[0m[1m}[0m[36m }}[0m[36m'[0m
206s
206s [31m[1mZeroDivisionError[0m:[1m division by zero[0m
206s
206s ________________________ test_pickling_standard_handler ________________________
206s
206s def test_pickling_standard_handler():
206s handler = StandardHandler(logging.NOTSET)
206s logger.add(handler, format="{level} - {function} - {message}")
206s pickled = pickle.dumps(logger)
206s unpickled = pickle.loads(pickled)
206s unpickled.debug("A message")
206s handler = next(iter(unpickled._core.handlers.values()))._sink._handler
206s > assert handler.written == "DEBUG - test_pickling_standard_handler - A message"
206s E AssertionError: assert '' == 'DEBUG - test...r - A message'
206s E
206s E - DEBUG - test_pickling_standard_handler - A message
206s
206s tests/test_pickling.py:130: AssertionError
206s ----------------------------- Captured stderr call -----------------------------
206s --- Logging error in Loguru Handler #0 ---
206s Record was: {'elapsed': datetime.timedelta(seconds=52, microseconds=635538), 'exception': None, 'extra': {}, 'file': (name='test_pickling.py', path='/tmp/autopkgtest.xcZOEI/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=2453, name='MainProcess'), 'thread': (id=4396894617856, name='MainThread'), 'time': datetime(2024, 11, 13, 11, 50, 41, 334971, tzinfo=datetime.timezone(datetime.timedelta(0), 'UTC'))}
206s Traceback (most recent call last):
206s File "/usr/lib/python3/dist-packages/loguru/_handler.py", line 206, in emit
206s self._sink.write(str_record)
206s ~~~~~~~~~~~~~~~~^^^^^^^^^^^^
206s File "/usr/lib/python3/dist-packages/loguru/_simple_sinks.py", line 51, in write
206s self._handler.handle(record)
206s ~~~~~~~~~~~~~~~~~~~~^^^^^^^^
206s File "/usr/lib/python3.13/logging/__init__.py", line 1025, in handle
206s with self.lock:
206s ^^^^^^^^^
206s TypeError: 'NoneType' object does not support the context manager protocol
206s --- End of logging error ---
206s ___________ test_pickling_standard_handler_root_logger_not_picklable ___________
206s
206s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ffb7d714e0>
206s capsys = <_pytest.capture.CaptureFixture object at 0x3ffb7d71160>
206s
206s def test_pickling_standard_handler_root_logger_not_picklable(monkeypatch, capsys):
206s def reduce_protocol():
206s raise TypeError("Not picklable")
206s
206s monkeypatch.setattr(logging.getLogger(), "__reduce__", reduce_protocol, raising=False)
206s
206s handler = StandardHandler(logging.NOTSET)
206s logger.add(handler, format="=> {message}", catch=False)
206s
206s pickled = pickle.dumps(logger)
206s pickle.loads(pickled)
206s
206s > logger.info("Ok")
206s
206s tests/test_pickling.py:145:
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s /usr/lib/python3/dist-packages/loguru/_logger.py:2044: in info
206s __self._log("INFO", False, __self._options, __message, args, kwargs)
206s /usr/lib/python3/dist-packages/loguru/_logger.py:2032: in _log
206s handler.emit(log_record, level_id, from_decorator, raw, colored_message)
206s /usr/lib/python3/dist-packages/loguru/_handler.py:206: in emit
206s self._sink.write(str_record)
206s /usr/lib/python3/dist-packages/loguru/_simple_sinks.py:51: in write
206s self._handler.handle(record)
206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
206s
206s self =
206s record = Ok">
206s
206s def handle(self, record):
206s """
206s Conditionally emit the specified logging record.
206s
206s Emission depends on filters which may have been added to the handler.
206s Wrap the actual emission of the record with acquisition/release of
206s the I/O thread lock.
206s
206s Returns an instance of the log record that was emitted
206s if it passed all filters, otherwise a false value is returned.
206s """
206s rv = self.filter(record)
206s if isinstance(rv, LogRecord):
206s record = rv
206s if rv:
206s > with self.lock:
206s E TypeError: 'NoneType' object does not support the context manager protocol
206s
206s /usr/lib/python3.13/logging/__init__.py:1025: TypeError
206s =============================== warnings summary ===============================
206s tests/test_multiprocessing.py: 216 warnings
206s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2453) is multi-threaded, use of fork() may lead to deadlocks in the child.
206s self.pid = os.fork()
206s
206s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
206s =========================== short test summary info ============================
206s FAILED tests/test_exceptions_catch.py::test_file_sink_ascii_encoding - assert...
206s FAILED tests/test_exceptions_catch.py::test_file_sink_utf8_encoding - assert ...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[assertion_error] - ...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[assertion_error_custom]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[assertion_error_in_string]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[attributes] - asser...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[chained_both] - ass...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[encoding] - assert ...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[global_variable] - ...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[indentation_error]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[keyword_argument]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[multilines_repr] - ...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[no_error_message]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[parenthesis] - asse...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[source_multilines]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[source_strings] - a...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[syntax_error] - ass...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[syntax_highlighting]
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[truncating] - asser...
206s FAILED tests/test_exceptions_formatting.py::test_diagnose[unprintable_object]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_lib]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[assertion_from_local]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[callback]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[catch_decorator_from_lib]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[decorated_callback]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[direct]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[indirect]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[string_lib]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[string_source]
206s FAILED tests/test_exceptions_formatting.py::test_exception_ownership[syntaxerror]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_coroutine]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_function]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_formatting_generator]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[exception_in_property]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[nested_with_reraise]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_none]
206s FAILED tests/test_exceptions_formatting.py::test_exception_others[sys_tracebacklimit_unset]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[type_hints-minimum_python_version0]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[positional_only_argument-minimum_python_version1]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[walrus_operator-minimum_python_version2]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[match_statement-minimum_python_version3]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[exception_group_catch-minimum_python_version4]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[notes-minimum_python_version5]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_simple-minimum_python_version6]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_nested-minimum_python_version7]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_with_cause_and_context-minimum_python_version8]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_as_cause_and_context-minimum_python_version9]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_length-minimum_python_version10]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[grouped_max_depth-minimum_python_version11]
206s FAILED tests/test_exceptions_formatting.py::test_exception_modern[f_string-minimum_python_version12]
206s FAILED tests/test_pickling.py::test_pickling_standard_handler - AssertionErro...
206s FAILED tests/test_pickling.py::test_pickling_standard_handler_root_logger_not_picklable
206s ===== 54 failed, 1413 passed, 30 skipped, 216 warnings in 70.36s (0:01:10) =====
207s autopkgtest [11:51:00]: test run-unit-test: -----------------------]
207s autopkgtest [11:51:00]: test run-unit-test: - - - - - - - - - - results - - - - - - - - - -
207s run-unit-test FAIL non-zero exit status 1
208s autopkgtest [11:51:01]: test autodep8-python3: preparing testbed
317s autopkgtest [11:52:50]: testbed dpkg architecture: s390x
318s autopkgtest [11:52:51]: testbed apt version: 2.9.8
318s autopkgtest [11:52:51]: @@@@@@@@@@@@@@@@@@@@ test bed setup
318s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB]
319s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [849 kB]
319s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B]
319s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [76.4 kB]
319s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.3 kB]
319s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [85.8 kB]
319s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [565 kB]
319s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [16.6 kB]
319s Fetched 1689 kB in 1s (2302 kB/s)
319s Reading package lists...
321s Reading package lists...
321s Building dependency tree...
321s Reading state information...
321s Calculating upgrade...
321s The following NEW packages will be installed:
321s python3.13-gdbm
321s The following packages will be upgraded:
321s libgpgme11t64 libpython3-stdlib python3 python3-gdbm python3-minimal
321s 5 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
321s Need to get 252 kB of archives.
321s After this operation, 98.3 kB of additional disk space will be used.
321s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-minimal s390x 3.12.7-1 [27.4 kB]
321s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3 s390x 3.12.7-1 [24.0 kB]
321s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x libpython3-stdlib s390x 3.12.7-1 [10.0 kB]
321s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-gdbm s390x 3.13.0-2 [31.0 kB]
321s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-gdbm s390x 3.12.7-1 [8642 B]
321s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x libgpgme11t64 s390x 1.23.2-5ubuntu4 [151 kB]
322s Fetched 252 kB in 0s (524 kB/s)
322s (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 ... 55510 files and directories currently installed.)
322s Preparing to unpack .../python3-minimal_3.12.7-1_s390x.deb ...
322s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ...
322s Setting up python3-minimal (3.12.7-1) ...
322s (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 ... 55510 files and directories currently installed.)
322s Preparing to unpack .../python3_3.12.7-1_s390x.deb ...
322s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ...
322s Preparing to unpack .../libpython3-stdlib_3.12.7-1_s390x.deb ...
322s Unpacking libpython3-stdlib:s390x (3.12.7-1) over (3.12.6-0ubuntu1) ...
322s Selecting previously unselected package python3.13-gdbm.
322s Preparing to unpack .../python3.13-gdbm_3.13.0-2_s390x.deb ...
322s Unpacking python3.13-gdbm (3.13.0-2) ...
322s Preparing to unpack .../python3-gdbm_3.12.7-1_s390x.deb ...
322s Unpacking python3-gdbm:s390x (3.12.7-1) over (3.12.6-1ubuntu1) ...
322s Preparing to unpack .../libgpgme11t64_1.23.2-5ubuntu4_s390x.deb ...
322s Unpacking libgpgme11t64:s390x (1.23.2-5ubuntu4) over (1.18.0-4.1ubuntu4) ...
322s Setting up libgpgme11t64:s390x (1.23.2-5ubuntu4) ...
322s Setting up python3.13-gdbm (3.13.0-2) ...
322s Setting up libpython3-stdlib:s390x (3.12.7-1) ...
322s Setting up python3 (3.12.7-1) ...
322s Setting up python3-gdbm:s390x (3.12.7-1) ...
322s Processing triggers for man-db (2.12.1-3) ...
323s Processing triggers for libc-bin (2.40-1ubuntu3) ...
323s Reading package lists...
323s Building dependency tree...
323s Reading state information...
323s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
324s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease
324s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease
324s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease
324s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease
324s Reading package lists...
324s Reading package lists...
325s Building dependency tree...
325s Reading state information...
325s Calculating upgrade...
325s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
325s Reading package lists...
325s Building dependency tree...
325s Reading state information...
325s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
329s Reading package lists...
329s Building dependency tree...
329s Reading state information...
329s Starting pkgProblemResolver with broken count: 0
329s Starting 2 pkgProblemResolver with broken count: 0
329s Done
329s The following additional packages will be installed:
329s libpython3.13-minimal libpython3.13-stdlib python3-all python3-colorama
329s python3-loguru python3.13 python3.13-minimal
329s Suggested packages:
329s python3.13-venv python3.13-doc binfmt-support
329s The following NEW packages will be installed:
329s autopkgtest-satdep libpython3.13-minimal libpython3.13-stdlib python3-all
329s python3-colorama python3-loguru python3.13 python3.13-minimal
329s 0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
329s Need to get 5941 kB/5942 kB of archives.
329s After this operation, 22.9 MB of additional disk space will be used.
329s Get:1 /tmp/autopkgtest.xcZOEI/2-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [712 B]
329s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-minimal s390x 3.13.0-2 [877 kB]
330s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13-minimal s390x 3.13.0-2 [2172 kB]
330s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.13-stdlib s390x 3.13.0-2 [2086 kB]
330s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x python3.13 s390x 3.13.0-2 [719 kB]
330s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x python3-all s390x 3.12.7-1 [890 B]
330s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3-colorama all 0.4.6-4 [32.1 kB]
330s Get:8 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-loguru all 0.7.2-3 [53.2 kB]
330s Fetched 5941 kB in 1s (7080 kB/s)
330s Selecting previously unselected package libpython3.13-minimal:s390x.
330s (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 ... 55517 files and directories currently installed.)
330s Preparing to unpack .../0-libpython3.13-minimal_3.13.0-2_s390x.deb ...
330s Unpacking libpython3.13-minimal:s390x (3.13.0-2) ...
330s Selecting previously unselected package python3.13-minimal.
330s Preparing to unpack .../1-python3.13-minimal_3.13.0-2_s390x.deb ...
330s Unpacking python3.13-minimal (3.13.0-2) ...
330s Selecting previously unselected package libpython3.13-stdlib:s390x.
330s Preparing to unpack .../2-libpython3.13-stdlib_3.13.0-2_s390x.deb ...
330s Unpacking libpython3.13-stdlib:s390x (3.13.0-2) ...
330s Selecting previously unselected package python3.13.
330s Preparing to unpack .../3-python3.13_3.13.0-2_s390x.deb ...
330s Unpacking python3.13 (3.13.0-2) ...
330s Selecting previously unselected package python3-all.
330s Preparing to unpack .../4-python3-all_3.12.7-1_s390x.deb ...
330s Unpacking python3-all (3.12.7-1) ...
330s Selecting previously unselected package python3-colorama.
330s Preparing to unpack .../5-python3-colorama_0.4.6-4_all.deb ...
330s Unpacking python3-colorama (0.4.6-4) ...
330s Selecting previously unselected package python3-loguru.
330s Preparing to unpack .../6-python3-loguru_0.7.2-3_all.deb ...
330s Unpacking python3-loguru (0.7.2-3) ...
330s Selecting previously unselected package autopkgtest-satdep.
330s Preparing to unpack .../7-2-autopkgtest-satdep.deb ...
330s Unpacking autopkgtest-satdep (0) ...
330s Setting up python3-colorama (0.4.6-4) ...
330s Setting up python3-loguru (0.7.2-3) ...
331s Setting up libpython3.13-minimal:s390x (3.13.0-2) ...
331s Setting up python3.13-minimal (3.13.0-2) ...
332s Setting up libpython3.13-stdlib:s390x (3.13.0-2) ...
332s Setting up python3.13 (3.13.0-2) ...
332s Setting up python3-all (3.12.7-1) ...
332s Setting up autopkgtest-satdep (0) ...
332s Processing triggers for man-db (2.12.1-3) ...
333s Processing triggers for systemd (256.5-2ubuntu4) ...
334s (Reading database ... 56319 files and directories currently installed.)
334s Removing autopkgtest-satdep (0) ...
336s autopkgtest [11:53:09]: 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
336s autopkgtest [11:53:09]: test autodep8-python3: [-----------------------
336s Testing with python3.13:
336s
336s Testing with python3.12:
336s
336s autopkgtest [11:53:09]: test autodep8-python3: -----------------------]
337s autopkgtest [11:53:10]: test autodep8-python3: - - - - - - - - - - results - - - - - - - - - -
337s autodep8-python3 PASS (superficial)
337s autopkgtest [11:53:10]: @@@@@@@@@@@@@@@@@@@@ summary
337s run-unit-test FAIL non-zero exit status 1
337s autodep8-python3 PASS (superficial)
342s nova [W] Using flock in prodstack6-s390x
342s flock: timeout while waiting to get lock
342s Creating nova instance adt-plucky-s390x-loguru-20241113-114733-juju-7f2275-prod-proposed-migration-environment-15-e589393f-3495-4b0c-b144-cd956494ca1f from image adt/ubuntu-plucky-s390x-server-20241113.img (UUID e740277e-1f72-40ae-bfbe-46030537c71c)...
342s nova [W] Using flock in prodstack6-s390x
342s flock: timeout while waiting to get lock
342s Creating nova instance adt-plucky-s390x-loguru-20241113-114733-juju-7f2275-prod-proposed-migration-environment-15-e589393f-3495-4b0c-b144-cd956494ca1f from image adt/ubuntu-plucky-s390x-server-20241113.img (UUID e740277e-1f72-40ae-bfbe-46030537c71c)...