0s autopkgtest [20:42:19]: starting date and time: 2024-11-23 20:42:19+0000 0s autopkgtest [20:42:19]: git checkout: 6408f825 Correct logic in old-systemd fallback code 0s autopkgtest [20:42:19]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.r5011to0/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_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\n" >> /etc/environment' --apt-pocket=proposed=src:python3-defaults,src:python-attrs --apt-upgrade python-cattrs --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.7-1 python-attrs/24.2.0-1' -- lxd -r lxd-armhf-10.145.243.21 lxd-armhf-10.145.243.21:autopkgtest/ubuntu/plucky/armhf 54s autopkgtest [20:43:13]: testbed dpkg architecture: armhf 56s autopkgtest [20:43:15]: testbed apt version: 2.9.8 56s autopkgtest [20:43:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 64s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 64s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [925 kB] 65s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [53.2 kB] 65s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9704 B] 65s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [13.6 kB] 65s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [61.7 kB] 65s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf Packages [756 B] 65s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [721 kB] 65s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [5924 B] 65s Fetched 1865 kB in 1s (2274 kB/s) 65s Reading package lists... 83s tee: /proc/self/fd/2: Permission denied 104s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 104s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 105s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 105s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 106s Reading package lists... 106s Reading package lists... 106s Building dependency tree... 106s Reading state information... 107s Calculating upgrade... 107s The following packages will be upgraded: 107s bash debconf debconf-i18n dracut-install libpython3-stdlib pinentry-curses 107s python3 python3-attr python3-blinker python3-debconf python3-minimal 107s vim-common vim-tiny xxd 107s 14 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 107s Need to get 2361 kB of archives. 107s After this operation, 14.3 kB of additional disk space will be used. 107s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf bash armhf 5.2.32-1ubuntu2 [673 kB] 108s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-minimal armhf 3.12.7-1 [27.4 kB] 108s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3 armhf 3.12.7-1 [24.0 kB] 108s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libpython3-stdlib armhf 3.12.7-1 [10.0 kB] 108s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf debconf-i18n all 1.5.87ubuntu1 [204 kB] 108s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf python3-debconf all 1.5.87ubuntu1 [4156 B] 108s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf debconf all 1.5.87ubuntu1 [124 kB] 108s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf vim-tiny armhf 2:9.1.0861-1ubuntu1 [694 kB] 108s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf vim-common all 2:9.1.0861-1ubuntu1 [395 kB] 108s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf xxd armhf 2:9.1.0861-1ubuntu1 [67.0 kB] 108s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf dracut-install armhf 105-2ubuntu2 [37.5 kB] 108s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf pinentry-curses armhf 1.3.1-0ubuntu2 [40.0 kB] 108s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-attr all 24.2.0-1 [50.2 kB] 108s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf python3-blinker all 1.9.0-1 [10.7 kB] 108s Preconfiguring packages ... 108s Fetched 2361 kB in 1s (3463 kB/s) 108s (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 ... 59616 files and directories currently installed.) 108s Preparing to unpack .../bash_5.2.32-1ubuntu2_armhf.deb ... 109s Unpacking bash (5.2.32-1ubuntu2) over (5.2.32-1ubuntu1) ... 109s Setting up bash (5.2.32-1ubuntu2) ... 109s update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode 109s (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 ... 59616 files and directories currently installed.) 109s Preparing to unpack .../python3-minimal_3.12.7-1_armhf.deb ... 109s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 109s Setting up python3-minimal (3.12.7-1) ... 109s (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 ... 59616 files and directories currently installed.) 109s Preparing to unpack .../python3_3.12.7-1_armhf.deb ... 109s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 109s Preparing to unpack .../libpython3-stdlib_3.12.7-1_armhf.deb ... 109s Unpacking libpython3-stdlib:armhf (3.12.7-1) over (3.12.6-0ubuntu1) ... 109s Preparing to unpack .../debconf-i18n_1.5.87ubuntu1_all.deb ... 109s Unpacking debconf-i18n (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 109s Preparing to unpack .../python3-debconf_1.5.87ubuntu1_all.deb ... 109s Unpacking python3-debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 109s Preparing to unpack .../debconf_1.5.87ubuntu1_all.deb ... 109s Unpacking debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 110s Setting up debconf (1.5.87ubuntu1) ... 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 ... 59616 files and directories currently installed.) 110s Preparing to unpack .../0-vim-tiny_2%3a9.1.0861-1ubuntu1_armhf.deb ... 110s Unpacking vim-tiny (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 110s Preparing to unpack .../1-vim-common_2%3a9.1.0861-1ubuntu1_all.deb ... 110s Unpacking vim-common (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 110s Preparing to unpack .../2-xxd_2%3a9.1.0861-1ubuntu1_armhf.deb ... 110s Unpacking xxd (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 110s Preparing to unpack .../3-dracut-install_105-2ubuntu2_armhf.deb ... 110s Unpacking dracut-install (105-2ubuntu2) over (105-1ubuntu1) ... 110s Preparing to unpack .../4-pinentry-curses_1.3.1-0ubuntu2_armhf.deb ... 110s Unpacking pinentry-curses (1.3.1-0ubuntu2) over (1.2.1-3ubuntu5) ... 110s Preparing to unpack .../5-python3-attr_24.2.0-1_all.deb ... 110s Unpacking python3-attr (24.2.0-1) over (23.2.0-2) ... 110s Preparing to unpack .../6-python3-blinker_1.9.0-1_all.deb ... 110s Unpacking python3-blinker (1.9.0-1) over (1.8.2-1) ... 110s Setting up pinentry-curses (1.3.1-0ubuntu2) ... 110s Setting up debconf-i18n (1.5.87ubuntu1) ... 110s Setting up xxd (2:9.1.0861-1ubuntu1) ... 110s Setting up vim-common (2:9.1.0861-1ubuntu1) ... 110s Setting up dracut-install (105-2ubuntu2) ... 110s Setting up libpython3-stdlib:armhf (3.12.7-1) ... 110s Setting up python3 (3.12.7-1) ... 111s Setting up vim-tiny (2:9.1.0861-1ubuntu1) ... 111s Setting up python3-blinker (1.9.0-1) ... 111s Setting up python3-attr (24.2.0-1) ... 111s Setting up python3-debconf (1.5.87ubuntu1) ... 111s Processing triggers for debianutils (5.21) ... 111s Processing triggers for install-info (7.1.1-1) ... 111s Processing triggers for man-db (2.13.0-1) ... 113s Reading package lists... 113s Building dependency tree... 113s Reading state information... 114s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 116s autopkgtest [20:44:15]: rebooting testbed after setup commands that affected boot 185s autopkgtest [20:45:24]: testbed running kernel: Linux 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 18:12:14 UTC 2 212s autopkgtest [20:45:51]: @@@@@@@@@@@@@@@@@@@@ apt-source python-cattrs 223s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (dsc) [2250 B] 223s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (tar) [566 kB] 223s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (diff) [2856 B] 223s gpgv: Signature made Sat Mar 9 07:28:42 2024 UTC 223s gpgv: using RSA key B9FAD3192AF3E4A5309D9D39879F3C993801A94F 223s gpgv: Can't check signature: No public key 223s dpkg-source: warning: cannot verify inline signature for ./python-cattrs_23.2.3-1.dsc: no acceptable signature found 223s autopkgtest [20:46:02]: testing package python-cattrs version 23.2.3-1 226s autopkgtest [20:46:05]: build not needed 229s autopkgtest [20:46:08]: test pybuild-autopkgtest: preparing testbed 240s Reading package lists... 240s Building dependency tree... 240s Reading state information... 240s Starting pkgProblemResolver with broken count: 0 241s Starting 2 pkgProblemResolver with broken count: 0 241s Done 241s The following additional packages will be installed: 241s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 241s cpp-14-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 241s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 241s g++-14-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-14 241s gcc-14-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 241s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 241s libdebhelper-perl libdouble-conversion3 libfile-stripnondeterminism-perl 241s libgcc-14-dev libgomp1 libisl23 libmpc3 libpython3.13-minimal 241s libpython3.13-stdlib libstdc++-14-dev libtool libubsan1 linux-libc-dev m4 241s po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject python3-all 241s python3-bson python3-build python3-cattr python3-cpuinfo python3-dateutil 241s python3-hatch-vcs python3-hatchling python3-hypothesis python3-iniconfig 241s python3-installer python3-msgpack python3-packaging python3-pathspec 241s python3-pluggy python3-pyproject-hooks python3-pytest 241s python3-pytest-benchmark python3-setuptools-scm python3-sortedcontainers 241s python3-toml python3-tomlkit python3-trove-classifiers python3-ujson 241s python3-wheel python3.13 python3.13-minimal rpcsvc-proto 241s Suggested packages: 241s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-14-locales 241s cpp-14-doc dh-make flit gcc-14-doc gcc-multilib manpages-dev flex bison gdb 241s gcc-doc gdb-arm-linux-gnueabihf gettext-doc libasprintf-dev libgettextpo-dev 241s libc-devtools glibc-doc libstdc++-14-doc libtool-doc gfortran 241s | fortran95-compiler gcj-jdk m4-doc libmail-box-perl python3-pip 241s python3-venv python-build-doc python-hypothesis-doc python-installer-doc 241s python-sortedcontainers-doc python3.13-venv python3.13-doc binfmt-support 241s Recommended packages: 241s manpages manpages-dev libarchive-cpio-perl libltdl-dev libmail-sendmail-perl 241s python3-bson-ext python3-click python3-elasticsearch python3-freezegun 241s python3-pygal 241s The following NEW packages will be installed: 241s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 241s cpp cpp-14 cpp-14-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper 241s debugedit dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 241s g++-14-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-14 241s gcc-14-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 241s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 241s libdebhelper-perl libdouble-conversion3 libfile-stripnondeterminism-perl 241s libgcc-14-dev libgomp1 libisl23 libmpc3 libpython3.13-minimal 241s libpython3.13-stdlib libstdc++-14-dev libtool libubsan1 linux-libc-dev m4 241s po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject python3-all 241s python3-bson python3-build python3-cattr python3-cpuinfo python3-dateutil 241s python3-hatch-vcs python3-hatchling python3-hypothesis python3-iniconfig 241s python3-installer python3-msgpack python3-packaging python3-pathspec 241s python3-pluggy python3-pyproject-hooks python3-pytest 241s python3-pytest-benchmark python3-setuptools-scm python3-sortedcontainers 241s python3-toml python3-tomlkit python3-trove-classifiers python3-ujson 241s python3-wheel python3.13 python3.13-minimal rpcsvc-proto 241s 0 upgraded, 77 newly installed, 0 to remove and 0 not upgraded. 241s Need to get 61.2 MB/61.2 MB of archives. 241s After this operation, 183 MB of additional disk space will be used. 241s Get:1 /tmp/autopkgtest.bnd5lq/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [836 B] 242s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libpython3.13-minimal armhf 3.13.0-2 [866 kB] 242s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13-minimal armhf 3.13.0-2 [1854 kB] 242s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf m4 armhf 1.4.19-4build1 [235 kB] 242s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf autoconf all 2.72-3 [382 kB] 242s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf autotools-dev all 20220109.1 [44.9 kB] 242s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf automake all 1:1.16.5-1.3ubuntu1 [558 kB] 242s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf autopoint all 0.22.5-2 [616 kB] 242s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libc-dev-bin armhf 2.40-1ubuntu3 [19.2 kB] 242s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf linux-libc-dev armhf 6.11.0-8.8 [1628 kB] 242s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libcrypt-dev armhf 1:4.4.36-5 [119 kB] 242s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu7 [62.2 kB] 242s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libc6-dev armhf 2.40-1ubuntu3 [1370 kB] 242s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libisl23 armhf 0.27-1 [546 kB] 242s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libmpc3 armhf 1.3.1-1build2 [47.1 kB] 242s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14-arm-linux-gnueabihf armhf 14.2.0-8ubuntu1 [9219 kB] 243s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14 armhf 14.2.0-8ubuntu1 [1032 B] 243s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-arm-linux-gnueabihf armhf 4:14.1.0-2ubuntu1 [5464 B] 243s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf cpp armhf 4:14.1.0-2ubuntu1 [22.4 kB] 243s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf libcc1-0 armhf 14.2.0-8ubuntu1 [43.3 kB] 243s Get:21 http://ftpmaster.internal/ubuntu plucky/main armhf libgomp1 armhf 14.2.0-8ubuntu1 [125 kB] 243s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libasan8 armhf 14.2.0-8ubuntu1 [2901 kB] 243s Get:23 http://ftpmaster.internal/ubuntu plucky/main armhf libubsan1 armhf 14.2.0-8ubuntu1 [1150 kB] 243s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-14-dev armhf 14.2.0-8ubuntu1 [897 kB] 243s Get:25 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14-arm-linux-gnueabihf armhf 14.2.0-8ubuntu1 [18.0 MB] 243s Get:26 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14 armhf 14.2.0-8ubuntu1 [498 kB] 243s Get:27 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-arm-linux-gnueabihf armhf 4:14.1.0-2ubuntu1 [1222 B] 243s Get:28 http://ftpmaster.internal/ubuntu plucky/main armhf gcc armhf 4:14.1.0-2ubuntu1 [5002 B] 243s Get:29 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++-14-dev armhf 14.2.0-8ubuntu1 [2569 kB] 243s Get:30 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14-arm-linux-gnueabihf armhf 14.2.0-8ubuntu1 [10.5 MB] 244s Get:31 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14 armhf 14.2.0-8ubuntu1 [19.9 kB] 244s Get:32 http://ftpmaster.internal/ubuntu plucky/main armhf g++-arm-linux-gnueabihf armhf 4:14.1.0-2ubuntu1 [968 B] 244s Get:33 http://ftpmaster.internal/ubuntu plucky/main armhf g++ armhf 4:14.1.0-2ubuntu1 [1084 B] 244s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf build-essential armhf 12.10ubuntu1 [4928 B] 244s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 244s Get:36 http://ftpmaster.internal/ubuntu plucky/main armhf libtool all 2.4.7-8 [166 kB] 244s Get:37 http://ftpmaster.internal/ubuntu plucky/main armhf dh-autoreconf all 20 [16.1 kB] 244s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 244s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 244s Get:40 http://ftpmaster.internal/ubuntu plucky/main armhf dh-strip-nondeterminism all 1.14.0-1 [5058 B] 244s Get:41 http://ftpmaster.internal/ubuntu plucky/main armhf debugedit armhf 1:5.1-1 [46.5 kB] 244s Get:42 http://ftpmaster.internal/ubuntu plucky/main armhf dwz armhf 0.15-1build6 [116 kB] 244s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf gettext armhf 0.22.5-2 [995 kB] 244s Get:44 http://ftpmaster.internal/ubuntu plucky/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 244s Get:45 http://ftpmaster.internal/ubuntu plucky/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 244s Get:46 http://ftpmaster.internal/ubuntu plucky/main armhf debhelper all 13.20ubuntu1 [893 kB] 244s Get:47 http://ftpmaster.internal/ubuntu plucky/universe armhf dh-python all 6.20241024 [112 kB] 244s Get:48 http://ftpmaster.internal/ubuntu plucky/universe armhf libdouble-conversion3 armhf 3.3.0-1build1 [38.6 kB] 244s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libpython3.13-stdlib armhf 3.13.0-2 [1972 kB] 244s Get:50 http://ftpmaster.internal/ubuntu plucky/universe armhf pybuild-plugin-autopkgtest all 6.20241024 [1746 B] 244s Get:51 http://ftpmaster.internal/ubuntu plucky/main armhf python3-packaging all 24.2-1 [51.5 kB] 244s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 244s Get:53 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-toml all 0.10.2-1 [16.5 kB] 244s Get:54 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-wheel all 0.45.0-1 [57.7 kB] 244s Get:55 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-build all 1.2.2-1 [31.0 kB] 244s Get:56 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 244s Get:57 http://ftpmaster.internal/ubuntu plucky/universe armhf pybuild-plugin-pyproject all 6.20241024 [1728 B] 244s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf python3.13 armhf 3.13.0-2 [719 kB] 244s Get:59 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf python3-all armhf 3.12.7-1 [890 B] 244s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf python3-bson all 4.7.3-2ubuntu2 [41.2 kB] 244s Get:61 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cattr all 23.2.3-1 [38.1 kB] 244s Get:62 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-cpuinfo all 9.0.0+git20221119-2 [21.6 kB] 244s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf python3-dateutil all 2.9.0-3 [80.2 kB] 244s Get:64 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pathspec all 0.12.1-1 [24.5 kB] 244s Get:65 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pluggy all 1.5.0-1 [21.0 kB] 244s Get:66 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-trove-classifiers all 2024.9.12-1 [10.8 kB] 244s Get:67 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-hatchling all 1.26.3-1 [47.1 kB] 244s Get:68 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-setuptools-scm all 8.1.0-1 [32.2 kB] 244s Get:69 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-hatch-vcs all 0.4.0-1 [7904 B] 244s Get:70 http://ftpmaster.internal/ubuntu plucky/main armhf python3-sortedcontainers all 2.4.0-2 [27.6 kB] 244s Get:71 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-hypothesis all 6.119.3-1 [329 kB] 244s Get:72 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-iniconfig all 1.1.1-2 [6024 B] 244s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf python3-msgpack armhf 1.0.3-3build3 [106 kB] 244s Get:74 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest all 8.3.3-1 [251 kB] 244s Get:75 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-pytest-benchmark all 5.1.0-1 [38.8 kB] 244s Get:76 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-tomlkit all 0.13.2-1 [37.6 kB] 244s Get:77 http://ftpmaster.internal/ubuntu plucky/universe armhf python3-ujson armhf 5.10.0-1build1 [24.2 kB] 245s Fetched 61.2 MB in 3s (21.9 MB/s) 245s Selecting previously unselected package libpython3.13-minimal:armhf. 245s (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 ... 59616 files and directories currently installed.) 245s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_armhf.deb ... 245s Unpacking libpython3.13-minimal:armhf (3.13.0-2) ... 245s Selecting previously unselected package python3.13-minimal. 245s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_armhf.deb ... 245s Unpacking python3.13-minimal (3.13.0-2) ... 245s Selecting previously unselected package m4. 245s Preparing to unpack .../02-m4_1.4.19-4build1_armhf.deb ... 245s Unpacking m4 (1.4.19-4build1) ... 245s Selecting previously unselected package autoconf. 245s Preparing to unpack .../03-autoconf_2.72-3_all.deb ... 245s Unpacking autoconf (2.72-3) ... 245s Selecting previously unselected package autotools-dev. 245s Preparing to unpack .../04-autotools-dev_20220109.1_all.deb ... 245s Unpacking autotools-dev (20220109.1) ... 245s Selecting previously unselected package automake. 245s Preparing to unpack .../05-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 245s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 245s Selecting previously unselected package autopoint. 245s Preparing to unpack .../06-autopoint_0.22.5-2_all.deb ... 245s Unpacking autopoint (0.22.5-2) ... 245s Selecting previously unselected package libc-dev-bin. 245s Preparing to unpack .../07-libc-dev-bin_2.40-1ubuntu3_armhf.deb ... 245s Unpacking libc-dev-bin (2.40-1ubuntu3) ... 245s Selecting previously unselected package linux-libc-dev:armhf. 245s Preparing to unpack .../08-linux-libc-dev_6.11.0-8.8_armhf.deb ... 245s Unpacking linux-libc-dev:armhf (6.11.0-8.8) ... 245s Selecting previously unselected package libcrypt-dev:armhf. 245s Preparing to unpack .../09-libcrypt-dev_1%3a4.4.36-5_armhf.deb ... 245s Unpacking libcrypt-dev:armhf (1:4.4.36-5) ... 245s Selecting previously unselected package rpcsvc-proto. 245s Preparing to unpack .../10-rpcsvc-proto_1.4.2-0ubuntu7_armhf.deb ... 245s Unpacking rpcsvc-proto (1.4.2-0ubuntu7) ... 246s Selecting previously unselected package libc6-dev:armhf. 246s Preparing to unpack .../11-libc6-dev_2.40-1ubuntu3_armhf.deb ... 246s Unpacking libc6-dev:armhf (2.40-1ubuntu3) ... 246s Selecting previously unselected package libisl23:armhf. 246s Preparing to unpack .../12-libisl23_0.27-1_armhf.deb ... 246s Unpacking libisl23:armhf (0.27-1) ... 246s Selecting previously unselected package libmpc3:armhf. 246s Preparing to unpack .../13-libmpc3_1.3.1-1build2_armhf.deb ... 246s Unpacking libmpc3:armhf (1.3.1-1build2) ... 246s Selecting previously unselected package cpp-14-arm-linux-gnueabihf. 246s Preparing to unpack .../14-cpp-14-arm-linux-gnueabihf_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking cpp-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package cpp-14. 246s Preparing to unpack .../15-cpp-14_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package cpp-arm-linux-gnueabihf. 246s Preparing to unpack .../16-cpp-arm-linux-gnueabihf_4%3a14.1.0-2ubuntu1_armhf.deb ... 246s Unpacking cpp-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 246s Selecting previously unselected package cpp. 246s Preparing to unpack .../17-cpp_4%3a14.1.0-2ubuntu1_armhf.deb ... 246s Unpacking cpp (4:14.1.0-2ubuntu1) ... 246s Selecting previously unselected package libcc1-0:armhf. 246s Preparing to unpack .../18-libcc1-0_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking libcc1-0:armhf (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package libgomp1:armhf. 246s Preparing to unpack .../19-libgomp1_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking libgomp1:armhf (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package libasan8:armhf. 246s Preparing to unpack .../20-libasan8_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking libasan8:armhf (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package libubsan1:armhf. 246s Preparing to unpack .../21-libubsan1_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking libubsan1:armhf (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package libgcc-14-dev:armhf. 246s Preparing to unpack .../22-libgcc-14-dev_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking libgcc-14-dev:armhf (14.2.0-8ubuntu1) ... 246s Selecting previously unselected package gcc-14-arm-linux-gnueabihf. 246s Preparing to unpack .../23-gcc-14-arm-linux-gnueabihf_14.2.0-8ubuntu1_armhf.deb ... 246s Unpacking gcc-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 247s Selecting previously unselected package gcc-14. 247s Preparing to unpack .../24-gcc-14_14.2.0-8ubuntu1_armhf.deb ... 247s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 247s Selecting previously unselected package gcc-arm-linux-gnueabihf. 247s Preparing to unpack .../25-gcc-arm-linux-gnueabihf_4%3a14.1.0-2ubuntu1_armhf.deb ... 247s Unpacking gcc-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 247s Selecting previously unselected package gcc. 247s Preparing to unpack .../26-gcc_4%3a14.1.0-2ubuntu1_armhf.deb ... 247s Unpacking gcc (4:14.1.0-2ubuntu1) ... 247s Selecting previously unselected package libstdc++-14-dev:armhf. 247s Preparing to unpack .../27-libstdc++-14-dev_14.2.0-8ubuntu1_armhf.deb ... 247s Unpacking libstdc++-14-dev:armhf (14.2.0-8ubuntu1) ... 248s Selecting previously unselected package g++-14-arm-linux-gnueabihf. 248s Preparing to unpack .../28-g++-14-arm-linux-gnueabihf_14.2.0-8ubuntu1_armhf.deb ... 248s Unpacking g++-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 248s Selecting previously unselected package g++-14. 248s Preparing to unpack .../29-g++-14_14.2.0-8ubuntu1_armhf.deb ... 248s Unpacking g++-14 (14.2.0-8ubuntu1) ... 248s Selecting previously unselected package g++-arm-linux-gnueabihf. 248s Preparing to unpack .../30-g++-arm-linux-gnueabihf_4%3a14.1.0-2ubuntu1_armhf.deb ... 248s Unpacking g++-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 248s Selecting previously unselected package g++. 248s Preparing to unpack .../31-g++_4%3a14.1.0-2ubuntu1_armhf.deb ... 248s Unpacking g++ (4:14.1.0-2ubuntu1) ... 248s Selecting previously unselected package build-essential. 248s Preparing to unpack .../32-build-essential_12.10ubuntu1_armhf.deb ... 248s Unpacking build-essential (12.10ubuntu1) ... 248s Selecting previously unselected package libdebhelper-perl. 248s Preparing to unpack .../33-libdebhelper-perl_13.20ubuntu1_all.deb ... 248s Unpacking libdebhelper-perl (13.20ubuntu1) ... 248s Selecting previously unselected package libtool. 248s Preparing to unpack .../34-libtool_2.4.7-8_all.deb ... 248s Unpacking libtool (2.4.7-8) ... 248s Selecting previously unselected package dh-autoreconf. 248s Preparing to unpack .../35-dh-autoreconf_20_all.deb ... 248s Unpacking dh-autoreconf (20) ... 248s Selecting previously unselected package libarchive-zip-perl. 248s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 248s Unpacking libarchive-zip-perl (1.68-1) ... 248s Selecting previously unselected package libfile-stripnondeterminism-perl. 248s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 248s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 248s Selecting previously unselected package dh-strip-nondeterminism. 248s Preparing to unpack .../38-dh-strip-nondeterminism_1.14.0-1_all.deb ... 248s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 248s Selecting previously unselected package debugedit. 248s Preparing to unpack .../39-debugedit_1%3a5.1-1_armhf.deb ... 248s Unpacking debugedit (1:5.1-1) ... 248s Selecting previously unselected package dwz. 248s Preparing to unpack .../40-dwz_0.15-1build6_armhf.deb ... 248s Unpacking dwz (0.15-1build6) ... 248s Selecting previously unselected package gettext. 248s Preparing to unpack .../41-gettext_0.22.5-2_armhf.deb ... 248s Unpacking gettext (0.22.5-2) ... 248s Selecting previously unselected package intltool-debian. 248s Preparing to unpack .../42-intltool-debian_0.35.0+20060710.6_all.deb ... 248s Unpacking intltool-debian (0.35.0+20060710.6) ... 248s Selecting previously unselected package po-debconf. 248s Preparing to unpack .../43-po-debconf_1.0.21+nmu1_all.deb ... 248s Unpacking po-debconf (1.0.21+nmu1) ... 248s Selecting previously unselected package debhelper. 248s Preparing to unpack .../44-debhelper_13.20ubuntu1_all.deb ... 248s Unpacking debhelper (13.20ubuntu1) ... 249s Selecting previously unselected package dh-python. 249s Preparing to unpack .../45-dh-python_6.20241024_all.deb ... 249s Unpacking dh-python (6.20241024) ... 249s Selecting previously unselected package libdouble-conversion3:armhf. 249s Preparing to unpack .../46-libdouble-conversion3_3.3.0-1build1_armhf.deb ... 249s Unpacking libdouble-conversion3:armhf (3.3.0-1build1) ... 249s Selecting previously unselected package libpython3.13-stdlib:armhf. 249s Preparing to unpack .../47-libpython3.13-stdlib_3.13.0-2_armhf.deb ... 249s Unpacking libpython3.13-stdlib:armhf (3.13.0-2) ... 249s Selecting previously unselected package pybuild-plugin-autopkgtest. 249s Preparing to unpack .../48-pybuild-plugin-autopkgtest_6.20241024_all.deb ... 249s Unpacking pybuild-plugin-autopkgtest (6.20241024) ... 249s Selecting previously unselected package python3-packaging. 249s Preparing to unpack .../49-python3-packaging_24.2-1_all.deb ... 249s Unpacking python3-packaging (24.2-1) ... 249s Selecting previously unselected package python3-pyproject-hooks. 249s Preparing to unpack .../50-python3-pyproject-hooks_1.2.0-1_all.deb ... 249s Unpacking python3-pyproject-hooks (1.2.0-1) ... 249s Selecting previously unselected package python3-toml. 249s Preparing to unpack .../51-python3-toml_0.10.2-1_all.deb ... 249s Unpacking python3-toml (0.10.2-1) ... 249s Selecting previously unselected package python3-wheel. 249s Preparing to unpack .../52-python3-wheel_0.45.0-1_all.deb ... 249s Unpacking python3-wheel (0.45.0-1) ... 249s Selecting previously unselected package python3-build. 249s Preparing to unpack .../53-python3-build_1.2.2-1_all.deb ... 249s Unpacking python3-build (1.2.2-1) ... 249s Selecting previously unselected package python3-installer. 249s Preparing to unpack .../54-python3-installer_0.7.0+dfsg1-3_all.deb ... 249s Unpacking python3-installer (0.7.0+dfsg1-3) ... 249s Selecting previously unselected package pybuild-plugin-pyproject. 249s Preparing to unpack .../55-pybuild-plugin-pyproject_6.20241024_all.deb ... 249s Unpacking pybuild-plugin-pyproject (6.20241024) ... 249s Selecting previously unselected package python3.13. 249s Preparing to unpack .../56-python3.13_3.13.0-2_armhf.deb ... 249s Unpacking python3.13 (3.13.0-2) ... 249s Selecting previously unselected package python3-all. 249s Preparing to unpack .../57-python3-all_3.12.7-1_armhf.deb ... 249s Unpacking python3-all (3.12.7-1) ... 249s Selecting previously unselected package python3-bson. 249s Preparing to unpack .../58-python3-bson_4.7.3-2ubuntu2_all.deb ... 249s Unpacking python3-bson (4.7.3-2ubuntu2) ... 249s Selecting previously unselected package python3-cattr. 249s Preparing to unpack .../59-python3-cattr_23.2.3-1_all.deb ... 249s Unpacking python3-cattr (23.2.3-1) ... 249s Selecting previously unselected package python3-cpuinfo. 249s Preparing to unpack .../60-python3-cpuinfo_9.0.0+git20221119-2_all.deb ... 249s Unpacking python3-cpuinfo (9.0.0+git20221119-2) ... 249s Selecting previously unselected package python3-dateutil. 249s Preparing to unpack .../61-python3-dateutil_2.9.0-3_all.deb ... 249s Unpacking python3-dateutil (2.9.0-3) ... 249s Selecting previously unselected package python3-pathspec. 249s Preparing to unpack .../62-python3-pathspec_0.12.1-1_all.deb ... 249s Unpacking python3-pathspec (0.12.1-1) ... 249s Selecting previously unselected package python3-pluggy. 249s Preparing to unpack .../63-python3-pluggy_1.5.0-1_all.deb ... 249s Unpacking python3-pluggy (1.5.0-1) ... 249s Selecting previously unselected package python3-trove-classifiers. 249s Preparing to unpack .../64-python3-trove-classifiers_2024.9.12-1_all.deb ... 249s Unpacking python3-trove-classifiers (2024.9.12-1) ... 249s Selecting previously unselected package python3-hatchling. 249s Preparing to unpack .../65-python3-hatchling_1.26.3-1_all.deb ... 249s Unpacking python3-hatchling (1.26.3-1) ... 249s Selecting previously unselected package python3-setuptools-scm. 249s Preparing to unpack .../66-python3-setuptools-scm_8.1.0-1_all.deb ... 249s Unpacking python3-setuptools-scm (8.1.0-1) ... 249s Selecting previously unselected package python3-hatch-vcs. 249s Preparing to unpack .../67-python3-hatch-vcs_0.4.0-1_all.deb ... 249s Unpacking python3-hatch-vcs (0.4.0-1) ... 249s Selecting previously unselected package python3-sortedcontainers. 249s Preparing to unpack .../68-python3-sortedcontainers_2.4.0-2_all.deb ... 249s Unpacking python3-sortedcontainers (2.4.0-2) ... 249s Selecting previously unselected package python3-hypothesis. 249s Preparing to unpack .../69-python3-hypothesis_6.119.3-1_all.deb ... 249s Unpacking python3-hypothesis (6.119.3-1) ... 249s Selecting previously unselected package python3-iniconfig. 249s Preparing to unpack .../70-python3-iniconfig_1.1.1-2_all.deb ... 249s Unpacking python3-iniconfig (1.1.1-2) ... 249s Selecting previously unselected package python3-msgpack. 250s Preparing to unpack .../71-python3-msgpack_1.0.3-3build3_armhf.deb ... 250s Unpacking python3-msgpack (1.0.3-3build3) ... 250s Selecting previously unselected package python3-pytest. 250s Preparing to unpack .../72-python3-pytest_8.3.3-1_all.deb ... 250s Unpacking python3-pytest (8.3.3-1) ... 250s Selecting previously unselected package python3-pytest-benchmark. 250s Preparing to unpack .../73-python3-pytest-benchmark_5.1.0-1_all.deb ... 250s Unpacking python3-pytest-benchmark (5.1.0-1) ... 250s Selecting previously unselected package python3-tomlkit. 250s Preparing to unpack .../74-python3-tomlkit_0.13.2-1_all.deb ... 250s Unpacking python3-tomlkit (0.13.2-1) ... 250s Selecting previously unselected package python3-ujson:armhf. 250s Preparing to unpack .../75-python3-ujson_5.10.0-1build1_armhf.deb ... 250s Unpacking python3-ujson:armhf (5.10.0-1build1) ... 250s Selecting previously unselected package autopkgtest-satdep. 250s Preparing to unpack .../76-1-autopkgtest-satdep.deb ... 250s Unpacking autopkgtest-satdep (0) ... 250s Setting up dh-python (6.20241024) ... 250s Setting up python3-iniconfig (1.1.1-2) ... 250s Setting up libdouble-conversion3:armhf (3.3.0-1build1) ... 250s Setting up libarchive-zip-perl (1.68-1) ... 250s Setting up libdebhelper-perl (13.20ubuntu1) ... 250s Setting up linux-libc-dev:armhf (6.11.0-8.8) ... 250s Setting up m4 (1.4.19-4build1) ... 250s Setting up python3-sortedcontainers (2.4.0-2) ... 251s Setting up libgomp1:armhf (14.2.0-8ubuntu1) ... 251s Setting up python3-wheel (0.45.0-1) ... 251s Setting up python3-ujson:armhf (5.10.0-1build1) ... 251s Setting up python3-bson (4.7.3-2ubuntu2) ... 251s Setting up libpython3.13-minimal:armhf (3.13.0-2) ... 251s Setting up autotools-dev (20220109.1) ... 251s Setting up python3-packaging (24.2-1) ... 251s Setting up rpcsvc-proto (1.4.2-0ubuntu7) ... 251s Setting up python3-cattr (23.2.3-1) ... 252s Setting up python3-pyproject-hooks (1.2.0-1) ... 252s Setting up libmpc3:armhf (1.3.1-1build2) ... 252s Setting up autopoint (0.22.5-2) ... 252s Setting up python3-cpuinfo (9.0.0+git20221119-2) ... 252s Setting up python3-toml (0.10.2-1) ... 252s Setting up python3-installer (0.7.0+dfsg1-3) ... 252s Setting up autoconf (2.72-3) ... 252s Setting up python3-pluggy (1.5.0-1) ... 253s Setting up libubsan1:armhf (14.2.0-8ubuntu1) ... 253s Setting up dwz (0.15-1build6) ... 253s Setting up python3-trove-classifiers (2024.9.12-1) ... 253s Setting up libcrypt-dev:armhf (1:4.4.36-5) ... 253s Setting up libasan8:armhf (14.2.0-8ubuntu1) ... 253s Setting up debugedit (1:5.1-1) ... 253s Setting up python3.13-minimal (3.13.0-2) ... 254s Setting up python3-dateutil (2.9.0-3) ... 254s Setting up python3-msgpack (1.0.3-3build3) ... 254s Setting up libgcc-14-dev:armhf (14.2.0-8ubuntu1) ... 254s Setting up libisl23:armhf (0.27-1) ... 254s Setting up python3-build (1.2.2-1) ... 255s Setting up libc-dev-bin (2.40-1ubuntu3) ... 255s Setting up python3-tomlkit (0.13.2-1) ... 255s Setting up python3-pathspec (0.12.1-1) ... 255s Setting up libpython3.13-stdlib:armhf (3.13.0-2) ... 255s Setting up libcc1-0:armhf (14.2.0-8ubuntu1) ... 255s Setting up cpp-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 255s Setting up automake (1:1.16.5-1.3ubuntu1) ... 255s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 255s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 255s Setting up gettext (0.22.5-2) ... 255s Setting up python3.13 (3.13.0-2) ... 256s Setting up pybuild-plugin-pyproject (6.20241024) ... 256s Setting up python3-pytest (8.3.3-1) ... 257s Setting up python3-hypothesis (6.119.3-1) ... 258s Setting up gcc-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 258s Setting up python3-all (3.12.7-1) ... 258s Setting up python3-setuptools-scm (8.1.0-1) ... 258s Setting up intltool-debian (0.35.0+20060710.6) ... 258s Setting up cpp-14 (14.2.0-8ubuntu1) ... 258s Setting up dh-strip-nondeterminism (1.14.0-1) ... 258s Setting up libc6-dev:armhf (2.40-1ubuntu3) ... 258s Setting up python3-hatchling (1.26.3-1) ... 258s Setting up libstdc++-14-dev:armhf (14.2.0-8ubuntu1) ... 258s Setting up cpp-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 258s Setting up python3-hatch-vcs (0.4.0-1) ... 259s Setting up gcc-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 259s Setting up python3-pytest-benchmark (5.1.0-1) ... 259s Setting up g++-14-arm-linux-gnueabihf (14.2.0-8ubuntu1) ... 259s Setting up po-debconf (1.0.21+nmu1) ... 259s Setting up gcc-14 (14.2.0-8ubuntu1) ... 259s Setting up cpp (4:14.1.0-2ubuntu1) ... 259s Setting up g++-14 (14.2.0-8ubuntu1) ... 259s Setting up g++-arm-linux-gnueabihf (4:14.1.0-2ubuntu1) ... 259s Setting up libtool (2.4.7-8) ... 259s Setting up gcc (4:14.1.0-2ubuntu1) ... 259s Setting up dh-autoreconf (20) ... 259s Setting up g++ (4:14.1.0-2ubuntu1) ... 259s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 259s Setting up build-essential (12.10ubuntu1) ... 259s Setting up debhelper (13.20ubuntu1) ... 259s Setting up pybuild-plugin-autopkgtest (6.20241024) ... 259s Setting up autopkgtest-satdep (0) ... 259s Processing triggers for systemd (256.5-2ubuntu4) ... 259s Processing triggers for man-db (2.13.0-1) ... 260s Processing triggers for install-info (7.1.1-1) ... 260s Processing triggers for libc-bin (2.40-1ubuntu3) ... 276s (Reading database ... 65049 files and directories currently installed.) 276s Removing autopkgtest-satdep (0) ... 282s autopkgtest [20:47:01]: test pybuild-autopkgtest: pybuild-autopkgtest 282s autopkgtest [20:47:01]: test pybuild-autopkgtest: [----------------------- 284s pybuild-autopkgtest 284s I: pybuild base:311: cd /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 285s ============================= test session starts ============================== 285s platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 285s cachedir: .pytest_cache 285s hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/.hypothesis/examples')) 285s benchmark: 5.1.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=True warmup_iterations=5) 285s rootdir: /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build 285s configfile: pyproject.toml 285s plugins: typeguard-4.4.1, hypothesis-6.119.3, benchmark-5.1.0 285s collecting ... collected 592 items 285s 285s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 0%] 285s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 0%] 285s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 0%] 285s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 0%] 285s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 0%] 285s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 1%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 1%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 1%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 1%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 1%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 1%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 2%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 2%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 2%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 2%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 2%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 2%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 3%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 3%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 3%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 3%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 3%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 3%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 4%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 4%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 4%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 4%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 4%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 4%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 5%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 5%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 5%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 5%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 5%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 5%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 6%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 6%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 6%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 6%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 6%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 6%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 7%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 7%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 7%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 7%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 7%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 7%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 8%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 8%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 8%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 8%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 8%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 8%] 286s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 9%] 286s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 9%] 286s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 9%] 286s tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 9%] 286s tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 9%] 286s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 9%] 286s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 10%] 286s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 10%] 286s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 10%] 286s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 10%] 286s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 10%] 286s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 10%] 286s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 11%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 11%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 11%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 11%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 11%] 286s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 11%] 286s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 12%] 286s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 12%] 286s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 12%] 286s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 12%] 286s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 12%] 286s tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 13%] 286s tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 13%] 286s tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 13%] 286s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 13%] 286s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 13%] 286s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 13%] 286s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 14%] 286s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 14%] 286s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 14%] 286s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 14%] 286s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 14%] 286s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 14%] 286s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 15%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 15%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 15%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 15%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 15%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 15%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 16%] 286s tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 16%] 286s tests/test_copy.py::test_copy[BaseConverter] PASSED [ 16%] 286s tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 16%] 286s tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 16%] 286s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 16%] 286s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 17%] 286s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 17%] 286s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 17%] 286s tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 17%] 286s tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 17%] 286s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 17%] 286s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 18%] 286s tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 18%] 286s tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 18%] 286s tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 18%] 286s tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 18%] 286s tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 18%] 286s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 19%] 286s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 19%] 286s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 19%] 286s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 19%] 286s tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 19%] 286s tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 19%] 286s tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 20%] 286s tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 20%] 286s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 20%] 286s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 20%] 286s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 20%] 286s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 20%] 286s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 21%] 286s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 21%] 286s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 21%] 286s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 21%] 286s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 21%] 286s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 21%] 286s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 22%] 286s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 22%] 286s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 22%] 286s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 22%] 286s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 22%] 286s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 22%] 286s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 23%] 286s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 23%] 286s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 23%] 286s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 23%] 286s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 23%] 286s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 23%] 286s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 24%] 286s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 24%] 286s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 24%] 286s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 24%] 286s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 24%] 286s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 25%] 286s tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 25%] 286s tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 25%] 286s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 25%] 286s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 25%] 286s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 25%] 286s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 26%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 26%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 26%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 26%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 26%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 26%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 27%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 27%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 27%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 27%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 27%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 27%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 28%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 28%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 28%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 28%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 28%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 28%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 29%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 29%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 29%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 29%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 29%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 29%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 30%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 30%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 30%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 30%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 30%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 30%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 31%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 31%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 31%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 31%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 31%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 31%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 32%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 32%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 32%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 32%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 32%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 32%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 33%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 33%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 33%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 33%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 33%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 33%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 34%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 34%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 34%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 34%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 34%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 34%] 286s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 35%] 286s tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 35%] 286s tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 35%] 286s tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 35%] 286s tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 35%] 286s tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 35%] 286s tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] 286s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 36%] 286s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 36%] 286s tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 36%] 286s tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 36%] 286s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 36%] 286s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 37%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 37%] 286s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 37%] 286s tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] 286s tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] 286s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] 286s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 38%] 286s tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 38%] 286s tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 38%] 286s tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] 286s tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] 286s tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] 286s tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] 286s tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 39%] 286s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 39%] 286s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] 286s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] 286s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] 286s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] 286s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] 286s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 40%] 286s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 41%] 286s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] 286s tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] 286s tests/test_copy.py::test_copy[Converter] PASSED [ 42%] 286s tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] 286s tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] 286s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] 286s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] 286s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] 286s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] 286s tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] 286s tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] 286s tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] 286s tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] 286s tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] 286s tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] 286s tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] 286s tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] 286s tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] 286s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 45%] 286s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] 286s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] 286s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] 286s tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] 286s tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] 286s tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 46%] 286s tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 46%] 286s tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] 286s tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] 286s tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] 286s tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] 286s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 47%] 286s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 47%] 286s tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] 286s tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] 286s tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] 286s tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] 286s tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 48%] 286s tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 48%] 286s tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 48%] 286s tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] 286s tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] 286s tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] 286s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 49%] 286s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 49%] 286s tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 49%] 286s tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] 286s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] 286s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 50%] 286s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 50%] 286s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 50%] 286s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 50%] 286s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 50%] 286s tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] 286s tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 51%] 286s tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 51%] 286s tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 51%] 286s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 51%] 286s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 51%] 286s tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 51%] 286s tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 52%] 286s tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 52%] 286s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 52%] 286s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 52%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 52%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 52%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 53%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 53%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 53%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 53%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 53%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 53%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 54%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 54%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 54%] 287s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 54%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 54%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 54%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 55%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 55%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 55%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 55%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 55%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 55%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 56%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 56%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 56%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 56%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 56%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 56%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 57%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 57%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 57%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 57%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 57%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 57%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 58%] 288s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 58%] 288s tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 58%] 288s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 58%] 289s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 58%] 289s tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 58%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 59%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 59%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 59%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 59%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 59%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 59%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 60%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 60%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 60%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 60%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 60%] 289s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 60%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 61%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 61%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 61%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 61%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 61%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 61%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 62%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 62%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 62%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 62%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 62%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 63%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 63%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 63%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 63%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 63%] 290s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 63%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 64%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 64%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 64%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 64%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 64%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 64%] 291s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 65%] 291s tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 65%] 291s tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 65%] 291s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 65%] 291s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 65%] 291s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 65%] 291s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 66%] 291s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 66%] 291s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 66%] 291s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 66%] 291s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 66%] 291s tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 66%] 291s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 67%] 291s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 67%] 291s tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 67%] 295s tests/test_baseconverter.py::test_simple_roundtrip PASSED [ 67%] 295s tests/test_baseconverter.py::test_simple_roundtrip_defaults PASSED [ 67%] 313s tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 67%] 366s tests/test_baseconverter.py::test_nested_roundtrip_tuple FAILED [ 68%] 675s tests/test_baseconverter.py::test_union_field_roundtrip FAILED [ 68%] 704s tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 68%] 709s tests/test_baseconverter.py::test_optional_field_roundtrip FAILED [ 68%] 711s tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 68%] 713s tests/test_converter.py::test_simple_roundtrip PASSED [ 68%] 713s tests/test_converter.py::test_simple_roundtrip_tuple FAILED [ 69%] 714s tests/test_converter.py::test_simple_roundtrip_defaults PASSED [ 69%] 714s tests/test_converter.py::test_simple_roundtrip_defaults_tuple FAILED [ 69%] 717s tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden PASSED [ 69%] 729s tests/test_converter.py::test_forbid_extra_keys PASSED [ 69%] 730s tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 69%] 730s tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 70%] 896s tests/test_converter.py::test_nested_roundtrip FAILED [ 70%] 932s tests/test_converter.py::test_nested_roundtrip_tuple FAILED [ 70%] 1245s tests/test_converter.py::test_union_field_roundtrip FAILED [ 70%] 1302s tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 70%] 1303s tests/test_converter.py::test_optional_field_roundtrip PASSED [ 70%] 1315s tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 71%] 1318s tests/test_converter.py::test_omit_default_roundtrip FAILED [ 71%] 1318s tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 71%] 1319s tests/test_converter.py::test_type_overrides PASSED [ 71%] 1319s tests/test_converter.py::test_calling_back PASSED [ 71%] 1319s tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 71%] 1319s tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 72%] 1319s tests/test_converter.py::test_overriding_generated_structure PASSED [ 72%] 1319s tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 72%] 1323s tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 72%] 1323s tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 72%] 1323s tests/test_converter.py::test_annotated_attrs PASSED [ 72%] 1323s tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 73%] 1323s tests/test_copy.py::test_copy_converter PASSED [ 73%] 1323s tests/test_copy.py::test_detailed_validation PASSED [ 73%] 1323s tests/test_copy.py::test_col_overrides PASSED [ 73%] 1323s tests/test_disambiguators.py::test_edge_errors PASSED [ 73%] 1324s tests/test_disambiguators.py::test_fallback PASSED [ 73%] 1341s tests/test_disambiguators.py::test_disambiguation PASSED [ 74%] 1341s tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 74%] 1341s tests/test_disambiguators.py::test_default_no_literals PASSED [ 74%] 1341s tests/test_final.py::test_unstructure_final[True] PASSED [ 74%] 1341s tests/test_final.py::test_unstructure_final[False] PASSED [ 74%] 1341s tests/test_final.py::test_structure_final[True] PASSED [ 75%] 1341s tests/test_final.py::test_structure_final[False] PASSED [ 75%] 1341s tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 75%] 1341s tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 75%] 1341s tests/test_final.py::test_structure_bare_final[True] PASSED [ 75%] 1341s tests/test_final.py::test_structure_bare_final[False] PASSED [ 75%] 1341s tests/test_function_dispatch.py::test_function_dispatch PASSED [ 76%] 1341s tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 76%] 1341s tests/test_gen.py::test_structure_linecache PASSED [ 76%] 1341s tests/test_gen.py::test_unstructure_linecache PASSED [ 76%] 1341s tests/test_gen.py::test_no_linecache PASSED [ 76%] 1341s tests/test_gen.py::test_linecache_dedup PASSED [ 76%] 1343s tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 77%] 1345s tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 77%] 1349s tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 77%] 1351s tests/test_gen_dict.py::test_individual_overrides PASSED [ 77%] 1659s tests/test_gen_dict.py::test_unmodified_generated_structuring FAILED [ 77%] 1660s tests/test_gen_dict.py::test_renaming FAILED [ 77%] 1660s tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 78%] 1660s tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 78%] 1660s tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 78%] 1660s tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 78%] 1660s tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 78%] 1660s tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 78%] 1660s tests/test_gen_dict_563.py::test_roundtrip PASSED [ 79%] 1660s tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 79%] 1660s tests/test_generics.py::test_deep_copy PASSED [ 79%] 1660s tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 79%] 1660s tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 79%] 1660s tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 79%] 1660s tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 80%] 1660s tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 80%] 1660s tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 80%] 1660s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 80%] 1660s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 80%] 1660s tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 80%] 1660s tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 81%] 1660s tests/test_generics.py::test_unstructure_optional[True] PASSED [ 81%] 1660s tests/test_generics.py::test_unstructure_optional[False] PASSED [ 81%] 1660s tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 81%] 1660s tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 81%] 1660s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 81%] 1660s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 82%] 1660s tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 82%] 1660s tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 82%] 1660s tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 82%] 1660s tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 82%] 1660s tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 82%] 1660s tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 83%] 1660s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 83%] 1660s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 83%] 1660s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 83%] 1660s tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 83%] 1660s tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 83%] 1660s tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 84%] 1660s tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 84%] 1660s tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 84%] 1660s tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 84%] 1660s tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 84%] 1660s tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 84%] 1660s tests/test_recursive.py::test_simple_recursive PASSED [ 85%] 1660s tests/test_structure.py::test_structuring_primitives PASSED [ 85%] 1661s tests/test_structure.py::test_structuring_seqs PASSED [ 85%] 1661s tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 85%] 1664s tests/test_structure.py::test_structuring_sets PASSED [ 85%] 1664s tests/test_structure.py::test_stringifying_sets PASSED [ 85%] 1664s tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] 1665s tests/test_structure.py::test_stringifying_tuples PASSED [ 86%] 1665s tests/test_structure.py::test_structuring_dicts PASSED [ 86%] 1667s tests/test_structure.py::test_structuring_dicts_opts PASSED [ 86%] 1667s tests/test_structure.py::test_stringifying_dicts PASSED [ 86%] 1667s tests/test_structure.py::test_structuring_optional_primitives PASSED [ 86%] 1667s tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] 1668s tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 87%] 1668s tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 87%] 1668s tests/test_structure.py::test_structure_hook_func PASSED [ 87%] 1669s tests/test_structure.py::test_structuring_enums PASSED [ 87%] 1669s tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] 1669s tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] 1669s tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] 1670s tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 88%] 1674s tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 88%] 1675s tests/test_structure_attrs.py::test_roundtrip PASSED [ 88%] 1677s tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] 1679s tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] 1681s tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] 1683s tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 89%] 1683s tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 89%] 1683s tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 89%] 1683s tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] 1683s tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] 1683s tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] 1683s tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] 1683s tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 90%] 1683s tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 90%] 1683s tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] 1683s tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] 1683s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] 1683s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] 1683s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] 1683s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 91%] 1683s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] 1683s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] 1685s tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] 1685s tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] 1687s tests/test_typeddicts.py::test_int_override PASSED [ 92%] 1688s tests/test_typeddicts.py::test_extra_keys PASSED [ 92%] 1689s tests/test_typeddicts.py::test_generics PASSED [ 93%] 1690s tests/test_typeddicts.py::test_not_required PASSED [ 93%] 1691s tests/test_typeddicts.py::test_required PASSED [ 93%] 1692s tests/test_typeddicts.py::test_omit PASSED [ 93%] 1693s tests/test_typeddicts.py::test_rename PASSED [ 93%] 1694s tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] 1694s tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] 1694s tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] 1694s tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] 1694s tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] 1694s tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] 1694s tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] 1694s tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1694s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] 1694s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1694s tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] 1694s tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] 1695s tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] 1695s tests/test_unstructure.py::test_set_unstructure PASSED [ 96%] 1696s tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] 1697s tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] 1701s tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] 1705s tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] 1706s tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] 1710s tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 97%] 1710s tests/test_v.py::test_attribute_errors PASSED [ 97%] 1710s tests/test_v.py::test_class_errors PASSED [ 97%] 1710s tests/test_v.py::test_sequence_errors PASSED [ 97%] 1710s tests/test_v.py::test_mapping_errors PASSED [ 97%] 1710s tests/test_v.py::test_custom_error_fn PASSED [ 97%] 1710s tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] 1710s tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] 1710s tests/test_validation.py::test_class_validation PASSED [ 98%] 1710s tests/test_validation.py::test_external_class_validation PASSED [ 98%] 1710s tests/test_validation.py::test_list_validation PASSED [ 98%] 1710s tests/test_validation.py::test_mapping_validation PASSED [ 98%] 1710s tests/test_validation.py::test_counter_validation PASSED [ 99%] 1710s tests/test_validation.py::test_set_validation PASSED [ 99%] 1710s tests/test_validation.py::test_frozenset_validation PASSED [ 99%] 1710s tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] 1710s tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] 1710s tests/test_validation.py::test_notes_pickling PASSED [100%] 1710s 1710s =================================== FAILURES =================================== 1710s ____________________________ test_nested_roundtrip _____________________________ 1710s 1710s @given(nested_typed_classes(newtypes=False)) 1710s > def test_nested_roundtrip(cls_and_vals): 1710s 1710s f = .run_test_as_given..wrapped_test at 0xe96bc4d8> 1710s 1710s tests/test_baseconverter.py:46: 1710s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1710s 1710s cls_and_vals = (, ([HypClass(a=nan)],), {}) 1710s 1710s @given(nested_typed_classes(newtypes=False)) 1710s def test_nested_roundtrip(cls_and_vals): 1710s """ 1710s Nested classes with metadata can be unstructured and restructured. 1710s """ 1710s converter = BaseConverter() 1710s cl, vals, kwargs = cls_and_vals 1710s # Vals are a tuple, convert into a dictionary. 1710s inst = cl(*vals, **kwargs) 1710s > assert inst == converter.structure(converter.unstructure(inst), cl) 1710s E AssertionError: assert HypClass(a=[HypClass(a=nan)]) == HypClass(a=[HypClass(a=nan)]) 1710s E 1710s E Differing attributes: 1710s E ['a'] 1710s E 1710s E Drill down into differing attribute a: 1710s E a: [HypClass(a=nan)] != [HypClass(a=nan)] 1710s E At index 0 diff: HypClass(a=nan) != HypClass(a=nan)... 1710s E 1710s E ...Full output truncated (5 lines hidden), use '-vv' to show 1710s E Falsifying example: test_nested_roundtrip( 1710s E cls_and_vals=(tests.typed.HypClass, ([HypClass(a=nan)],), {}), 1710s E ) 1710s E Explanation: 1710s E These lines were always and only run by failing examples: 1710s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1710s 1710s cl = 1710s cls_and_vals = (, ([HypClass(a=nan)],), {}) 1710s converter = 1710s inst = HypClass(a=[HypClass(a=nan)]) 1710s kwargs = {} 1710s vals = ([HypClass(a=nan)],) 1710s 1710s tests/test_baseconverter.py:54: AssertionError 1710s _________________________ test_nested_roundtrip_tuple __________________________ 1710s 1710s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1710s > def test_nested_roundtrip_tuple(cls_and_vals): 1710s 1710s f = .run_test_as_given..wrapped_test at 0xe96bc668> 1710s 1710s tests/test_baseconverter.py:58: 1710s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1710s 1710s cls_and_vals = (, (nan, [HypClass()]), {}) 1710s 1710s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1710s def test_nested_roundtrip_tuple(cls_and_vals): 1710s """ 1710s Nested classes with metadata can be unstructured and restructured. 1710s """ 1710s converter = BaseConverter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1710s cl, vals, kwargs = cls_and_vals 1710s assert not kwargs 1710s # Vals are a tuple, convert into a dictionary. 1710s inst = cl(*vals) 1710s > assert inst == converter.structure(converter.unstructure(inst), cl) 1710s E AssertionError: assert HypClass(a=na...=[HypClass()]) == HypClass(a=na...=[HypClass()]) 1710s E 1710s E Omitting 1 identical items, use -vv to show 1710s E Differing attributes: 1710s E ['a'] 1710s E 1710s E Drill down into differing attribute a: 1710s E a: nan != nan 1710s E Falsifying example: test_nested_roundtrip_tuple( 1710s E cls_and_vals=(tests.typed.HypClass, 1710s E (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 1710s E [HypClass()]), 1710s E {}), 1710s E ) 1710s 1710s cl = 1710s cls_and_vals = (, (nan, [HypClass()]), {}) 1710s converter = 1710s inst = HypClass(a=nan, _b=[HypClass()]) 1710s kwargs = {} 1710s vals = (nan, [HypClass()]) 1710s 1710s tests/test_baseconverter.py:67: AssertionError 1710s __________________________ test_union_field_roundtrip __________________________ 1710s + Exception Group Traceback (most recent call last): 1710s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1710s | result: TResult | None = func() 1710s | ~~~~^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1710s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1710s | ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1710s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1710s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1710s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1710s | return outcome.get_result() 1710s | ~~~~~~~~~~~~~~~~~~^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1710s | raise exc.with_traceback(exc.__traceback__) 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1710s | teardown.throw(outcome._exception) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1710s | yield from thread_exception_runtest_hook() 1710s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1710s | yield 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1710s | teardown.throw(outcome._exception) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1710s | yield from unraisable_exception_runtest_hook() 1710s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1710s | yield 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1710s | teardown.throw(outcome._exception) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1710s | yield from self._runtest_for(item, "call") 1710s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1710s | yield 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1710s | teardown.throw(outcome._exception) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1710s | return (yield) 1710s | ^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1710s | teardown.throw(outcome._exception) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1710s | return (yield) 1710s | ^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1710s | res = hook_impl.function(*args) 1710s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1710s | item.runtest() 1710s | ~~~~~~~~~~~~^^ 1710s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1710s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1710s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1710s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1710s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1710s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1710s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1710s | raise exception.with_traceback(exception.__traceback__) 1710s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1710s | res = hook_impl.function(*args) 1710s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1710s | result = testfunction(**testargs) 1710s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_baseconverter.py", line 71, in test_union_field_roundtrip 1710s | @given( 1710s | 1710s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1710s | raise the_error_hypothesis_found 1710s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1710s +-+---------------- 1 ---------------- 1710s | Traceback (most recent call last): 1710s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_baseconverter.py", line 109, in test_union_field_roundtrip 1710s | assert inst == converter.structure(converter.unstructure(inst), C) 1710s | AssertionError: assert C(a=HypAttrsC... g={}, _h=[])) == C(a=HypAttrsC... g={}, _h=[])) 1710s | 1710s | Differing attributes: 1710s | ['a'] 1710s | 1710s | Drill down into differing attribute a: 1710s | a: HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) != HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) 1710s | ... 1710s | 1710s | ...Full output truncated (6 lines hidden), use '-vv' to show 1710s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1710s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1710s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1710s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1710s | Falsifying example: test_union_field_roundtrip( 1710s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1710s | (0, 1710s | 0, 1710s | struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff4))[0], 1710s | {}, 1710s | {}, 1710s | []), 1710s | {}), 1710s | cl_and_vals_b=(tests.typed.HypAttrsClass, 1710s | (None,), 1710s | {}), # or any other generated value 1710s | strat=UnstructureStrategy.AS_TUPLE, # or any other generated value 1710s | ) 1710s +---------------- 2 ---------------- 1710s | Traceback (most recent call last): 1710s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_baseconverter.py", line 99, in test_union_field_roundtrip 1710s | assert inst == converter.structure(converter.unstructure(inst), C) 1710s | AssertionError: assert C(a=HypAttrsC... g={}, _h=[])) == C(a=HypAttrsC... g={}, _h=[])) 1710s | 1710s | Differing attributes: 1710s | ['a'] 1710s | 1710s | Drill down into differing attribute a: 1710s | a: HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) != HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) 1710s | ... 1710s | 1710s | ...Full output truncated (6 lines hidden), use '-vv' to show 1710s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1710s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1710s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1710s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1710s | Falsifying example: test_union_field_roundtrip( 1710s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1710s | (0, 1710s | 0, 1710s | struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff3))[0], 1710s | {}, 1710s | {}, 1710s | []), 1710s | {}), 1710s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1710s | strat=UnstructureStrategy.AS_DICT, 1710s | ) 1710s | Explanation: 1710s | These lines were always and only run by failing examples: 1710s | /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1710s +------------------------------------ 1711s ---------------------------------- Hypothesis ---------------------------------- 1711s WARNING: Hypothesis has spent more than five minutes working to shrink a failing example, and stopped because it is making very slow progress. When you re-run your tests, shrinking will resume and may take this long before aborting again. 1711s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 1711s ________________________ test_310_union_field_roundtrip ________________________ 1711s 1711s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1711s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe96150c8> 1711s 1711s tests/test_baseconverter.py:113: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals_a = (, ([], nan), {'_f': 0, '_l': '', 'd': 0, 'g': 0, ...}) 1711s cl_and_vals_b = (, (None,), {}) 1711s strat = 1711s 1711s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1711s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1711s @given( 1711s simple_typed_classes(defaults=False, newtypes=False), 1711s simple_typed_classes(defaults=False, newtypes=False), 1711s unstructure_strats, 1711s ) 1711s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1711s """ 1711s Classes with union fields can be unstructured and structured. 1711s """ 1711s converter = BaseConverter(unstruct_strat=strat) 1711s cl_a, vals_a, kwargs_a = cl_and_vals_a 1711s cl_b, vals_b, _ = cl_and_vals_b 1711s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1711s a_field_names = {a.name for a in fields(cl_a)} 1711s b_field_names = {a.name for a in fields(cl_b)} 1711s assume(a_field_names) 1711s assume(b_field_names) 1711s 1711s common_names = a_field_names & b_field_names 1711s assume(len(a_field_names) > len(common_names)) 1711s 1711s @define 1711s class C: 1711s a: cl_a | cl_b 1711s 1711s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1711s 1711s if strat is UnstructureStrategy.AS_DICT: 1711s > assert inst == converter.structure(converter.unstructure(inst), C) 1711s E AssertionError: assert C(a=HypAttrsC... _j='', k='')) == C(a=HypAttrsC... _j='', k='')) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: HypAttrsClass(a=[], _b=nan, _d=0, e=0, g=0, _h='', _j='', k='') != HypAttrsClass(a=[], _b=nan, _d=0, e=0, g=0, _h='', _j='', k='') 1711s E ... 1711s E 1711s E ...Full output truncated (6 lines hidden), use '-vv' to show 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={})} 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_310_union_field_roundtrip( 1711s E # The test always failed when commented parts were varied together. 1711s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1711s E ([], nan), 1711s E {'d': 0, '_f': 0, 'g': 0, 'i': '', 'j': '', '_l': ''}), 1711s E cl_and_vals_b=(tests.typed.HypAttrsClass, 1711s E (None,), 1711s E {}), # or any other generated value 1711s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s 1711s C = .C'> 1711s _ = {} 1711s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 1711s b_field_names = {'a'} 1711s cl_a = 1711s cl_and_vals_a = (, ([], nan), {'_f': 0, '_l': '', 'd': 0, 'g': 0, ...}) 1711s cl_and_vals_b = (, (None,), {}) 1711s cl_b = 1711s common_names = {'a'} 1711s converter = 1711s inst = C(a=HypAttrsClass(a=[], _b=nan, _d=0, e=0, g=0, _h='', _j='', k='')) 1711s kwargs_a = {'_f': 0, '_l': '', 'd': 0, 'g': 0, ...} 1711s strat = 1711s vals_a = ([], nan) 1711s vals_b = (None,) 1711s 1711s tests/test_baseconverter.py:142: AssertionError 1711s ________________________ test_optional_field_roundtrip _________________________ 1711s 1711s @given(simple_typed_classes(defaults=False, newtypes=False)) 1711s > def test_optional_field_roundtrip(cl_and_vals): 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe96157f8> 1711s 1711s tests/test_baseconverter.py:156: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (nan,), {}) 1711s 1711s @given(simple_typed_classes(defaults=False, newtypes=False)) 1711s def test_optional_field_roundtrip(cl_and_vals): 1711s """ 1711s Classes with optional fields can be unstructured and structured. 1711s """ 1711s converter = BaseConverter() 1711s cl, vals, kwargs = cl_and_vals 1711s 1711s @define 1711s class C: 1711s a: Optional[cl] 1711s 1711s inst = C(a=cl(*vals, **kwargs)) 1711s > assert inst == converter.structure(converter.unstructure(inst), C) 1711s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1711s E ... 1711s E 1711s E ...Full output truncated (5 lines hidden), use '-vv' to show 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_optional_field_roundtrip( 1711s E cl_and_vals=(tests.typed.HypAttrsClass, 1711s E (struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0],), 1711s E {}), 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s 1711s C = .C'> 1711s cl = 1711s cl_and_vals = (, (nan,), {}) 1711s converter = 1711s inst = C(a=HypAttrsClass(a=nan)) 1711s kwargs = {} 1711s vals = (nan,) 1711s 1711s tests/test_baseconverter.py:168: AssertionError 1711s ______________________ test_310_optional_field_roundtrip _______________________ 1711s 1711s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1711s > @given(simple_typed_classes(defaults=False, newtypes=False)) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe9615f78> 1711s 1711s tests/test_baseconverter.py:177: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (nan,), {}) 1711s 1711s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1711s @given(simple_typed_classes(defaults=False, newtypes=False)) 1711s def test_310_optional_field_roundtrip(cl_and_vals): 1711s """ 1711s Classes with optional fields can be unstructured and structured. 1711s """ 1711s converter = BaseConverter() 1711s cl, vals, kwargs = cl_and_vals 1711s 1711s @define 1711s class C: 1711s a: cl | None 1711s 1711s inst = C(a=cl(*vals, **kwargs)) 1711s > assert inst == converter.structure(converter.unstructure(inst), C) 1711s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1711s E ... 1711s E 1711s E ...Full output truncated (5 lines hidden), use '-vv' to show 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_310_optional_field_roundtrip( 1711s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s 1711s C = .C'> 1711s cl = 1711s cl_and_vals = (, (nan,), {}) 1711s converter = 1711s inst = C(a=HypAttrsClass(a=nan)) 1711s kwargs = {} 1711s vals = (nan,) 1711s 1711s tests/test_baseconverter.py:190: AssertionError 1711s _________________________ test_simple_roundtrip_tuple __________________________ 1711s 1711s @given( 1711s > simple_typed_classes(kw_only=False, newtypes=False) 1711s | simple_typed_dataclasses(newtypes=False), 1711s booleans(), 1711s ) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe9625528> 1711s 1711s tests/test_converter.py:54: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cls_and_vals = (, (nan,), {}), dv = False 1711s 1711s @given( 1711s simple_typed_classes(kw_only=False, newtypes=False) 1711s | simple_typed_dataclasses(newtypes=False), 1711s booleans(), 1711s ) 1711s def test_simple_roundtrip_tuple(cls_and_vals, dv: bool): 1711s """ 1711s Simple classes with metadata can be unstructured and restructured. 1711s """ 1711s converter = Converter( 1711s unstruct_strat=UnstructureStrategy.AS_TUPLE, detailed_validation=dv 1711s ) 1711s cl, vals, _ = cls_and_vals 1711s inst = cl(*vals) 1711s unstructured = converter.unstructure(inst) 1711s assert "Hyp" not in repr(unstructured) 1711s > assert inst == converter.structure(unstructured, cl) 1711s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: nan != nan 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_simple_roundtrip_tuple( 1711s E cls_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1711s E dv=False, # or any other generated value 1711s E ) 1711s 1711s _ = {} 1711s cl = 1711s cls_and_vals = (, (nan,), {}) 1711s converter = 1711s dv = False 1711s inst = HypAttrsClass(a=nan) 1711s unstructured = (nan,) 1711s vals = (nan,) 1711s 1711s tests/test_converter.py:69: AssertionError 1711s _____________________ test_simple_roundtrip_defaults_tuple _____________________ 1711s 1711s @given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False)) 1711s > def test_simple_roundtrip_defaults_tuple(attr_and_vals): 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe961c118> 1711s 1711s tests/test_converter.py:88: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s attr_and_vals = (_CountingAttr(counter=135183, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1711s 1711s @given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False)) 1711s def test_simple_roundtrip_defaults_tuple(attr_and_vals): 1711s """ 1711s Simple classes with metadata can be unstructured and restructured. 1711s """ 1711s a, _ = attr_and_vals 1711s cl = make_class("HypClass", {"a": a}) 1711s converter = Converter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1711s inst = cl() 1711s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 1711s inst 1711s ) 1711s > assert inst == converter.structure(converter.unstructure(inst), cl) 1711s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: nan != nan 1711s E Falsifying example: test_simple_roundtrip_defaults_tuple( 1711s E attr_and_vals=(_CountingAttr(counter=135183, 1711s E _default=struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 1711s E repr=True, 1711s E eq=True, 1711s E order=True, 1711s E hash=None, 1711s E init=True, 1711s E on_setattr=None, 1711s E alias=None, 1711s E metadata={}), 1711s E floats()), 1711s E ) 1711s 1711s _ = floats() 1711s a = _CountingAttr(counter=135183, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 1711s attr_and_vals = (_CountingAttr(counter=135183, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1711s cl = 1711s converter = 1711s inst = HypClass(a=nan) 1711s 1711s tests/test_converter.py:99: AssertionError 1711s ____________________________ test_nested_roundtrip _____________________________ 1711s 1711s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1711s > def test_nested_roundtrip(cls_and_vals, omit_if_default): 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe9619578> 1711s 1711s tests/test_converter.py:203: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cls_and_vals = (, (frozenset(), [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]), {'c': nan}) 1711s omit_if_default = False 1711s 1711s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1711s def test_nested_roundtrip(cls_and_vals, omit_if_default): 1711s """ 1711s Nested classes with metadata can be unstructured and restructured. 1711s """ 1711s converter = Converter(omit_if_default=omit_if_default) 1711s cl, vals, kwargs = cls_and_vals 1711s # Vals are a tuple, convert into a dictionary. 1711s inst = cl(*vals, **kwargs) 1711s unstructured = converter.unstructure(inst) 1711s > assert inst == converter.structure(unstructured, cl) 1711s E AssertionError: assert HypClass(a=fr...ne)])], c=nan) == HypClass(a=fr...ne)])], c=nan) 1711s E 1711s E Omitting 2 identical items, use -vv to show 1711s E Differing attributes: 1711s E ['c'] 1711s E 1711s E Drill down into differing attribute c: 1711s E c: nan != nan 1711s E Falsifying example: test_nested_roundtrip( 1711s E cls_and_vals=(tests.typed.HypClass, 1711s E (frozenset(), 1711s E [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]), 1711s E {'c': struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0]}), 1711s E omit_if_default=False, # or any other generated value 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s 1711s cl = 1711s cls_and_vals = (, (frozenset(), [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]), {'c': nan}) 1711s converter = 1711s inst = HypClass(a=frozenset(), _b=[HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])], c=nan) 1711s kwargs = {'c': nan} 1711s omit_if_default = False 1711s unstructured = {'_b': [{'_b': ['', '', ''], 'a': ['', '', ''], 'c': [{'a': None}]}], 'a': frozenset(), 'c': nan} 1711s vals = (frozenset(), [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]) 1711s 1711s tests/test_converter.py:212: AssertionError 1711s _________________________ test_nested_roundtrip_tuple __________________________ 1711s 1711s @given( 1711s > nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 1711s booleans(), 1711s ) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe9619708> 1711s 1711s tests/test_converter.py:216: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cls_and_vals = (, (('', '', ''), nan, [HypClass(a=None)]), {}) 1711s omit_if_default = False 1711s 1711s @given( 1711s nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 1711s booleans(), 1711s ) 1711s def test_nested_roundtrip_tuple(cls_and_vals, omit_if_default: bool): 1711s """ 1711s Nested classes with metadata can be unstructured and restructured. 1711s """ 1711s converter = Converter( 1711s unstruct_strat=UnstructureStrategy.AS_TUPLE, omit_if_default=omit_if_default 1711s ) 1711s cl, vals, _ = cls_and_vals 1711s # Vals are a tuple, convert into a dictionary. 1711s inst = cl(*vals) 1711s unstructured = converter.unstructure(inst) 1711s > assert inst == converter.structure(unstructured, cl) 1711s E AssertionError: assert HypClass(a=('...lass(a=None)]) == HypClass(a=('...lass(a=None)]) 1711s E 1711s E Omitting 2 identical items, use -vv to show 1711s E Differing attributes: 1711s E ['_b'] 1711s E 1711s E Drill down into differing attribute _b: 1711s E _b: nan != nan 1711s E Falsifying example: test_nested_roundtrip_tuple( 1711s E cls_and_vals=(tests.typed.HypClass, 1711s E (('', '', ''), nan, [HypClass(a=None)]), 1711s E {}), 1711s E omit_if_default=False, # or any other generated value 1711s E ) 1711s 1711s _ = {} 1711s cl = 1711s cls_and_vals = (, (('', '', ''), nan, [HypClass(a=None)]), {}) 1711s converter = 1711s inst = HypClass(a=('', '', ''), _b=nan, c=[HypClass(a=None)]) 1711s omit_if_default = False 1711s unstructured = (['', '', ''], nan, [(None,)]) 1711s vals = (('', '', ''), nan, [HypClass(a=None)]) 1711s 1711s tests/test_converter.py:230: AssertionError 1711s __________________________ test_union_field_roundtrip __________________________ 1711s + Exception Group Traceback (most recent call last): 1711s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1711s | result: TResult | None = func() 1711s | ~~~~^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1711s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1711s | ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1711s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1711s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1711s | return outcome.get_result() 1711s | ~~~~~~~~~~~~~~~~~~^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1711s | raise exc.with_traceback(exc.__traceback__) 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1711s | yield from thread_exception_runtest_hook() 1711s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1711s | yield 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1711s | yield from unraisable_exception_runtest_hook() 1711s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1711s | yield 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1711s | yield from self._runtest_for(item, "call") 1711s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1711s | yield 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1711s | return (yield) 1711s | ^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1711s | return (yield) 1711s | ^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1711s | res = hook_impl.function(*args) 1711s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1711s | item.runtest() 1711s | ~~~~~~~~~~~~^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1711s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1711s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1711s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1711s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1711s | raise exception.with_traceback(exception.__traceback__) 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1711s | res = hook_impl.function(*args) 1711s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1711s | result = testfunction(**testargs) 1711s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 234, in test_union_field_roundtrip 1711s | @given( 1711s | 1711s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1711s | raise the_error_hypothesis_found 1711s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1711s +-+---------------- 1 ---------------- 1711s | Traceback (most recent call last): 1711s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 274, in test_union_field_roundtrip 1711s | assert inst == converter.structure(unstructured, C) 1711s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 1711s | 1711s | Differing attributes: 1711s | ['a'] 1711s | 1711s | Drill down into differing attribute a: 1711s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 1711s | ... 1711s | 1711s | ...Full output truncated (6 lines hidden), use '-vv' to show 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s | Falsifying example: test_union_field_roundtrip( 1711s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1711s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff4))[0]), 1711s | {}), 1711s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1711s | strat=UnstructureStrategy.AS_TUPLE, # or any other generated value 1711s | ) 1711s +---------------- 2 ---------------- 1711s | Traceback (most recent call last): 1711s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 263, in test_union_field_roundtrip 1711s | assert inst == converter.structure(converter.unstructure(unstructured), C) 1711s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 1711s | 1711s | Differing attributes: 1711s | ['a'] 1711s | 1711s | Drill down into differing attribute a: 1711s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 1711s | ... 1711s | 1711s | ...Full output truncated (6 lines hidden), use '-vv' to show 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s | Falsifying example: test_union_field_roundtrip( 1711s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1711s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff3))[0]), 1711s | {}), 1711s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1711s | strat=UnstructureStrategy.AS_DICT, 1711s | ) 1711s | Explanation: 1711s | These lines were always and only run by failing examples: 1711s | /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s +------------------------------------ 1711s ---------------------------------- Hypothesis ---------------------------------- 1711s WARNING: Hypothesis has spent more than five minutes working to shrink a failing example, and stopped because it is making very slow progress. When you re-run your tests, shrinking will resume and may take this long before aborting again. 1711s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 1711s ________________________ test_310_union_field_roundtrip ________________________ 1711s + Exception Group Traceback (most recent call last): 1711s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1711s | result: TResult | None = func() 1711s | ~~~~^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1711s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1711s | ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1711s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1711s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1711s | return outcome.get_result() 1711s | ~~~~~~~~~~~~~~~~~~^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1711s | raise exc.with_traceback(exc.__traceback__) 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1711s | yield from thread_exception_runtest_hook() 1711s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1711s | yield 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1711s | yield from unraisable_exception_runtest_hook() 1711s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1711s | yield 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1711s | yield from self._runtest_for(item, "call") 1711s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1711s | yield 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1711s | return (yield) 1711s | ^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1711s | teardown.throw(outcome._exception) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1711s | return (yield) 1711s | ^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1711s | res = hook_impl.function(*args) 1711s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1711s | item.runtest() 1711s | ~~~~~~~~~~~~^^ 1711s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1711s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1711s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1711s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1711s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1711s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1711s | raise exception.with_traceback(exception.__traceback__) 1711s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1711s | res = hook_impl.function(*args) 1711s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1711s | result = testfunction(**testargs) 1711s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 278, in test_310_union_field_roundtrip 1711s | @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1711s | ^^^ 1711s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1711s | raise the_error_hypothesis_found 1711s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1711s +-+---------------- 1 ---------------- 1711s | Traceback (most recent call last): 1711s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 319, in test_310_union_field_roundtrip 1711s | assert inst == converter.structure(unstructured, C) 1711s | AssertionError: assert C(a=HypAttrsC..., g={}, _h=0)) == C(a=HypAttrsC..., g={}, _h=0)) 1711s | 1711s | Differing attributes: 1711s | ['a'] 1711s | 1711s | Drill down into differing attribute a: 1711s | a: HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) != HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) 1711s | ... 1711s | 1711s | ...Full output truncated (6 lines hidden), use '-vv' to show 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s | Falsifying example: test_310_union_field_roundtrip( 1711s | # The test always failed when commented parts were varied together. 1711s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1711s | (0, nan, frozenset(), ('', '', ''), {}, 0), 1711s | {}), 1711s | cl_and_vals_b=(tests.typed.HypAttrsClass, 1711s | (None,), 1711s | {}), # or any other generated value 1711s | strat=UnstructureStrategy.AS_TUPLE, # or any other generated value 1711s | ) 1711s +---------------- 2 ---------------- 1711s | Traceback (most recent call last): 1711s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 308, in test_310_union_field_roundtrip 1711s | assert inst == converter.structure(converter.unstructure(unstructured), C) 1711s | AssertionError: assert C(a=HypAttrsC..., g={}, _h=0)) == C(a=HypAttrsC..., g={}, _h=0)) 1711s | 1711s | Differing attributes: 1711s | ['a'] 1711s | 1711s | Drill down into differing attribute a: 1711s | a: HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) != HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) 1711s | ... 1711s | 1711s | ...Full output truncated (6 lines hidden), use '-vv' to show 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1711s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s | Falsifying example: test_310_union_field_roundtrip( 1711s | # The test always failed when commented parts were varied together. 1711s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1711s | (0, nan, frozenset(), ('', '', ''), {}, 0), 1711s | {}), 1711s | cl_and_vals_b=(tests.typed.HypAttrsClass, 1711s | (None,), 1711s | {}), # or any other generated value 1711s | strat=UnstructureStrategy.AS_DICT, # or any other generated value 1711s | ) 1711s | Explanation: 1711s | These lines were always and only run by failing examples: 1711s | /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s +------------------------------------ 1711s ______________________ test_310_optional_field_roundtrip _______________________ 1711s 1711s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1711s > @given(simple_typed_classes(defaults=False)) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe95f2078> 1711s 1711s tests/test_converter.py:344: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (nan,), {}) 1711s 1711s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1711s @given(simple_typed_classes(defaults=False)) 1711s def test_310_optional_field_roundtrip(cl_and_vals): 1711s """ 1711s Classes with optional fields can be unstructured and structured. 1711s """ 1711s converter = Converter() 1711s cl, vals, kwargs = cl_and_vals 1711s 1711s @define 1711s class C: 1711s a: cl | None 1711s 1711s inst = C(a=cl(*vals, **kwargs)) 1711s > assert inst == converter.structure(converter.unstructure(inst), C) 1711s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1711s E ... 1711s E 1711s E ...Full output truncated (5 lines hidden), use '-vv' to show 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_310_optional_field_roundtrip( 1711s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s 1711s C = .C'> 1711s cl = 1711s cl_and_vals = (, (nan,), {}) 1711s converter = 1711s inst = C(a=HypAttrsClass(a=nan)) 1711s kwargs = {} 1711s vals = (nan,) 1711s 1711s tests/test_converter.py:357: AssertionError 1711s _________________________ test_omit_default_roundtrip __________________________ 1711s 1711s @given(simple_typed_classes(defaults=True)) 1711s > def test_omit_default_roundtrip(cl_and_vals): 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe95f2848> 1711s 1711s tests/test_converter.py:366: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (nan,), {}) 1711s 1711s @given(simple_typed_classes(defaults=True)) 1711s def test_omit_default_roundtrip(cl_and_vals): 1711s """ 1711s Omit default on the converter works. 1711s """ 1711s converter = Converter(omit_if_default=True) 1711s cl, vals, kwargs = cl_and_vals 1711s 1711s @define 1711s class C: 1711s a: int = 1 1711s b: cl = Factory(lambda: cl(*vals, **kwargs)) 1711s 1711s inst = C() 1711s unstructured = converter.unstructure(inst) 1711s > assert unstructured == {} 1711s E AssertionError: assert {'b': {'a': nan}} == {} 1711s E 1711s E Left contains 1 more item: 1711s E {'b': {'a': nan}} 1711s E 1711s E Full diff: 1711s E - {} 1711s E + {... 1711s E 1711s E ...Full output truncated (4 lines hidden), use '-vv' to show 1711s E Class fields: [_CountingAttr(counter=0, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_omit_default_roundtrip( 1711s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:128 1711s 1711s C = .C'> 1711s cl = 1711s cl_and_vals = (, (nan,), {}) 1711s converter = 1711s inst = C(a=1, b=HypAttrsClass(a=nan)) 1711s kwargs = {} 1711s unstructured = {'b': {'a': nan}} 1711s vals = (nan,) 1711s 1711s tests/test_converter.py:380: AssertionError 1711s ____________________ test_unmodified_generated_structuring _____________________ 1711s 1711s @given( 1711s > cl_and_vals=nested_typed_classes() 1711s | simple_typed_classes() 1711s | simple_typed_dataclasses(), 1711s dv=..., 1711s ) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe946a8e8> 1711s 1711s tests/test_gen_dict.py:166: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (None, None, None, None, None, None, ...), {'r': 0, 's': 0, 't': nan, 'u': 0, ...}) 1711s dv = False 1711s 1711s @given( 1711s cl_and_vals=nested_typed_classes() 1711s | simple_typed_classes() 1711s | simple_typed_dataclasses(), 1711s dv=..., 1711s ) 1711s def test_unmodified_generated_structuring(cl_and_vals, dv: bool): 1711s converter = Converter(detailed_validation=dv) 1711s cl, vals, kwargs = cl_and_vals 1711s fn = make_dict_structure_fn(cl, converter, _cattrs_detailed_validation=dv) 1711s 1711s inst = cl(*vals, **kwargs) 1711s 1711s unstructured = converter.unstructure(inst) 1711s 1711s assert "Hyp" not in repr(unstructured) 1711s 1711s converter.register_structure_hook(cl, fn) 1711s 1711s res = converter.structure(unstructured, cl) 1711s 1711s > assert inst == res 1711s E AssertionError: assert HypClass(a=No..., y={}, _z={}) == HypClass(a=No..., y={}, _z={}) 1711s E 1711s E Omitting 25 identical items, use -vv to show 1711s E Differing attributes: 1711s E ['_t'] 1711s E 1711s E Drill down into differing attribute _t: 1711s E _t: nan != nan 1711s E Falsifying example: test_unmodified_generated_structuring( 1711s E cl_and_vals=(tests.typed.HypClass, 1711s E (None, 1711s E None, 1711s E None, 1711s E None, 1711s E None, 1711s E None, 1711s E 0, 1711s E 0, 1711s E 0, 1711s E ('', '', ''), 1711s E None, 1711s E 0, 1711s E 0, 1711s E {'': 0}, 1711s E [], 1711s E {'': 0}, 1711s E [HypClass(a=[HypClass(a=set(), 1711s E _b=None, 1711s E c='', 1711s E _d=set(), 1711s E e=[], 1711s E _f='', 1711s E g={}, 1711s E _h=set(), 1711s E i=frozenset(), 1711s E _j={})])]), 1711s E {'r': 0, 1711s E 's': 0, 1711s E 't': nan, 1711s E 'u': 0, 1711s E 'v': 0, 1711s E 'w': 0, 1711s E 'x': {}, 1711s E 'y': {}, 1711s E 'z': {}}), 1711s E dv=False, 1711s E ) 1711s E Explanation: 1711s E These lines were always and only run by failing examples: 1711s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1711s 1711s cl = 1711s cl_and_vals = (, (None, None, None, None, None, None, ...), {'r': 0, 's': 0, 't': nan, 'u': 0, ...}) 1711s converter = 1711s dv = False 1711s fn = 1711s inst = HypClass(a=None, _b=None, c=None, _d=None, e=None, _f=None, g=0, _h=0, i=0, _j=('', '', ''), k=None, _l=0, m=0, _n={''..._d=set(), e=[], _f='', g={}, _h=set(), i=frozenset(), _j={})])], _r=0, s=0, _t=nan, u=0, _v=0, w=0, _x={}, y={}, _z={}) 1711s kwargs = {'r': 0, 's': 0, 't': nan, 'u': 0, ...} 1711s res = HypClass(a=None, _b=None, c=None, _d=None, e=None, _f=None, g=0, _h=0, i=0, _j=('', '', ''), k=None, _l=0, m=0, _n={''..._d=set(), e=[], _f='', g={}, _h=set(), i=frozenset(), _j={})])], _r=0, s=0, _t=nan, u=0, _v=0, w=0, _x={}, y={}, _z={}) 1711s unstructured = {'_b': None, '_d': None, '_f': None, '_h': 0, ...} 1711s vals = (None, None, None, None, None, None, ...) 1711s 1711s tests/test_gen_dict.py:186: AssertionError 1711s ---------------------------------- Hypothesis ---------------------------------- 1711s WARNING: Hypothesis has spent more than five minutes working to shrink a failing example, and stopped because it is making very slow progress. When you re-run your tests, shrinking will resume and may take this long before aborting again. 1711s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 1711s ________________________________ test_renaming _________________________________ 1711s 1711s @given( 1711s > simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 1711s ) 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe949f7f8> 1711s 1711s tests/test_gen_dict.py:190: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (nan,), {}) 1711s data = data(...) 1711s 1711s @given( 1711s simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 1711s ) 1711s def test_renaming(cl_and_vals, data): 1711s converter = Converter() 1711s cl, vals, kwargs = cl_and_vals 1711s attrs = fields(cl) 1711s 1711s to_replace = data.draw(sampled_from(attrs)) 1711s 1711s u_fn = make_dict_unstructure_fn( 1711s cl, converter, **{to_replace.name: override(rename="class")} 1711s ) 1711s s_fn = make_dict_structure_fn( 1711s cl, converter, **{to_replace.name: override(rename="class")} 1711s ) 1711s 1711s converter.register_structure_hook(cl, s_fn) 1711s converter.register_unstructure_hook(cl, u_fn) 1711s 1711s inst = cl(*vals, **kwargs) 1711s 1711s raw = converter.unstructure(inst) 1711s 1711s assert "class" in raw 1711s 1711s new_inst = converter.structure(raw, cl) 1711s 1711s > assert inst == new_inst 1711s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1711s E 1711s E Differing attributes: 1711s E ['a'] 1711s E 1711s E Drill down into differing attribute a: 1711s E a: nan != nan 1711s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1711s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1711s E Falsifying example: test_renaming( 1711s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1711s E data=data(...), 1711s E ) 1711s E Draw 1: Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, metadata=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') 1711s 1711s attrs = (Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, has...a=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a'),) 1711s cl = 1711s cl_and_vals = (, (nan,), {}) 1711s converter = 1711s data = data(...) 1711s inst = HypAttrsClass(a=nan) 1711s kwargs = {} 1711s new_inst = HypAttrsClass(a=nan) 1711s raw = {'class': nan} 1711s s_fn = 1711s to_replace = Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash...ata=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') 1711s u_fn = 1711s vals = (nan,) 1711s 1711s tests/test_gen_dict.py:217: AssertionError 1711s ___________________ test_structure_simple_from_dict_default ____________________ 1711s 1711s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1711s > def test_structure_simple_from_dict_default(cl_and_vals, data): 1711s 1711s f = .run_test_as_given..wrapped_test at 0xe93ec1b8> 1711s 1711s tests/test_structure_attrs.py:31: 1711s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1711s 1711s cl_and_vals = (, (0, 0.0), {}), data = data(...) 1711s 1711s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1711s def test_structure_simple_from_dict_default(cl_and_vals, data): 1711s """Test structuring non-nested attrs classes with default value.""" 1711s converter = BaseConverter() 1711s cl, vals, kwargs = cl_and_vals 1711s obj = cl(*vals, **kwargs) 1711s attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] 1711s to_remove = data.draw( 1711s lists(elements=sampled_from(attrs_with_defaults), unique=True) 1711s ) 1711s 1711s for a in to_remove: 1711s if isinstance(a.default, Factory): 1711s setattr(obj, a.name, a.default.factory()) 1711s else: 1711s setattr(obj, a.name, a.default) 1711s 1711s dumped = asdict(obj) 1711s 1711s for a in to_remove: 1711s del dumped[a.name] 1711s 1711s > assert obj == converter.structure(dumped, cl) 1711s E AssertionError: assert HypClass(a=0, _b=nan) == HypClass(a=0, _b=nan) 1711s E 1711s E Omitting 1 identical items, use -vv to show 1711s E Differing attributes: 1711s E ['_b'] 1711s E 1711s E Drill down into differing attribute _b: 1711s E _b: nan != nan 1711s E Falsifying example: test_structure_simple_from_dict_default( 1711s E cl_and_vals=(tests.untyped.HypClass, (0, 0.0), {}), 1711s E data=data(...), 1711s E ) 1711s E Draw 1: [Attribute(name='_b', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] 1711s 1711s a = Attribute(name='_b', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b') 1711s attrs_with_defaults = [Attribute(name='a', default=0, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] 1711s cl = 1711s cl_and_vals = (, (0, 0.0), {}) 1711s converter = 1711s data = data(...) 1711s dumped = {'a': 0} 1711s kwargs = {} 1711s obj = HypClass(a=0, _b=nan) 1711s to_remove = [Attribute(name='_b', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=N...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] 1711s vals = (0, 0.0) 1711s 1711s tests/test_structure_attrs.py:52: AssertionError 1711s =============================== warnings summary =============================== 1711s tests/typed.py:417 1711s /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/typed.py:417: HypothesisWarning: Return-type annotation is `st.SearchStrategy[typing.Tuple[attr._make._CountingAttr, st.SearchStrategy]]`, but the decorated function should return a value (not a strategy) 1711s @composite 1711s 1711s tests/typed.py:826 1711s /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/typed.py:826: HypothesisWarning: Return-type annotation is `st.SearchStrategy[typing.Tuple[typing.Type, st.SearchStrategy[typing.Tuple[typing.Any]], st.SearchStrategy[typing.Dict[str, typing.Any]]]]`, but the decorated function should return a value (not a strategy) 1711s @composite 1711s 1711s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1711s =========================== short test summary info ============================ 1711s FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... 1711s FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - AssertionEr... 1711s FAILED tests/test_baseconverter.py::test_union_field_roundtrip - ExceptionGro... 1711s FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... 1711s FAILED tests/test_baseconverter.py::test_optional_field_roundtrip - Assertion... 1711s FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... 1711s FAILED tests/test_converter.py::test_simple_roundtrip_tuple - AssertionError:... 1711s FAILED tests/test_converter.py::test_simple_roundtrip_defaults_tuple - Assert... 1711s FAILED tests/test_converter.py::test_nested_roundtrip - AssertionError: asser... 1711s FAILED tests/test_converter.py::test_nested_roundtrip_tuple - AssertionError:... 1711s FAILED tests/test_converter.py::test_union_field_roundtrip - ExceptionGroup: ... 1711s FAILED tests/test_converter.py::test_310_union_field_roundtrip - ExceptionGro... 1711s FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... 1711s FAILED tests/test_converter.py::test_omit_default_roundtrip - AssertionError:... 1711s FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - Assert... 1711s FAILED tests/test_gen_dict.py::test_renaming - AssertionError: assert HypAttr... 1711s FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default 1711s ===== 17 failed, 560 passed, 15 xfailed, 2 warnings in 1425.83s (0:23:45) ====== 1711s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 1711s I: pybuild base:311: cd /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build; python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 1712s ============================= test session starts ============================== 1712s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 1712s cachedir: .pytest_cache 1712s hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/.hypothesis/examples')) 1712s benchmark: 5.1.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=True warmup_iterations=5) 1712s rootdir: /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build 1712s configfile: pyproject.toml 1712s plugins: typeguard-4.4.1, hypothesis-6.119.3, benchmark-5.1.0 1713s collecting ... collected 592 items 1713s 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 0%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 0%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 0%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 0%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 0%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 1%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 1%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 1%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 1%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 1%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 1%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 2%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 2%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 2%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 2%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 2%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 2%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 3%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 3%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 3%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 3%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 3%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 3%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 4%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 4%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 4%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 4%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 4%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 4%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 5%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 5%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 5%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 5%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 5%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 5%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 6%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 6%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 6%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 6%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 6%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 6%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 7%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 7%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 7%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 7%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 7%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 7%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 8%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 8%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 8%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 8%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 8%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 8%] 1713s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 9%] 1713s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 9%] 1713s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 9%] 1713s tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 9%] 1713s tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 9%] 1713s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 9%] 1713s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 10%] 1713s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 10%] 1713s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 10%] 1713s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 10%] 1713s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 10%] 1713s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 10%] 1713s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 11%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 11%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 11%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 11%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 11%] 1713s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 11%] 1713s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 12%] 1713s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 12%] 1713s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 12%] 1713s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 12%] 1713s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 12%] 1713s tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 13%] 1713s tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 13%] 1713s tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 13%] 1713s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 13%] 1713s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 13%] 1713s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 13%] 1713s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 14%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 14%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 14%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 14%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 14%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 14%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 15%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 15%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 15%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 15%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 15%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 15%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 16%] 1713s tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 16%] 1713s tests/test_copy.py::test_copy[BaseConverter] PASSED [ 16%] 1713s tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 16%] 1713s tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 16%] 1713s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 16%] 1713s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 17%] 1713s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 17%] 1713s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 17%] 1713s tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 17%] 1713s tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 17%] 1713s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 17%] 1713s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 18%] 1713s tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 18%] 1713s tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 18%] 1713s tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 18%] 1713s tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 18%] 1713s tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 18%] 1713s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 19%] 1713s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 19%] 1713s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 19%] 1713s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 19%] 1713s tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 19%] 1713s tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 19%] 1713s tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 20%] 1713s tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 20%] 1713s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 20%] 1713s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 20%] 1713s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 20%] 1713s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 20%] 1713s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 21%] 1713s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 21%] 1713s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 21%] 1713s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 21%] 1713s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 21%] 1713s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 21%] 1713s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 22%] 1713s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 22%] 1713s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 22%] 1713s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 22%] 1713s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 22%] 1713s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 22%] 1713s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 23%] 1713s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 23%] 1713s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 23%] 1713s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 23%] 1713s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 23%] 1713s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 23%] 1713s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 24%] 1713s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 24%] 1713s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 24%] 1713s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 24%] 1713s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 24%] 1713s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 25%] 1713s tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 25%] 1713s tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 25%] 1713s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 25%] 1713s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 25%] 1713s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 25%] 1713s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 26%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 26%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 26%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 26%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 26%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 26%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 27%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 27%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 27%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 27%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 27%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 27%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 28%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 28%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 28%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 28%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 28%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 28%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 29%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 29%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 29%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 29%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 29%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 29%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 30%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 30%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 30%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 30%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 30%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 30%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 31%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 31%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 31%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 31%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 31%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 31%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 32%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 32%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 32%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 32%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 32%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 32%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 33%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 33%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 33%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 33%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 33%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 33%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 34%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 34%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 34%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 34%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 34%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 34%] 1713s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 35%] 1713s tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 35%] 1713s tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 35%] 1713s tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 35%] 1713s tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 35%] 1713s tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 35%] 1713s tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] 1713s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 36%] 1713s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 36%] 1713s tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 36%] 1713s tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 36%] 1713s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 36%] 1713s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 37%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 37%] 1713s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 37%] 1713s tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] 1713s tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] 1713s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] 1713s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 38%] 1713s tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 38%] 1713s tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 38%] 1713s tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] 1713s tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] 1713s tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] 1713s tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] 1713s tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 39%] 1713s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 39%] 1713s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 40%] 1713s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 41%] 1713s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] 1713s tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] 1713s tests/test_copy.py::test_copy[Converter] PASSED [ 42%] 1713s tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] 1713s tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] 1713s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] 1713s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] 1713s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] 1713s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] 1713s tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] 1713s tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] 1713s tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] 1713s tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] 1713s tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] 1713s tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] 1713s tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] 1713s tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] 1713s tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] 1713s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 45%] 1713s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] 1713s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] 1713s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] 1713s tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] 1713s tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] 1713s tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 46%] 1713s tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 46%] 1713s tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] 1713s tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] 1713s tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] 1713s tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] 1713s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 47%] 1713s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 47%] 1713s tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] 1713s tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] 1713s tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] 1713s tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] 1713s tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 48%] 1713s tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 48%] 1713s tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 48%] 1713s tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] 1713s tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] 1713s tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] 1713s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 49%] 1713s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 49%] 1713s tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 49%] 1713s tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] 1713s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] 1713s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 50%] 1713s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 50%] 1713s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 50%] 1713s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 50%] 1713s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 50%] 1713s tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] 1713s tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 51%] 1713s tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 51%] 1713s tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 51%] 1713s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 51%] 1713s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 51%] 1713s tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 51%] 1713s tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 52%] 1713s tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 52%] 1713s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 52%] 1713s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 52%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 52%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 52%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 53%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 53%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 53%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 53%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 53%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 53%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 54%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 54%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 54%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 54%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 54%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 54%] 1714s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 55%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 55%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 55%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 55%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 55%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 55%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 56%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 56%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 56%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 56%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 56%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 56%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 57%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 57%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 57%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 57%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 57%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 57%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 58%] 1715s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 58%] 1715s tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 58%] 1715s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 58%] 1715s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 58%] 1715s tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 58%] 1715s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 59%] 1715s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 59%] 1715s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 59%] 1715s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 59%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 59%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 59%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 60%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 60%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 60%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 60%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 60%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 60%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 61%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 61%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 61%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 61%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 61%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 61%] 1716s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 62%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 62%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 62%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 62%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 62%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 63%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 63%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 63%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 63%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 63%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 63%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 64%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 64%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 64%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 64%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 64%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 64%] 1717s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 65%] 1717s tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 65%] 1717s tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 65%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 65%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 65%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 65%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 66%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 66%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 66%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 66%] 1717s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 66%] 1717s tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 66%] 1717s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 67%] 1717s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 67%] 1717s tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 67%] 1722s tests/test_baseconverter.py::test_simple_roundtrip FAILED [ 67%] 1723s tests/test_baseconverter.py::test_simple_roundtrip_defaults PASSED [ 67%] 1723s tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 67%] 1723s tests/test_baseconverter.py::test_nested_roundtrip_tuple FAILED [ 68%] 1723s tests/test_baseconverter.py::test_union_field_roundtrip FAILED [ 68%] 1723s tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 68%] 1723s tests/test_baseconverter.py::test_optional_field_roundtrip FAILED [ 68%] 1723s tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 68%] 1725s tests/test_converter.py::test_simple_roundtrip PASSED [ 68%] 1725s tests/test_converter.py::test_simple_roundtrip_tuple FAILED [ 69%] 1726s tests/test_converter.py::test_simple_roundtrip_defaults PASSED [ 69%] 1726s tests/test_converter.py::test_simple_roundtrip_defaults_tuple FAILED [ 69%] 1751s tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden FAILED [ 69%] 1753s tests/test_converter.py::test_forbid_extra_keys PASSED [ 69%] 1754s tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 69%] 1754s tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 70%] 1754s tests/test_converter.py::test_nested_roundtrip FAILED [ 70%] 1754s tests/test_converter.py::test_nested_roundtrip_tuple FAILED [ 70%] 1754s tests/test_converter.py::test_union_field_roundtrip FAILED [ 70%] 1755s tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 70%] 1756s tests/test_converter.py::test_optional_field_roundtrip PASSED [ 70%] 1756s tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 71%] 1756s tests/test_converter.py::test_omit_default_roundtrip FAILED [ 71%] 1756s tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 71%] 1758s tests/test_converter.py::test_type_overrides PASSED [ 71%] 1758s tests/test_converter.py::test_calling_back PASSED [ 71%] 1758s tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 71%] 1758s tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 72%] 1758s tests/test_converter.py::test_overriding_generated_structure PASSED [ 72%] 1758s tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 72%] 1761s tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 72%] 1761s tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 72%] 1761s tests/test_converter.py::test_annotated_attrs PASSED [ 72%] 1761s tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 73%] 1761s tests/test_copy.py::test_copy_converter PASSED [ 73%] 1761s tests/test_copy.py::test_detailed_validation PASSED [ 73%] 1761s tests/test_copy.py::test_col_overrides PASSED [ 73%] 1761s tests/test_disambiguators.py::test_edge_errors PASSED [ 73%] 1762s tests/test_disambiguators.py::test_fallback PASSED [ 73%] 1778s tests/test_disambiguators.py::test_disambiguation PASSED [ 74%] 1778s tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 74%] 1778s tests/test_disambiguators.py::test_default_no_literals PASSED [ 74%] 1778s tests/test_final.py::test_unstructure_final[True] PASSED [ 74%] 1778s tests/test_final.py::test_unstructure_final[False] PASSED [ 74%] 1778s tests/test_final.py::test_structure_final[True] PASSED [ 75%] 1778s tests/test_final.py::test_structure_final[False] PASSED [ 75%] 1778s tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 75%] 1778s tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 75%] 1778s tests/test_final.py::test_structure_bare_final[True] PASSED [ 75%] 1778s tests/test_final.py::test_structure_bare_final[False] PASSED [ 75%] 1778s tests/test_function_dispatch.py::test_function_dispatch PASSED [ 76%] 1778s tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 76%] 1778s tests/test_gen.py::test_structure_linecache PASSED [ 76%] 1778s tests/test_gen.py::test_unstructure_linecache PASSED [ 76%] 1778s tests/test_gen.py::test_no_linecache PASSED [ 76%] 1778s tests/test_gen.py::test_linecache_dedup PASSED [ 76%] 1781s tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 77%] 1783s tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 77%] 1787s tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 77%] 1789s tests/test_gen_dict.py::test_individual_overrides PASSED [ 77%] 1789s tests/test_gen_dict.py::test_unmodified_generated_structuring FAILED [ 77%] 1789s tests/test_gen_dict.py::test_renaming FAILED [ 77%] 1789s tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 78%] 1789s tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 78%] 1789s tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 78%] 1789s tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 78%] 1789s tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 78%] 1789s tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 78%] 1789s tests/test_gen_dict_563.py::test_roundtrip PASSED [ 79%] 1789s tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 79%] 1789s tests/test_generics.py::test_deep_copy PASSED [ 79%] 1789s tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 79%] 1789s tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 79%] 1789s tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 79%] 1789s tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 80%] 1789s tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 80%] 1789s tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 80%] 1789s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 80%] 1789s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 80%] 1789s tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 80%] 1789s tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 81%] 1789s tests/test_generics.py::test_unstructure_optional[True] PASSED [ 81%] 1789s tests/test_generics.py::test_unstructure_optional[False] PASSED [ 81%] 1789s tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 81%] 1789s tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 81%] 1789s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 81%] 1789s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 82%] 1789s tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 82%] 1789s tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 82%] 1789s tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 82%] 1789s tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 82%] 1789s tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 82%] 1789s tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 83%] 1789s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 83%] 1789s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 83%] 1789s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 83%] 1789s tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 83%] 1789s tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 83%] 1789s tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 84%] 1789s tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 84%] 1789s tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 84%] 1789s tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 84%] 1789s tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 84%] 1789s tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 84%] 1789s tests/test_recursive.py::test_simple_recursive PASSED [ 85%] 1789s tests/test_structure.py::test_structuring_primitives PASSED [ 85%] 1790s tests/test_structure.py::test_structuring_seqs PASSED [ 85%] 1790s tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 85%] 1790s tests/test_structure.py::test_structuring_sets PASSED [ 85%] 1791s tests/test_structure.py::test_stringifying_sets PASSED [ 85%] 1791s tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] 1792s tests/test_structure.py::test_stringifying_tuples PASSED [ 86%] 1792s tests/test_structure.py::test_structuring_dicts PASSED [ 86%] 1793s tests/test_structure.py::test_structuring_dicts_opts PASSED [ 86%] 1793s tests/test_structure.py::test_stringifying_dicts PASSED [ 86%] 1794s tests/test_structure.py::test_structuring_optional_primitives PASSED [ 86%] 1794s tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] 1794s tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 87%] 1795s tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 87%] 1795s tests/test_structure.py::test_structure_hook_func PASSED [ 87%] 1796s tests/test_structure.py::test_structuring_enums PASSED [ 87%] 1796s tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] 1796s tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] 1796s tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] 1797s tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 88%] 1797s tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 88%] 1799s tests/test_structure_attrs.py::test_roundtrip PASSED [ 88%] 1800s tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] 1801s tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] 1803s tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] 1805s tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 89%] 1805s tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 89%] 1805s tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 89%] 1805s tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] 1805s tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] 1805s tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] 1805s tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] 1805s tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 90%] 1805s tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 90%] 1805s tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] 1805s tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] 1805s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] 1805s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] 1805s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] 1805s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 91%] 1805s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] 1805s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] 1806s tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] 1806s tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] 1808s tests/test_typeddicts.py::test_int_override PASSED [ 92%] 1809s tests/test_typeddicts.py::test_extra_keys PASSED [ 92%] 1810s tests/test_typeddicts.py::test_generics PASSED [ 93%] 1810s tests/test_typeddicts.py::test_not_required PASSED [ 93%] 1812s tests/test_typeddicts.py::test_required PASSED [ 93%] 1813s tests/test_typeddicts.py::test_omit PASSED [ 93%] 1814s tests/test_typeddicts.py::test_rename PASSED [ 93%] 1814s tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] 1815s tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] 1815s tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] 1815s tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] 1815s tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] 1815s tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] 1815s tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] 1815s tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1815s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] 1815s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1815s tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] 1815s tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] 1815s tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] 1815s tests/test_unstructure.py::test_set_unstructure PASSED [ 96%] 1816s tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] 1817s tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] 1820s tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] 1822s tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] 1824s tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] 1828s tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 97%]E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build; python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 1828s 1828s tests/test_v.py::test_attribute_errors PASSED [ 97%] 1828s tests/test_v.py::test_class_errors PASSED [ 97%] 1828s tests/test_v.py::test_sequence_errors PASSED [ 97%] 1828s tests/test_v.py::test_mapping_errors PASSED [ 97%] 1828s tests/test_v.py::test_custom_error_fn PASSED [ 97%] 1828s tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] 1828s tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] 1828s tests/test_validation.py::test_class_validation PASSED [ 98%] 1828s tests/test_validation.py::test_external_class_validation PASSED [ 98%] 1828s tests/test_validation.py::test_list_validation PASSED [ 98%] 1828s tests/test_validation.py::test_mapping_validation PASSED [ 98%] 1828s tests/test_validation.py::test_counter_validation PASSED [ 99%] 1828s tests/test_validation.py::test_set_validation PASSED [ 99%] 1828s tests/test_validation.py::test_frozenset_validation PASSED [ 99%] 1828s tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] 1828s tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] 1828s tests/test_validation.py::test_notes_pickling PASSED [100%] 1828s 1828s =================================== FAILURES =================================== 1828s ____________________________ test_simple_roundtrip _____________________________ 1828s 1828s @given(simple_typed_classes(newtypes=False), unstructure_strats) 1828s > def test_simple_roundtrip(cls_and_vals, strat): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf180d118> 1828s 1828s tests/test_baseconverter.py:18: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, (nan,), {}) 1828s strat = 1828s 1828s @given(simple_typed_classes(newtypes=False), unstructure_strats) 1828s def test_simple_roundtrip(cls_and_vals, strat): 1828s """ 1828s Simple classes with metadata can be unstructured and restructured. 1828s """ 1828s converter = BaseConverter(unstruct_strat=strat) 1828s cl, vals, kwargs = cls_and_vals 1828s assume(strat is UnstructureStrategy.AS_DICT or not kwargs) 1828s inst = cl(*vals, **kwargs) 1828s > assert inst == converter.structure(converter.unstructure(inst), cl) 1828s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: nan != nan 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_simple_roundtrip( 1828s E cls_and_vals=(tests.typed.HypAttrsClass, 1828s E (struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0],), 1828s E {}), 1828s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1828s E ) 1828s 1828s cl = 1828s cls_and_vals = (, (nan,), {}) 1828s converter = 1828s inst = HypAttrsClass(a=nan) 1828s kwargs = {} 1828s strat = 1828s vals = (nan,) 1828s 1828s tests/test_baseconverter.py:26: AssertionError 1828s ____________________________ test_nested_roundtrip _____________________________ 1828s 1828s @given(nested_typed_classes(newtypes=False)) 1828s > def test_nested_roundtrip(cls_and_vals): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf180d438> 1828s 1828s tests/test_baseconverter.py:46: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, ([HypClass(a=nan)],), {}) 1828s 1828s @given(nested_typed_classes(newtypes=False)) 1828s def test_nested_roundtrip(cls_and_vals): 1828s """ 1828s Nested classes with metadata can be unstructured and restructured. 1828s """ 1828s converter = BaseConverter() 1828s cl, vals, kwargs = cls_and_vals 1828s # Vals are a tuple, convert into a dictionary. 1828s inst = cl(*vals, **kwargs) 1828s > assert inst == converter.structure(converter.unstructure(inst), cl) 1828s E AssertionError: assert HypClass(a=[HypClass(a=nan)]) == HypClass(a=[HypClass(a=nan)]) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: [HypClass(a=nan)] != [HypClass(a=nan)] 1828s E At index 0 diff: HypClass(a=nan) != HypClass(a=nan)... 1828s E 1828s E ...Full output truncated (5 lines hidden), use '-vv' to show 1828s E Falsifying example: test_nested_roundtrip( 1828s E cls_and_vals=(tests.typed.HypClass, ([HypClass(a=nan)],), {}), 1828s E ) 1828s 1828s cl = 1828s cls_and_vals = (, ([HypClass(a=nan)],), {}) 1828s converter = 1828s inst = HypClass(a=[HypClass(a=nan)]) 1828s kwargs = {} 1828s vals = ([HypClass(a=nan)],) 1828s 1828s tests/test_baseconverter.py:54: AssertionError 1828s _________________________ test_nested_roundtrip_tuple __________________________ 1828s 1828s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1828s > def test_nested_roundtrip_tuple(cls_and_vals): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf180d578> 1828s 1828s tests/test_baseconverter.py:58: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, (nan, [HypClass()]), {}) 1828s 1828s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1828s def test_nested_roundtrip_tuple(cls_and_vals): 1828s """ 1828s Nested classes with metadata can be unstructured and restructured. 1828s """ 1828s converter = BaseConverter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1828s cl, vals, kwargs = cls_and_vals 1828s assert not kwargs 1828s # Vals are a tuple, convert into a dictionary. 1828s inst = cl(*vals) 1828s > assert inst == converter.structure(converter.unstructure(inst), cl) 1828s E AssertionError: assert HypClass(a=na...=[HypClass()]) == HypClass(a=na...=[HypClass()]) 1828s E 1828s E Omitting 1 identical items, use -vv to show 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: nan != nan 1828s E Falsifying example: test_nested_roundtrip_tuple( 1828s E cls_and_vals=(tests.typed.HypClass, 1828s E (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 1828s E [HypClass()]), 1828s E {}), 1828s E ) 1828s 1828s cl = 1828s cls_and_vals = (, (nan, [HypClass()]), {}) 1828s converter = 1828s inst = HypClass(a=nan, _b=[HypClass()]) 1828s kwargs = {} 1828s vals = (nan, [HypClass()]) 1828s 1828s tests/test_baseconverter.py:67: AssertionError 1828s __________________________ test_union_field_roundtrip __________________________ 1828s + Exception Group Traceback (most recent call last): 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1828s | result: TResult | None = func() 1828s | ^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1828s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1828s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1828s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1828s | return outcome.get_result() 1828s | ^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1828s | raise exc.with_traceback(exc.__traceback__) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1828s | yield from thread_exception_runtest_hook() 1828s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1828s | yield from unraisable_exception_runtest_hook() 1828s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1828s | yield from self._runtest_for(item, "call") 1828s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1828s | return (yield) 1828s | ^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1828s | return (yield) 1828s | ^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1828s | res = hook_impl.function(*args) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1828s | item.runtest() 1828s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1828s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1828s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1828s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1828s | raise exception.with_traceback(exception.__traceback__) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1828s | res = hook_impl.function(*args) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1828s | result = testfunction(**testargs) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_baseconverter.py", line 71, in test_union_field_roundtrip 1828s | @given( 1828s | 1828s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1828s | raise the_error_hypothesis_found 1828s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1828s +-+---------------- 1 ---------------- 1828s | Traceback (most recent call last): 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_baseconverter.py", line 109, in test_union_field_roundtrip 1828s | assert inst == converter.structure(converter.unstructure(inst), C) 1828s | AssertionError: assert C(a=HypAttrsC... g={}, _h=[])) == C(a=HypAttrsC... g={}, _h=[])) 1828s | 1828s | Differing attributes: 1828s | ['a'] 1828s | 1828s | Drill down into differing attribute a: 1828s | a: HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) != HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) 1828s | ... 1828s | 1828s | ...Full output truncated (6 lines hidden), use '-vv' to show 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Falsifying example: test_union_field_roundtrip( 1828s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s | (0, 1828s | 0, 1828s | struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff4))[0], 1828s | {}, 1828s | {}, 1828s | []), 1828s | {}), 1828s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s | strat=UnstructureStrategy.AS_TUPLE, 1828s | ) 1828s +---------------- 2 ---------------- 1828s | Traceback (most recent call last): 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_baseconverter.py", line 99, in test_union_field_roundtrip 1828s | assert inst == converter.structure(converter.unstructure(inst), C) 1828s | AssertionError: assert C(a=HypAttrsC... g={}, _h=[])) == C(a=HypAttrsC... g={}, _h=[])) 1828s | 1828s | Differing attributes: 1828s | ['a'] 1828s | 1828s | Drill down into differing attribute a: 1828s | a: HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) != HypAttrsClass(a=0, _b=0, _d=nan, e={}, g={}, _h=[]) 1828s | ... 1828s | 1828s | ...Full output truncated (6 lines hidden), use '-vv' to show 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, rpybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 1828s make: *** [/tmp/xMiU36Cu9m/run:4: pybuild-autopkgtest] Error 25 1828s pybuild-autopkgtest: error: /tmp/xMiU36Cu9m/run pybuild-autopkgtest returned exit code 2 1828s epr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Falsifying example: test_union_field_roundtrip( 1828s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s | (0, 1828s | 0, 1828s | struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff3))[0], 1828s | {}, 1828s | {}, 1828s | []), 1828s | {}), 1828s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s | strat=UnstructureStrategy.AS_DICT, 1828s | ) 1828s +------------------------------------ 1828s ________________________ test_310_union_field_roundtrip ________________________ 1828s 1828s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1828s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf180db68> 1828s 1828s tests/test_baseconverter.py:113: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals_a = (, ([], nan), {'_f': 0, '_l': '', 'd': 0, 'g': 0, ...}) 1828s cl_and_vals_b = (, (None,), {}) 1828s strat = 1828s 1828s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1828s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1828s @given( 1828s simple_typed_classes(defaults=False, newtypes=False), 1828s simple_typed_classes(defaults=False, newtypes=False), 1828s unstructure_strats, 1828s ) 1828s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1828s """ 1828s Classes with union fields can be unstructured and structured. 1828s """ 1828s converter = BaseConverter(unstruct_strat=strat) 1828s cl_a, vals_a, kwargs_a = cl_and_vals_a 1828s cl_b, vals_b, _ = cl_and_vals_b 1828s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1828s a_field_names = {a.name for a in fields(cl_a)} 1828s b_field_names = {a.name for a in fields(cl_b)} 1828s assume(a_field_names) 1828s assume(b_field_names) 1828s 1828s common_names = a_field_names & b_field_names 1828s assume(len(a_field_names) > len(common_names)) 1828s 1828s @define 1828s class C: 1828s a: cl_a | cl_b 1828s 1828s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1828s 1828s if strat is UnstructureStrategy.AS_DICT: 1828s > assert inst == converter.structure(converter.unstructure(inst), C) 1828s E AssertionError: assert C(a=HypAttrsC... _j='', k='')) == C(a=HypAttrsC... _j='', k='')) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: HypAttrsClass(a=[], _b=nan, _d=0, e=0, g=0, _h='', _j='', k='') != HypAttrsClass(a=[], _b=nan, _d=0, e=0, g=0, _h='', _j='', k='') 1828s E ... 1828s E 1828s E ...Full output truncated (6 lines hidden), use '-vv' to show 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={})} 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_310_union_field_roundtrip( 1828s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s E ([], nan), 1828s E {'d': 0, '_f': 0, 'g': 0, 'i': '', 'j': '', '_l': ''}), 1828s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s E strat=UnstructureStrategy.AS_DICT, 1828s E ) 1828s 1828s C = .C'> 1828s _ = {} 1828s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 1828s b_field_names = {'a'} 1828s cl_a = 1828s cl_and_vals_a = (, ([], nan), {'_f': 0, '_l': '', 'd': 0, 'g': 0, ...}) 1828s cl_and_vals_b = (, (None,), {}) 1828s cl_b = 1828s common_names = {'a'} 1828s converter = 1828s inst = C(a=HypAttrsClass(a=[], _b=nan, _d=0, e=0, g=0, _h='', _j='', k='')) 1828s kwargs_a = {'_f': 0, '_l': '', 'd': 0, 'g': 0, ...} 1828s strat = 1828s vals_a = ([], nan) 1828s vals_b = (None,) 1828s 1828s tests/test_baseconverter.py:142: AssertionError 1828s ________________________ test_optional_field_roundtrip _________________________ 1828s 1828s @given(simple_typed_classes(defaults=False, newtypes=False)) 1828s > def test_optional_field_roundtrip(cl_and_vals): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf180dc58> 1828s 1828s tests/test_baseconverter.py:156: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (nan,), {}) 1828s 1828s @given(simple_typed_classes(defaults=False, newtypes=False)) 1828s def test_optional_field_roundtrip(cl_and_vals): 1828s """ 1828s Classes with optional fields can be unstructured and structured. 1828s """ 1828s converter = BaseConverter() 1828s cl, vals, kwargs = cl_and_vals 1828s 1828s @define 1828s class C: 1828s a: Optional[cl] 1828s 1828s inst = C(a=cl(*vals, **kwargs)) 1828s > assert inst == converter.structure(converter.unstructure(inst), C) 1828s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1828s E ... 1828s E 1828s E ...Full output truncated (5 lines hidden), use '-vv' to show 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_optional_field_roundtrip( 1828s E cl_and_vals=(tests.typed.HypAttrsClass, 1828s E (struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0],), 1828s E {}), 1828s E ) 1828s 1828s C = .C'> 1828s cl = 1828s cl_and_vals = (, (nan,), {}) 1828s converter = 1828s inst = C(a=HypAttrsClass(a=nan)) 1828s kwargs = {} 1828s vals = (nan,) 1828s 1828s tests/test_baseconverter.py:168: AssertionError 1828s ______________________ test_310_optional_field_roundtrip _______________________ 1828s 1828s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1828s > @given(simple_typed_classes(defaults=False, newtypes=False)) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf180ded8> 1828s 1828s tests/test_baseconverter.py:177: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (nan,), {}) 1828s 1828s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1828s @given(simple_typed_classes(defaults=False, newtypes=False)) 1828s def test_310_optional_field_roundtrip(cl_and_vals): 1828s """ 1828s Classes with optional fields can be unstructured and structured. 1828s """ 1828s converter = BaseConverter() 1828s cl, vals, kwargs = cl_and_vals 1828s 1828s @define 1828s class C: 1828s a: cl | None 1828s 1828s inst = C(a=cl(*vals, **kwargs)) 1828s > assert inst == converter.structure(converter.unstructure(inst), C) 1828s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1828s E ... 1828s E 1828s E ...Full output truncated (5 lines hidden), use '-vv' to show 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_310_optional_field_roundtrip( 1828s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1828s E ) 1828s 1828s C = .C'> 1828s cl = 1828s cl_and_vals = (, (nan,), {}) 1828s converter = 1828s inst = C(a=HypAttrsClass(a=nan)) 1828s kwargs = {} 1828s vals = (nan,) 1828s 1828s tests/test_baseconverter.py:190: AssertionError 1828s _________________________ test_simple_roundtrip_tuple __________________________ 1828s 1828s @given( 1828s > simple_typed_classes(kw_only=False, newtypes=False) 1828s | simple_typed_dataclasses(newtypes=False), 1828s booleans(), 1828s ) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf154b438> 1828s 1828s tests/test_converter.py:54: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, (nan,), {}), dv = False 1828s 1828s @given( 1828s simple_typed_classes(kw_only=False, newtypes=False) 1828s | simple_typed_dataclasses(newtypes=False), 1828s booleans(), 1828s ) 1828s def test_simple_roundtrip_tuple(cls_and_vals, dv: bool): 1828s """ 1828s Simple classes with metadata can be unstructured and restructured. 1828s """ 1828s converter = Converter( 1828s unstruct_strat=UnstructureStrategy.AS_TUPLE, detailed_validation=dv 1828s ) 1828s cl, vals, _ = cls_and_vals 1828s inst = cl(*vals) 1828s unstructured = converter.unstructure(inst) 1828s assert "Hyp" not in repr(unstructured) 1828s > assert inst == converter.structure(unstructured, cl) 1828s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: nan != nan 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_simple_roundtrip_tuple( 1828s E cls_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1828s E dv=False, 1828s E ) 1828s 1828s _ = {} 1828s cl = 1828s cls_and_vals = (, (nan,), {}) 1828s converter = 1828s dv = False 1828s inst = HypAttrsClass(a=nan) 1828s unstructured = (nan,) 1828s vals = (nan,) 1828s 1828s tests/test_converter.py:69: AssertionError 1828s _____________________ test_simple_roundtrip_defaults_tuple _____________________ 1828s 1828s @given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False)) 1828s > def test_simple_roundtrip_defaults_tuple(attr_and_vals): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf154b708> 1828s 1828s tests/test_converter.py:88: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s attr_and_vals = (_CountingAttr(counter=2562, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1828s 1828s @given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False)) 1828s def test_simple_roundtrip_defaults_tuple(attr_and_vals): 1828s """ 1828s Simple classes with metadata can be unstructured and restructured. 1828s """ 1828s a, _ = attr_and_vals 1828s cl = make_class("HypClass", {"a": a}) 1828s converter = Converter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1828s inst = cl() 1828s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 1828s inst 1828s ) 1828s > assert inst == converter.structure(converter.unstructure(inst), cl) 1828s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: nan != nan 1828s E Falsifying example: test_simple_roundtrip_defaults_tuple( 1828s E attr_and_vals=(_CountingAttr(counter=2562, 1828s E _default=struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 1828s E repr=True, 1828s E eq=True, 1828s E order=True, 1828s E hash=None, 1828s E init=True, 1828s E on_setattr=None, 1828s E alias=None, 1828s E metadata={}), 1828s E floats()), 1828s E ) 1828s 1828s _ = floats() 1828s a = _CountingAttr(counter=2562, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 1828s attr_and_vals = (_CountingAttr(counter=2562, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1828s cl = 1828s converter = 1828s inst = HypClass(a=nan) 1828s 1828s tests/test_converter.py:99: AssertionError 1828s _______________ test_simple_roundtrip_with_extra_keys_forbidden ________________ 1828s 1828s @given( 1828s > simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False), 1828s unstructure_strats, 1828s ) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf154bac8> 1828s 1828s tests/test_converter.py:103: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, ('', '', nan), {}) 1828s strat = 1828s 1828s @given( 1828s simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False), 1828s unstructure_strats, 1828s ) 1828s def test_simple_roundtrip_with_extra_keys_forbidden(cls_and_vals, strat): 1828s """ 1828s Simple classes can be unstructured and restructured with forbid_extra_keys=True. 1828s """ 1828s converter = Converter(unstruct_strat=strat, forbid_extra_keys=True) 1828s cl, vals, kwargs = cls_and_vals 1828s assume(strat is UnstructureStrategy.AS_DICT or not kwargs) 1828s inst = cl(*vals, **kwargs) 1828s unstructured = converter.unstructure(inst) 1828s assert "Hyp" not in repr(unstructured) 1828s > assert inst == converter.structure(unstructured, cl) 1828s E AssertionError: assert HypAttrsClass..._b='', _d=nan) == HypAttrsClass..._b='', _d=nan) 1828s E 1828s E Omitting 2 identical items, use -vv to show 1828s E Differing attributes: 1828s E ['_d'] 1828s E 1828s E Drill down into differing attribute _d: 1828s E _d: nan != nan 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_simple_roundtrip_with_extra_keys_forbidden( 1828s E cls_and_vals=(tests.typed.HypAttrsClass, ('', '', nan), {}), 1828s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1828s E ) 1828s 1828s cl = 1828s cls_and_vals = (, ('', '', nan), {}) 1828s converter = 1828s inst = HypAttrsClass(a='', _b='', _d=nan) 1828s kwargs = {} 1828s strat = 1828s unstructured = {'_b': '', '_d': nan, 'a': ''} 1828s vals = ('', '', nan) 1828s 1828s tests/test_converter.py:116: AssertionError 1828s ____________________________ test_nested_roundtrip _____________________________ 1828s 1828s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1828s > def test_nested_roundtrip(cls_and_vals, omit_if_default): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf154bde8> 1828s 1828s tests/test_converter.py:203: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, (frozenset(), [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]), {'c': nan}) 1828s omit_if_default = False 1828s 1828s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1828s def test_nested_roundtrip(cls_and_vals, omit_if_default): 1828s """ 1828s Nested classes with metadata can be unstructured and restructured. 1828s """ 1828s converter = Converter(omit_if_default=omit_if_default) 1828s cl, vals, kwargs = cls_and_vals 1828s # Vals are a tuple, convert into a dictionary. 1828s inst = cl(*vals, **kwargs) 1828s unstructured = converter.unstructure(inst) 1828s > assert inst == converter.structure(unstructured, cl) 1828s E AssertionError: assert HypClass(a=fr...ne)])], c=nan) == HypClass(a=fr...ne)])], c=nan) 1828s E 1828s E Omitting 2 identical items, use -vv to show 1828s E Differing attributes: 1828s E ['c'] 1828s E 1828s E Drill down into differing attribute c: 1828s E c: nan != nan 1828s E Falsifying example: test_nested_roundtrip( 1828s E cls_and_vals=(tests.typed.HypClass, 1828s E (frozenset(), 1828s E [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]), 1828s E {'c': struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0]}), 1828s E omit_if_default=False, 1828s E ) 1828s 1828s cl = 1828s cls_and_vals = (, (frozenset(), [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]), {'c': nan}) 1828s converter = 1828s inst = HypClass(a=frozenset(), _b=[HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])], c=nan) 1828s kwargs = {'c': nan} 1828s omit_if_default = False 1828s unstructured = {'_b': [{'_b': ['', '', ''], 'a': ['', '', ''], 'c': [{'a': None}]}], 'a': frozenset(), 'c': nan} 1828s vals = (frozenset(), [HypClass(a=('', '', ''), _b=('', '', ''), c=[HypClass(a=None)])]) 1828s 1828s tests/test_converter.py:212: AssertionError 1828s _________________________ test_nested_roundtrip_tuple __________________________ 1828s 1828s @given( 1828s > nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 1828s booleans(), 1828s ) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf154bf28> 1828s 1828s tests/test_converter.py:216: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cls_and_vals = (, (('', '', ''), nan, [HypClass(a=None)]), {}) 1828s omit_if_default = False 1828s 1828s @given( 1828s nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 1828s booleans(), 1828s ) 1828s def test_nested_roundtrip_tuple(cls_and_vals, omit_if_default: bool): 1828s """ 1828s Nested classes with metadata can be unstructured and restructured. 1828s """ 1828s converter = Converter( 1828s unstruct_strat=UnstructureStrategy.AS_TUPLE, omit_if_default=omit_if_default 1828s ) 1828s cl, vals, _ = cls_and_vals 1828s # Vals are a tuple, convert into a dictionary. 1828s inst = cl(*vals) 1828s unstructured = converter.unstructure(inst) 1828s > assert inst == converter.structure(unstructured, cl) 1828s E AssertionError: assert HypClass(a=('...lass(a=None)]) == HypClass(a=('...lass(a=None)]) 1828s E 1828s E Omitting 2 identical items, use -vv to show 1828s E Differing attributes: 1828s E ['_b'] 1828s E 1828s E Drill down into differing attribute _b: 1828s E _b: nan != nan 1828s E Falsifying example: test_nested_roundtrip_tuple( 1828s E cls_and_vals=(tests.typed.HypClass, 1828s E (('', '', ''), nan, [HypClass(a=None)]), 1828s E {}), 1828s E omit_if_default=False, 1828s E ) 1828s 1828s _ = {} 1828s cl = 1828s cls_and_vals = (, (('', '', ''), nan, [HypClass(a=None)]), {}) 1828s converter = 1828s inst = HypClass(a=('', '', ''), _b=nan, c=[HypClass(a=None)]) 1828s omit_if_default = False 1828s unstructured = (['', '', ''], nan, [(None,)]) 1828s vals = (('', '', ''), nan, [HypClass(a=None)]) 1828s 1828s tests/test_converter.py:230: AssertionError 1828s __________________________ test_union_field_roundtrip __________________________ 1828s + Exception Group Traceback (most recent call last): 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1828s | result: TResult | None = func() 1828s | ^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1828s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1828s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1828s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1828s | return outcome.get_result() 1828s | ^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1828s | raise exc.with_traceback(exc.__traceback__) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1828s | yield from thread_exception_runtest_hook() 1828s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1828s | yield from unraisable_exception_runtest_hook() 1828s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1828s | yield from self._runtest_for(item, "call") 1828s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1828s | return (yield) 1828s | ^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1828s | return (yield) 1828s | ^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1828s | res = hook_impl.function(*args) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1828s | item.runtest() 1828s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1828s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1828s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1828s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1828s | raise exception.with_traceback(exception.__traceback__) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1828s | res = hook_impl.function(*args) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1828s | result = testfunction(**testargs) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 234, in test_union_field_roundtrip 1828s | @given( 1828s | 1828s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1828s | raise the_error_hypothesis_found 1828s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1828s +-+---------------- 1 ---------------- 1828s | Traceback (most recent call last): 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 274, in test_union_field_roundtrip 1828s | assert inst == converter.structure(unstructured, C) 1828s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 1828s | 1828s | Differing attributes: 1828s | ['a'] 1828s | 1828s | Drill down into differing attribute a: 1828s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 1828s | ... 1828s | 1828s | ...Full output truncated (6 lines hidden), use '-vv' to show 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Falsifying example: test_union_field_roundtrip( 1828s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff4))[0]), 1828s | {}), 1828s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s | strat=UnstructureStrategy.AS_TUPLE, 1828s | ) 1828s +---------------- 2 ---------------- 1828s | Traceback (most recent call last): 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 263, in test_union_field_roundtrip 1828s | assert inst == converter.structure(converter.unstructure(unstructured), C) 1828s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 1828s | 1828s | Differing attributes: 1828s | ['a'] 1828s | 1828s | Drill down into differing attribute a: 1828s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 1828s | ... 1828s | 1828s | ...Full output truncated (6 lines hidden), use '-vv' to show 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Falsifying example: test_union_field_roundtrip( 1828s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffff3))[0]), 1828s | {}), 1828s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s | strat=UnstructureStrategy.AS_DICT, 1828s | ) 1828s +------------------------------------ 1828s ________________________ test_310_union_field_roundtrip ________________________ 1828s + Exception Group Traceback (most recent call last): 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1828s | result: TResult | None = func() 1828s | ^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1828s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1828s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1828s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1828s | return outcome.get_result() 1828s | ^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1828s | raise exc.with_traceback(exc.__traceback__) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1828s | yield from thread_exception_runtest_hook() 1828s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1828s | yield from unraisable_exception_runtest_hook() 1828s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1828s | yield from self._runtest_for(item, "call") 1828s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1828s | yield 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1828s | return (yield) 1828s | ^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1828s | teardown.throw(outcome._exception) 1828s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1828s | return (yield) 1828s | ^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1828s | res = hook_impl.function(*args) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1828s | item.runtest() 1828s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1828s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1828s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1828s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1828s | raise exception.with_traceback(exception.__traceback__) 1828s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1828s | res = hook_impl.function(*args) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1828s | result = testfunction(**testargs) 1828s | ^^^^^^^^^^^^^^^^^^^^^^^^ 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 278, in test_310_union_field_roundtrip 1828s | @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1828s | ^^^ 1828s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1828s | raise the_error_hypothesis_found 1828s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1828s +-+---------------- 1 ---------------- 1828s | Traceback (most recent call last): 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 319, in test_310_union_field_roundtrip 1828s | assert inst == converter.structure(unstructured, C) 1828s | AssertionError: assert C(a=HypAttrsC..., g={}, _h=0)) == C(a=HypAttrsC..., g={}, _h=0)) 1828s | 1828s | Differing attributes: 1828s | ['a'] 1828s | 1828s | Drill down into differing attribute a: 1828s | a: HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) != HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) 1828s | ... 1828s | 1828s | ...Full output truncated (6 lines hidden), use '-vv' to show 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Falsifying example: test_310_union_field_roundtrip( 1828s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s | (0, nan, frozenset(), ('', '', ''), {}, 0), 1828s | {}), 1828s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s | strat=UnstructureStrategy.AS_TUPLE, 1828s | ) 1828s +---------------- 2 ---------------- 1828s | Traceback (most recent call last): 1828s | File "/tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/test_converter.py", line 308, in test_310_union_field_roundtrip 1828s | assert inst == converter.structure(converter.unstructure(unstructured), C) 1828s | AssertionError: assert C(a=HypAttrsC..., g={}, _h=0)) == C(a=HypAttrsC..., g={}, _h=0)) 1828s | 1828s | Differing attributes: 1828s | ['a'] 1828s | 1828s | Drill down into differing attribute a: 1828s | a: HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) != HypAttrsClass(a=0, _b=nan, _d=frozenset(), e=('', '', ''), g={}, _h=0) 1828s | ... 1828s | 1828s | ...Full output truncated (6 lines hidden), use '-vv' to show 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={})} 1828s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s | Falsifying example: test_310_union_field_roundtrip( 1828s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1828s | (0, nan, frozenset(), ('', '', ''), {}, 0), 1828s | {}), 1828s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1828s | strat=UnstructureStrategy.AS_DICT, 1828s | ) 1828s +------------------------------------ 1828s ______________________ test_310_optional_field_roundtrip _______________________ 1828s 1828s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1828s > @given(simple_typed_classes(defaults=False)) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf1807078> 1828s 1828s tests/test_converter.py:344: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (nan,), {}) 1828s 1828s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1828s @given(simple_typed_classes(defaults=False)) 1828s def test_310_optional_field_roundtrip(cl_and_vals): 1828s """ 1828s Classes with optional fields can be unstructured and structured. 1828s """ 1828s converter = Converter() 1828s cl, vals, kwargs = cl_and_vals 1828s 1828s @define 1828s class C: 1828s a: cl | None 1828s 1828s inst = C(a=cl(*vals, **kwargs)) 1828s > assert inst == converter.structure(converter.unstructure(inst), C) 1828s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1828s E ... 1828s E 1828s E ...Full output truncated (5 lines hidden), use '-vv' to show 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_310_optional_field_roundtrip( 1828s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1828s E ) 1828s 1828s C = .C'> 1828s cl = 1828s cl_and_vals = (, (nan,), {}) 1828s converter = 1828s inst = C(a=HypAttrsClass(a=nan)) 1828s kwargs = {} 1828s vals = (nan,) 1828s 1828s tests/test_converter.py:357: AssertionError 1828s _________________________ test_omit_default_roundtrip __________________________ 1828s 1828s @given(simple_typed_classes(defaults=True)) 1828s > def test_omit_default_roundtrip(cl_and_vals): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf1807938> 1828s 1828s tests/test_converter.py:366: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (nan,), {}) 1828s 1828s @given(simple_typed_classes(defaults=True)) 1828s def test_omit_default_roundtrip(cl_and_vals): 1828s """ 1828s Omit default on the converter works. 1828s """ 1828s converter = Converter(omit_if_default=True) 1828s cl, vals, kwargs = cl_and_vals 1828s 1828s @define 1828s class C: 1828s a: int = 1 1828s b: cl = Factory(lambda: cl(*vals, **kwargs)) 1828s 1828s inst = C() 1828s unstructured = converter.unstructure(inst) 1828s > assert unstructured == {} 1828s E AssertionError: assert {'b': {'a': nan}} == {} 1828s E 1828s E Left contains 1 more item: 1828s E {'b': {'a': nan}} 1828s E 1828s E Full diff: 1828s E - {} 1828s E + {... 1828s E 1828s E ...Full output truncated (4 lines hidden), use '-vv' to show 1828s E Class fields: [_CountingAttr(counter=0, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_omit_default_roundtrip( 1828s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1828s E ) 1828s 1828s C = .C'> 1828s cl = 1828s cl_and_vals = (, (nan,), {}) 1828s converter = 1828s inst = C(a=1, b=HypAttrsClass(a=nan)) 1828s kwargs = {} 1828s unstructured = {'b': {'a': nan}} 1828s vals = (nan,) 1828s 1828s tests/test_converter.py:380: AssertionError 1828s ____________________ test_unmodified_generated_structuring _____________________ 1828s 1828s @given( 1828s > cl_and_vals=nested_typed_classes() 1828s | simple_typed_classes() 1828s | simple_typed_dataclasses(), 1828s dv=..., 1828s ) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf15a25c8> 1828s 1828s tests/test_gen_dict.py:166: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (None, None, None, None, None, None, ...), {'r': 0, 's': 0, 't': nan, 'u': 0, ...}) 1828s dv = False 1828s 1828s @given( 1828s cl_and_vals=nested_typed_classes() 1828s | simple_typed_classes() 1828s | simple_typed_dataclasses(), 1828s dv=..., 1828s ) 1828s def test_unmodified_generated_structuring(cl_and_vals, dv: bool): 1828s converter = Converter(detailed_validation=dv) 1828s cl, vals, kwargs = cl_and_vals 1828s fn = make_dict_structure_fn(cl, converter, _cattrs_detailed_validation=dv) 1828s 1828s inst = cl(*vals, **kwargs) 1828s 1828s unstructured = converter.unstructure(inst) 1828s 1828s assert "Hyp" not in repr(unstructured) 1828s 1828s converter.register_structure_hook(cl, fn) 1828s 1828s res = converter.structure(unstructured, cl) 1828s 1828s > assert inst == res 1828s E AssertionError: assert HypClass(a=No..., y={}, _z={}) == HypClass(a=No..., y={}, _z={}) 1828s E 1828s E Omitting 25 identical items, use -vv to show 1828s E Differing attributes: 1828s E ['_t'] 1828s E 1828s E Drill down into differing attribute _t: 1828s E _t: nan != nan 1828s E Falsifying example: test_unmodified_generated_structuring( 1828s E cl_and_vals=(tests.typed.HypClass, 1828s E (None, 1828s E None, 1828s E None, 1828s E None, 1828s E None, 1828s E None, 1828s E 0, 1828s E 0, 1828s E 0, 1828s E ('', '', ''), 1828s E None, 1828s E 0, 1828s E 0, 1828s E {'': 0}, 1828s E [], 1828s E {'': 0}, 1828s E [HypClass(a=[HypClass(a=set(), 1828s E _b=None, 1828s E c='', 1828s E _d=set(), 1828s E e=[], 1828s E _f='', 1828s E g={}, 1828s E _h=set(), 1828s E i=frozenset(), 1828s E _j={})])]), 1828s E {'r': 0, 1828s E 's': 0, 1828s E 't': nan, 1828s E 'u': 0, 1828s E 'v': 0, 1828s E 'w': 0, 1828s E 'x': {}, 1828s E 'y': {}, 1828s E 'z': {}}), 1828s E dv=False, 1828s E ) 1828s 1828s cl = 1828s cl_and_vals = (, (None, None, None, None, None, None, ...), {'r': 0, 's': 0, 't': nan, 'u': 0, ...}) 1828s converter = 1828s dv = False 1828s fn = 1828s inst = HypClass(a=None, _b=None, c=None, _d=None, e=None, _f=None, g=0, _h=0, i=0, _j=('', '', ''), k=None, _l=0, m=0, _n={''..._d=set(), e=[], _f='', g={}, _h=set(), i=frozenset(), _j={})])], _r=0, s=0, _t=nan, u=0, _v=0, w=0, _x={}, y={}, _z={}) 1828s kwargs = {'r': 0, 's': 0, 't': nan, 'u': 0, ...} 1828s res = HypClass(a=None, _b=None, c=None, _d=None, e=None, _f=None, g=0, _h=0, i=0, _j=('', '', ''), k=None, _l=0, m=0, _n={''..._d=set(), e=[], _f='', g={}, _h=set(), i=frozenset(), _j={})])], _r=0, s=0, _t=nan, u=0, _v=0, w=0, _x={}, y={}, _z={}) 1828s unstructured = {'_b': None, '_d': None, '_f': None, '_h': 0, ...} 1828s vals = (None, None, None, None, None, None, ...) 1828s 1828s tests/test_gen_dict.py:186: AssertionError 1828s ________________________________ test_renaming _________________________________ 1828s 1828s @given( 1828s > simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 1828s ) 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf1663208> 1828s 1828s tests/test_gen_dict.py:190: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (nan,), {}) 1828s data = data(...) 1828s 1828s @given( 1828s simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 1828s ) 1828s def test_renaming(cl_and_vals, data): 1828s converter = Converter() 1828s cl, vals, kwargs = cl_and_vals 1828s attrs = fields(cl) 1828s 1828s to_replace = data.draw(sampled_from(attrs)) 1828s 1828s u_fn = make_dict_unstructure_fn( 1828s cl, converter, **{to_replace.name: override(rename="class")} 1828s ) 1828s s_fn = make_dict_structure_fn( 1828s cl, converter, **{to_replace.name: override(rename="class")} 1828s ) 1828s 1828s converter.register_structure_hook(cl, s_fn) 1828s converter.register_unstructure_hook(cl, u_fn) 1828s 1828s inst = cl(*vals, **kwargs) 1828s 1828s raw = converter.unstructure(inst) 1828s 1828s assert "class" in raw 1828s 1828s new_inst = converter.structure(raw, cl) 1828s 1828s > assert inst == new_inst 1828s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1828s E 1828s E Differing attributes: 1828s E ['a'] 1828s E 1828s E Drill down into differing attribute a: 1828s E a: nan != nan 1828s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1828s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1828s E Falsifying example: test_renaming( 1828s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1828s E data=data(...), 1828s E ) 1828s E Draw 1: Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, metadata=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') 1828s 1828s attrs = (Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, has...a=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a'),) 1828s cl = 1828s cl_and_vals = (, (nan,), {}) 1828s converter = 1828s data = data(...) 1828s inst = HypAttrsClass(a=nan) 1828s kwargs = {} 1828s new_inst = HypAttrsClass(a=nan) 1828s raw = {'class': nan} 1828s s_fn = 1828s to_replace = Attribute(name='a', default=NOTHING, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash...ata=mappingproxy({}), type=, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') 1828s u_fn = 1828s vals = (nan,) 1828s 1828s tests/test_gen_dict.py:217: AssertionError 1828s ___________________ test_structure_simple_from_dict_default ____________________ 1828s 1828s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1828s > def test_structure_simple_from_dict_default(cl_and_vals, data): 1828s 1828s f = .run_test_as_given..wrapped_test at 0xf161c988> 1828s 1828s tests/test_structure_attrs.py:31: 1828s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1828s 1828s cl_and_vals = (, (0, 0.0), {}), data = data(...) 1828s 1828s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1828s def test_structure_simple_from_dict_default(cl_and_vals, data): 1828s """Test structuring non-nested attrs classes with default value.""" 1828s converter = BaseConverter() 1828s cl, vals, kwargs = cl_and_vals 1828s obj = cl(*vals, **kwargs) 1828s attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] 1828s to_remove = data.draw( 1828s lists(elements=sampled_from(attrs_with_defaults), unique=True) 1828s ) 1828s 1828s for a in to_remove: 1828s if isinstance(a.default, Factory): 1828s setattr(obj, a.name, a.default.factory()) 1828s else: 1828s setattr(obj, a.name, a.default) 1828s 1828s dumped = asdict(obj) 1828s 1828s for a in to_remove: 1828s del dumped[a.name] 1828s 1828s > assert obj == converter.structure(dumped, cl) 1828s E AssertionError: assert HypClass(a=0, _b=nan) == HypClass(a=0, _b=nan) 1828s E 1828s E Omitting 1 identical items, use -vv to show 1828s E Differing attributes: 1828s E ['_b'] 1828s E 1828s E Drill down into differing attribute _b: 1828s E _b: nan != nan 1828s E Falsifying example: test_structure_simple_from_dict_default( 1828s E cl_and_vals=(tests.untyped.HypClass, (0, 0.0), {}), 1828s E data=data(...), 1828s E ) 1828s E Draw 1: [Attribute(name='_b', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] 1828s 1828s a = Attribute(name='_b', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b') 1828s attrs_with_defaults = [Attribute(name='a', default=0, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=None...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] 1828s cl = 1828s cl_and_vals = (, (0, 0.0), {}) 1828s converter = 1828s data = data(...) 1828s dumped = {'a': 0} 1828s kwargs = {} 1828s obj = HypClass(a=0, _b=nan) 1828s to_remove = [Attribute(name='_b', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=N...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='b')] 1828s vals = (0, 0.0) 1828s 1828s tests/test_structure_attrs.py:52: AssertionError 1828s =============================== warnings summary =============================== 1828s tests/typed.py:417 1828s /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/typed.py:417: HypothesisWarning: Return-type annotation is `st.SearchStrategy[typing.Tuple[attr._make._CountingAttr, st.SearchStrategy]]`, but the decorated function should return a value (not a strategy) 1828s @composite 1828s 1828s tests/typed.py:826 1828s /tmp/autopkgtest.bnd5lq/autopkgtest_tmp/build/tests/typed.py:826: HypothesisWarning: Return-type annotation is `st.SearchStrategy[typing.Tuple[typing.Type, st.SearchStrategy[typing.Tuple[typing.Any]], st.SearchStrategy[typing.Dict[str, typing.Any]]]]`, but the decorated function should return a value (not a strategy) 1828s @composite 1828s 1828s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1828s =========================== short test summary info ============================ 1828s FAILED tests/test_baseconverter.py::test_simple_roundtrip - AssertionError: a... 1828s FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... 1828s FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - AssertionEr... 1828s FAILED tests/test_baseconverter.py::test_union_field_roundtrip - ExceptionGro... 1828s FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... 1828s FAILED tests/test_baseconverter.py::test_optional_field_roundtrip - Assertion... 1828s FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... 1828s FAILED tests/test_converter.py::test_simple_roundtrip_tuple - AssertionError:... 1828s FAILED tests/test_converter.py::test_simple_roundtrip_defaults_tuple - Assert... 1828s FAILED tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden 1828s FAILED tests/test_converter.py::test_nested_roundtrip - AssertionError: asser... 1828s FAILED tests/test_converter.py::test_nested_roundtrip_tuple - AssertionError:... 1828s FAILED tests/test_converter.py::test_union_field_roundtrip - ExceptionGroup: ... 1828s FAILED tests/test_converter.py::test_310_union_field_roundtrip - ExceptionGro... 1828s FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... 1828s FAILED tests/test_converter.py::test_omit_default_roundtrip - AssertionError:... 1828s FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - Assert... 1828s FAILED tests/test_gen_dict.py::test_renaming - AssertionError: assert HypAttr... 1828s FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default 1828s ====== 19 failed, 558 passed, 15 xfailed, 2 warnings in 115.37s (0:01:55) ====== 1828s autopkgtest [21:12:47]: test pybuild-autopkgtest: -----------------------] 1832s autopkgtest [21:12:51]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 1832s pybuild-autopkgtest FAIL non-zero exit status 25 1836s autopkgtest [21:12:55]: @@@@@@@@@@@@@@@@@@@@ summary 1836s pybuild-autopkgtest FAIL non-zero exit status 25