0s autopkgtest [20:40:04]: starting date and time: 2024-11-23 20:40:04+0000 1s autopkgtest [20:40:05]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 1s autopkgtest [20:40:05]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.gcwkicxl/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --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' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-16.secgroup --name adt-plucky-amd64-python-cattrs-20241123-204004-juju-7f2275-prod-proposed-migration-environment-15-75ab057a-4030-442d-b11d-deedb9d779c9 --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-amd64 -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 56s autopkgtest [20:41:00]: testbed dpkg architecture: amd64 56s autopkgtest [20:41:00]: testbed apt version: 2.9.8 56s autopkgtest [20:41:00]: @@@@@@@@@@@@@@@@@@@@ test bed setup 57s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 58s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [54.8 kB] 58s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9704 B] 58s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [13.6 kB] 58s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [930 kB] 58s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [91.3 kB] 58s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [43.4 kB] 58s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [40.1 kB] 58s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/restricted i386 Packages [2408 B] 58s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [295 kB] 58s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [806 kB] 58s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [5528 B] 58s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [20.0 kB] 59s Fetched 2386 kB in 2s (1253 kB/s) 59s Reading package lists... 61s Reading package lists... 61s Building dependency tree... 61s Reading state information... 61s Calculating upgrade... 61s The following package was automatically installed and is no longer required: 61s libsgutils2-1.46-2 61s Use 'sudo apt autoremove' to remove it. 61s The following NEW packages will be installed: 61s libsgutils2-1.48 61s The following packages will be upgraded: 61s amd64-microcode bash bpftrace curl debconf debconf-i18n distro-info 61s fwupd-signed gir1.2-girepository-2.0 gir1.2-glib-2.0 hostname 61s intel-microcode libaudit-common libaudit1 libcurl3t64-gnutls libcurl4t64 61s libgirepository-1.0-1 libglib2.0-0t64 libglib2.0-data libpam-modules 61s libpam-modules-bin libpam-runtime libpam0g libplymouth5 libpython3-stdlib 61s libselinux1 libsemanage-common libsemanage2 linux-base lxd-installer 61s openssh-client openssh-server openssh-sftp-server plymouth 61s plymouth-theme-ubuntu-text python3 python3-attr python3-blinker python3-dbus 61s python3-debconf python3-gi python3-jsonschema-specifications python3-minimal 61s python3-rpds-py python3-yaml sg3-utils sg3-utils-udev vim-common vim-tiny 61s xxd 61s 50 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 61s Need to get 19.9 MB of archives. 61s After this operation, 4451 kB of additional disk space will be used. 61s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 bash amd64 5.2.32-1ubuntu2 [918 kB] 62s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 hostname amd64 3.25 [11.1 kB] 62s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 libaudit-common all 1:4.0.2-2ubuntu1 [6578 B] 62s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 libaudit1 amd64 1:4.0.2-2ubuntu1 [53.9 kB] 62s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 debconf-i18n all 1.5.87ubuntu1 [204 kB] 62s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 62s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 62s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 62s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-debconf all 1.5.87ubuntu1 [4156 B] 62s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 debconf all 1.5.87ubuntu1 [124 kB] 62s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libpam0g amd64 1.5.3-7ubuntu4 [69.6 kB] 62s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libselinux1 amd64 3.7-3ubuntu1 [86.9 kB] 62s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 libpam-modules-bin amd64 1.5.3-7ubuntu4 [53.7 kB] 62s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 libpam-modules amd64 1.5.3-7ubuntu4 [294 kB] 62s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 openssh-sftp-server amd64 1:9.9p1-3ubuntu2 [41.2 kB] 62s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 openssh-server amd64 1:9.9p1-3ubuntu2 [625 kB] 62s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 openssh-client amd64 1:9.9p1-3ubuntu2 [1080 kB] 62s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 libpam-runtime all 1.5.3-7ubuntu4 [40.8 kB] 62s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 libsemanage-common all 3.7-2build1 [7186 B] 62s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 libsemanage2 amd64 3.7-2build1 [105 kB] 62s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 distro-info amd64 1.12 [20.0 kB] 62s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 gir1.2-girepository-2.0 amd64 1.82.0-2 [25.3 kB] 62s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 gir1.2-glib-2.0 amd64 2.82.2-3 [182 kB] 62s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 libglib2.0-0t64 amd64 2.82.2-3 [1655 kB] 62s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 libgirepository-1.0-1 amd64 1.82.0-2 [88.7 kB] 62s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 libglib2.0-data all 2.82.2-3 [51.7 kB] 62s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dbus amd64 1.3.2-5build4 [110 kB] 62s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-gi amd64 3.50.0-3build1 [293 kB] 62s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-yaml amd64 6.0.2-1build1 [187 kB] 62s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 vim-tiny amd64 2:9.1.0861-1ubuntu1 [1037 kB] 62s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 vim-common all 2:9.1.0861-1ubuntu1 [395 kB] 62s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 xxd amd64 2:9.1.0861-1ubuntu1 [67.8 kB] 62s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 libplymouth5 amd64 24.004.60-2ubuntu3 [145 kB] 62s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 plymouth-theme-ubuntu-text amd64 24.004.60-2ubuntu3 [10.3 kB] 62s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 plymouth amd64 24.004.60-2ubuntu3 [140 kB] 62s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 bpftrace amd64 0.21.2-2ubuntu3 [1787 kB] 62s Get:37 http://ftpmaster.internal/ubuntu plucky/main amd64 curl amd64 8.9.1-2ubuntu3 [243 kB] 62s Get:38 http://ftpmaster.internal/ubuntu plucky/main amd64 libcurl4t64 amd64 8.9.1-2ubuntu3 [420 kB] 62s Get:39 http://ftpmaster.internal/ubuntu plucky/main amd64 fwupd-signed amd64 1.55+1.7-1 [30.6 kB] 62s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 libcurl3t64-gnutls amd64 8.9.1-2ubuntu3 [412 kB] 62s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 libsgutils2-1.48 amd64 1.48-0ubuntu1 [124 kB] 62s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 linux-base all 4.10.1ubuntu1 [34.8 kB] 62s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 lxd-installer all 10 [5264 B] 62s Get:44 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-attr all 24.2.0-1 [50.2 kB] 62s Get:45 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-blinker all 1.9.0-1 [10.7 kB] 62s Get:46 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-rpds-py amd64 0.21.0-2ubuntu1 [323 kB] 63s Get:47 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-jsonschema-specifications all 2023.12.1-2 [9116 B] 63s Get:48 http://ftpmaster.internal/ubuntu plucky/main amd64 sg3-utils amd64 1.48-0ubuntu1 [1042 kB] 63s Get:49 http://ftpmaster.internal/ubuntu plucky/main amd64 sg3-utils-udev all 1.48-0ubuntu1 [6608 B] 63s Get:50 http://ftpmaster.internal/ubuntu plucky/main amd64 amd64-microcode amd64 3.20240820.1ubuntu1 [187 kB] 63s Get:51 http://ftpmaster.internal/ubuntu plucky/main amd64 intel-microcode amd64 3.20241112.1ubuntu2 [7055 kB] 63s Preconfiguring packages ... 63s Fetched 19.9 MB in 1s (13.5 MB/s) 63s (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 ... 75620 files and directories currently installed.) 63s Preparing to unpack .../bash_5.2.32-1ubuntu2_amd64.deb ... 63s Unpacking bash (5.2.32-1ubuntu2) over (5.2.32-1ubuntu1) ... 63s Setting up bash (5.2.32-1ubuntu2) ... 63s 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 63s (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 ... 75620 files and directories currently installed.) 63s Preparing to unpack .../hostname_3.25_amd64.deb ... 63s Unpacking hostname (3.25) over (3.23+nmu2ubuntu2) ... 63s Setting up hostname (3.25) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../libaudit-common_1%3a4.0.2-2ubuntu1_all.deb ... 64s Unpacking libaudit-common (1:4.0.2-2ubuntu1) over (1:4.0.1-1ubuntu2) ... 64s Setting up libaudit-common (1:4.0.2-2ubuntu1) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../libaudit1_1%3a4.0.2-2ubuntu1_amd64.deb ... 64s Unpacking libaudit1:amd64 (1:4.0.2-2ubuntu1) over (1:4.0.1-1ubuntu2) ... 64s Setting up libaudit1:amd64 (1:4.0.2-2ubuntu1) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../debconf-i18n_1.5.87ubuntu1_all.deb ... 64s Unpacking debconf-i18n (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 64s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 64s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 64s Setting up python3-minimal (3.12.7-1) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 64s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 64s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 64s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 64s Preparing to unpack .../python3-debconf_1.5.87ubuntu1_all.deb ... 64s Unpacking python3-debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 64s Preparing to unpack .../debconf_1.5.87ubuntu1_all.deb ... 64s Unpacking debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 64s Setting up debconf (1.5.87ubuntu1) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../libpam0g_1.5.3-7ubuntu4_amd64.deb ... 64s Unpacking libpam0g:amd64 (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 64s Setting up libpam0g:amd64 (1.5.3-7ubuntu4) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../libselinux1_3.7-3ubuntu1_amd64.deb ... 64s Unpacking libselinux1:amd64 (3.7-3ubuntu1) over (3.5-2ubuntu5) ... 64s Setting up libselinux1:amd64 (3.7-3ubuntu1) ... 64s (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 ... 75620 files and directories currently installed.) 64s Preparing to unpack .../libpam-modules-bin_1.5.3-7ubuntu4_amd64.deb ... 65s Unpacking libpam-modules-bin (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 65s Setting up libpam-modules-bin (1.5.3-7ubuntu4) ... 65s pam_namespace.service is a disabled or a static unit not running, not starting it. 65s (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 ... 75620 files and directories currently installed.) 65s Preparing to unpack .../libpam-modules_1.5.3-7ubuntu4_amd64.deb ... 65s Unpacking libpam-modules:amd64 (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 65s Setting up libpam-modules:amd64 (1.5.3-7ubuntu4) ... 65s (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 ... 75620 files and directories currently installed.) 65s Preparing to unpack .../openssh-sftp-server_1%3a9.9p1-3ubuntu2_amd64.deb ... 65s Unpacking openssh-sftp-server (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 65s Preparing to unpack .../openssh-server_1%3a9.9p1-3ubuntu2_amd64.deb ... 65s Unpacking openssh-server (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 65s Preparing to unpack .../openssh-client_1%3a9.9p1-3ubuntu2_amd64.deb ... 65s Unpacking openssh-client (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 65s Preparing to unpack .../libpam-runtime_1.5.3-7ubuntu4_all.deb ... 65s Unpacking libpam-runtime (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 65s Setting up libpam-runtime (1.5.3-7ubuntu4) ... 65s (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 ... 75622 files and directories currently installed.) 65s Preparing to unpack .../libsemanage-common_3.7-2build1_all.deb ... 65s Unpacking libsemanage-common (3.7-2build1) over (3.5-1build6) ... 65s Setting up libsemanage-common (3.7-2build1) ... 66s (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 ... 75621 files and directories currently installed.) 66s Preparing to unpack .../libsemanage2_3.7-2build1_amd64.deb ... 66s Unpacking libsemanage2:amd64 (3.7-2build1) over (3.5-1build6) ... 66s Setting up libsemanage2:amd64 (3.7-2build1) ... 66s (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 ... 75621 files and directories currently installed.) 66s Preparing to unpack .../00-distro-info_1.12_amd64.deb ... 66s Unpacking distro-info (1.12) over (1.9) ... 66s Preparing to unpack .../01-gir1.2-girepository-2.0_1.82.0-2_amd64.deb ... 66s Unpacking gir1.2-girepository-2.0:amd64 (1.82.0-2) over (1.80.1-4) ... 66s Preparing to unpack .../02-gir1.2-glib-2.0_2.82.2-3_amd64.deb ... 66s Unpacking gir1.2-glib-2.0:amd64 (2.82.2-3) over (2.82.1-0ubuntu1) ... 66s Preparing to unpack .../03-libglib2.0-0t64_2.82.2-3_amd64.deb ... 66s Unpacking libglib2.0-0t64:amd64 (2.82.2-3) over (2.82.1-0ubuntu1) ... 66s Preparing to unpack .../04-libgirepository-1.0-1_1.82.0-2_amd64.deb ... 66s Unpacking libgirepository-1.0-1:amd64 (1.82.0-2) over (1.80.1-4) ... 66s Preparing to unpack .../05-libglib2.0-data_2.82.2-3_all.deb ... 66s Unpacking libglib2.0-data (2.82.2-3) over (2.82.1-0ubuntu1) ... 66s Preparing to unpack .../06-python3-dbus_1.3.2-5build4_amd64.deb ... 66s Unpacking python3-dbus (1.3.2-5build4) over (1.3.2-5build3) ... 66s Preparing to unpack .../07-python3-gi_3.50.0-3build1_amd64.deb ... 66s Unpacking python3-gi (3.50.0-3build1) over (3.50.0-3) ... 66s Preparing to unpack .../08-python3-yaml_6.0.2-1build1_amd64.deb ... 66s Unpacking python3-yaml (6.0.2-1build1) over (6.0.2-1) ... 66s Preparing to unpack .../09-vim-tiny_2%3a9.1.0861-1ubuntu1_amd64.deb ... 66s Unpacking vim-tiny (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 66s Preparing to unpack .../10-vim-common_2%3a9.1.0861-1ubuntu1_all.deb ... 66s Unpacking vim-common (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 66s Preparing to unpack .../11-xxd_2%3a9.1.0861-1ubuntu1_amd64.deb ... 66s Unpacking xxd (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 66s Preparing to unpack .../12-libplymouth5_24.004.60-2ubuntu3_amd64.deb ... 66s Unpacking libplymouth5:amd64 (24.004.60-2ubuntu3) over (24.004.60-1ubuntu11) ... 66s Preparing to unpack .../13-plymouth-theme-ubuntu-text_24.004.60-2ubuntu3_amd64.deb ... 66s Unpacking plymouth-theme-ubuntu-text (24.004.60-2ubuntu3) over (24.004.60-1ubuntu11) ... 66s Preparing to unpack .../14-plymouth_24.004.60-2ubuntu3_amd64.deb ... 66s Unpacking plymouth (24.004.60-2ubuntu3) over (24.004.60-1ubuntu11) ... 66s Preparing to unpack .../15-bpftrace_0.21.2-2ubuntu3_amd64.deb ... 66s Unpacking bpftrace (0.21.2-2ubuntu3) over (0.21.2-2ubuntu2) ... 66s Preparing to unpack .../16-curl_8.9.1-2ubuntu3_amd64.deb ... 66s Unpacking curl (8.9.1-2ubuntu3) over (8.9.1-2ubuntu2) ... 66s Preparing to unpack .../17-libcurl4t64_8.9.1-2ubuntu3_amd64.deb ... 66s Unpacking libcurl4t64:amd64 (8.9.1-2ubuntu3) over (8.9.1-2ubuntu2) ... 66s Preparing to unpack .../18-fwupd-signed_1.55+1.7-1_amd64.deb ... 66s Unpacking fwupd-signed (1.55+1.7-1) over (1.54+1.6-1build1) ... 66s Preparing to unpack .../19-libcurl3t64-gnutls_8.9.1-2ubuntu3_amd64.deb ... 66s Unpacking libcurl3t64-gnutls:amd64 (8.9.1-2ubuntu3) over (8.9.1-2ubuntu2) ... 66s Selecting previously unselected package libsgutils2-1.48:amd64. 66s Preparing to unpack .../20-libsgutils2-1.48_1.48-0ubuntu1_amd64.deb ... 66s Unpacking libsgutils2-1.48:amd64 (1.48-0ubuntu1) ... 66s Preparing to unpack .../21-linux-base_4.10.1ubuntu1_all.deb ... 66s Unpacking linux-base (4.10.1ubuntu1) over (4.5ubuntu9) ... 66s Preparing to unpack .../22-lxd-installer_10_all.deb ... 66s Unpacking lxd-installer (10) over (9) ... 66s Preparing to unpack .../23-python3-attr_24.2.0-1_all.deb ... 67s Unpacking python3-attr (24.2.0-1) over (23.2.0-2) ... 67s Preparing to unpack .../24-python3-blinker_1.9.0-1_all.deb ... 67s Unpacking python3-blinker (1.9.0-1) over (1.8.2-1) ... 67s Preparing to unpack .../25-python3-rpds-py_0.21.0-2ubuntu1_amd64.deb ... 67s Unpacking python3-rpds-py (0.21.0-2ubuntu1) over (0.20.0-0ubuntu3) ... 67s Preparing to unpack .../26-python3-jsonschema-specifications_2023.12.1-2_all.deb ... 67s Unpacking python3-jsonschema-specifications (2023.12.1-2) over (2023.12.1-1ubuntu1) ... 67s Preparing to unpack .../27-sg3-utils_1.48-0ubuntu1_amd64.deb ... 67s Unpacking sg3-utils (1.48-0ubuntu1) over (1.46-3ubuntu5) ... 67s Preparing to unpack .../28-sg3-utils-udev_1.48-0ubuntu1_all.deb ... 67s Unpacking sg3-utils-udev (1.48-0ubuntu1) over (1.46-3ubuntu5) ... 67s Preparing to unpack .../29-amd64-microcode_3.20240820.1ubuntu1_amd64.deb ... 67s Unpacking amd64-microcode (3.20240820.1ubuntu1) over (3.20240116.2+nmu1ubuntu1.1) ... 67s Preparing to unpack .../30-intel-microcode_3.20241112.1ubuntu2_amd64.deb ... 67s Unpacking intel-microcode (3.20241112.1ubuntu2) over (3.20240910.0ubuntu1) ... 67s Setting up distro-info (1.12) ... 67s Setting up linux-base (4.10.1ubuntu1) ... 67s Setting up libcurl4t64:amd64 (8.9.1-2ubuntu3) ... 67s Setting up bpftrace (0.21.2-2ubuntu3) ... 67s Setting up openssh-client (1:9.9p1-3ubuntu2) ... 67s Setting up intel-microcode (3.20241112.1ubuntu2) ... 67s intel-microcode: microcode will be updated at next boot 67s Setting up libcurl3t64-gnutls:amd64 (8.9.1-2ubuntu3) ... 67s Setting up fwupd-signed (1.55+1.7-1) ... 67s Setting up libsgutils2-1.48:amd64 (1.48-0ubuntu1) ... 67s Setting up debconf-i18n (1.5.87ubuntu1) ... 67s Setting up amd64-microcode (3.20240820.1ubuntu1) ... 67s amd64-microcode: microcode will be updated at next boot 67s Setting up xxd (2:9.1.0861-1ubuntu1) ... 67s Setting up libglib2.0-0t64:amd64 (2.82.2-3) ... 67s No schema files found: doing nothing. 67s Setting up libglib2.0-data (2.82.2-3) ... 67s Setting up vim-common (2:9.1.0861-1ubuntu1) ... 67s Setting up gir1.2-glib-2.0:amd64 (2.82.2-3) ... 67s Setting up lxd-installer (10) ... 68s Setting up libplymouth5:amd64 (24.004.60-2ubuntu3) ... 68s Setting up libgirepository-1.0-1:amd64 (1.82.0-2) ... 68s Setting up curl (8.9.1-2ubuntu3) ... 68s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 68s Setting up sg3-utils (1.48-0ubuntu1) ... 68s Setting up openssh-sftp-server (1:9.9p1-3ubuntu2) ... 68s Setting up openssh-server (1:9.9p1-3ubuntu2) ... 68s Installing new version of config file /etc/ssh/moduli ... 68s Replacing config file /etc/ssh/sshd_config with new version 69s Setting up plymouth (24.004.60-2ubuntu3) ... 69s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 69s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 76s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 76s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 76s Setting up python3 (3.12.7-1) ... 77s Setting up vim-tiny (2:9.1.0861-1ubuntu1) ... 77s Setting up sg3-utils-udev (1.48-0ubuntu1) ... 77s update-initramfs: deferring update (trigger activated) 77s Setting up plymouth-theme-ubuntu-text (24.004.60-2ubuntu3) ... 77s update-initramfs: deferring update (trigger activated) 77s Setting up gir1.2-girepository-2.0:amd64 (1.82.0-2) ... 77s Setting up python3-gi (3.50.0-3build1) ... 77s Setting up python3-rpds-py (0.21.0-2ubuntu1) ... 77s Setting up python3-jsonschema-specifications (2023.12.1-2) ... 77s Setting up python3-blinker (1.9.0-1) ... 77s Setting up python3-attr (24.2.0-1) ... 77s Setting up python3-dbus (1.3.2-5build4) ... 77s Setting up python3-debconf (1.5.87ubuntu1) ... 77s Setting up python3-yaml (6.0.2-1build1) ... 78s Processing triggers for man-db (2.13.0-1) ... 79s Processing triggers for debianutils (5.21) ... 79s Processing triggers for install-info (7.1.1-1) ... 79s Processing triggers for initramfs-tools (0.142ubuntu35) ... 79s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 79s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 86s Processing triggers for libc-bin (2.40-1ubuntu3) ... 86s Processing triggers for ufw (0.36.2-8) ... 86s Reading package lists... 86s Building dependency tree... 86s Reading state information... 86s The following packages will be REMOVED: 86s libsgutils2-1.46-2* 87s 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. 87s After this operation, 294 kB disk space will be freed. 87s (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 ... 75656 files and directories currently installed.) 87s Removing libsgutils2-1.46-2:amd64 (1.46-3ubuntu5) ... 87s Processing triggers for libc-bin (2.40-1ubuntu3) ... 87s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 87s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [213 kB] 88s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 88s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 88s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [53.2 kB] 88s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [925 kB] 88s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [89.4 kB] 88s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [41.5 kB] 88s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [800 kB] 88s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [290 kB] 88s Get:11 http://ftpmaster.internal/ubuntu plucky/universe Sources [20.7 MB] 89s Get:12 http://ftpmaster.internal/ubuntu plucky/main Sources [1375 kB] 89s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 Packages [1437 kB] 89s Get:14 http://ftpmaster.internal/ubuntu plucky/main i386 Packages [1075 kB] 89s Get:15 http://ftpmaster.internal/ubuntu plucky/universe amd64 Packages [15.4 MB] 90s Get:16 http://ftpmaster.internal/ubuntu plucky/universe i386 Packages [8647 kB] 92s Fetched 51.1 MB in 5s (11.0 MB/s) 93s Reading package lists... 93s Reading package lists... 93s Building dependency tree... 93s Reading state information... 93s Calculating upgrade... 93s The following packages will be upgraded: 93s dracut-install pinentry-curses 93s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 93s Need to get 77.5 kB of archives. 93s After this operation, 13.3 kB of additional disk space will be used. 93s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 dracut-install amd64 105-2ubuntu2 [35.9 kB] 93s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 pinentry-curses amd64 1.3.1-0ubuntu2 [41.6 kB] 94s Fetched 77.5 kB in 0s (283 kB/s) 94s (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 ... 75651 files and directories currently installed.) 94s Preparing to unpack .../dracut-install_105-2ubuntu2_amd64.deb ... 94s Unpacking dracut-install (105-2ubuntu2) over (105-1ubuntu1) ... 94s Preparing to unpack .../pinentry-curses_1.3.1-0ubuntu2_amd64.deb ... 94s Unpacking pinentry-curses (1.3.1-0ubuntu2) over (1.2.1-3ubuntu5) ... 94s Setting up pinentry-curses (1.3.1-0ubuntu2) ... 94s Setting up dracut-install (105-2ubuntu2) ... 94s Processing triggers for man-db (2.13.0-1) ... 94s Reading package lists... 94s Building dependency tree... 94s Reading state information... 95s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 95s autopkgtest [20:41:39]: rebooting testbed after setup commands that affected boot 99s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 113s autopkgtest [20:41:57]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 13:41:20 UTC 2024 116s autopkgtest [20:42:00]: @@@@@@@@@@@@@@@@@@@@ apt-source python-cattrs 119s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (dsc) [2250 B] 119s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (tar) [566 kB] 119s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (diff) [2856 B] 119s gpgv: Signature made Sat Mar 9 07:28:42 2024 UTC 119s gpgv: using RSA key B9FAD3192AF3E4A5309D9D39879F3C993801A94F 119s gpgv: Can't check signature: No public key 119s dpkg-source: warning: cannot verify inline signature for ./python-cattrs_23.2.3-1.dsc: no acceptable signature found 119s autopkgtest [20:42:03]: testing package python-cattrs version 23.2.3-1 120s autopkgtest [20:42:04]: build not needed 120s autopkgtest [20:42:04]: test pybuild-autopkgtest: preparing testbed 127s Reading package lists... 128s Building dependency tree... 128s Reading state information... 128s Starting pkgProblemResolver with broken count: 0 128s Starting 2 pkgProblemResolver with broken count: 0 128s Done 128s The following additional packages will be installed: 128s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 128s cpp-14-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 128s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 128s g++-14-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-14 128s gcc-14-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 128s libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 128s libdouble-conversion3 libfile-stripnondeterminism-perl libgcc-14-dev 128s libgomp1 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 libpython3.13-minimal 128s libpython3.13-stdlib libquadmath0 libstdc++-14-dev libtool libtsan2 128s libubsan1 m4 po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject 128s python3-all python3-bson python3-build python3-cattr python3-cpuinfo 128s python3-dateutil python3-hatch-vcs python3-hatchling python3-hypothesis 128s python3-iniconfig python3-installer python3-msgpack python3-packaging 128s python3-pathspec python3-pluggy python3-pyproject-hooks python3-pytest 128s python3-pytest-benchmark python3-setuptools-scm python3-sortedcontainers 128s python3-toml python3-tomlkit python3-trove-classifiers python3-ujson 128s python3-wheel python3.13 python3.13-minimal 128s Suggested packages: 128s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-14-locales 128s cpp-14-doc dh-make flit g++-multilib g++-14-multilib gcc-14-doc gcc-multilib 128s manpages-dev flex bison gdb gcc-doc gcc-14-multilib gdb-x86-64-linux-gnu 128s gettext-doc libasprintf-dev libgettextpo-dev libstdc++-14-doc libtool-doc 128s gfortran | fortran95-compiler gcj-jdk m4-doc libmail-box-perl python3-pip 128s python3-venv python-build-doc python-hypothesis-doc python-installer-doc 128s python-sortedcontainers-doc python3.13-venv python3.13-doc binfmt-support 128s Recommended packages: 128s libarchive-cpio-perl libltdl-dev libmail-sendmail-perl python3-bson-ext 128s python3-click python3-elasticsearch python3-freezegun python3-pygal 128s The following NEW packages will be installed: 128s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 128s cpp cpp-14 cpp-14-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 128s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 128s g++-14-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-14 128s gcc-14-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 128s libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 128s libdouble-conversion3 libfile-stripnondeterminism-perl libgcc-14-dev 128s libgomp1 libhwasan0 libisl23 libitm1 liblsan0 libmpc3 libpython3.13-minimal 128s libpython3.13-stdlib libquadmath0 libstdc++-14-dev libtool libtsan2 128s libubsan1 m4 po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject 128s python3-all python3-bson python3-build python3-cattr python3-cpuinfo 128s python3-dateutil python3-hatch-vcs python3-hatchling python3-hypothesis 128s python3-iniconfig python3-installer python3-msgpack python3-packaging 128s python3-pathspec python3-pluggy python3-pyproject-hooks python3-pytest 128s python3-pytest-benchmark python3-setuptools-scm python3-sortedcontainers 128s python3-toml python3-tomlkit python3-trove-classifiers python3-ujson 128s python3-wheel python3.13 python3.13-minimal 128s 0 upgraded, 77 newly installed, 0 to remove and 0 not upgraded. 128s Need to get 77.3 MB/77.3 MB of archives. 128s After this operation, 265 MB of additional disk space will be used. 128s Get:1 /tmp/autopkgtest.71Fhmo/1-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [832 B] 128s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 libpython3.13-minimal amd64 3.13.0-2 [879 kB] 129s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-minimal amd64 3.13.0-2 [2188 kB] 129s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 m4 amd64 1.4.19-4build1 [244 kB] 129s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 autoconf all 2.72-3 [382 kB] 129s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 autotools-dev all 20220109.1 [44.9 kB] 129s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 129s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 autopoint all 0.22.5-2 [616 kB] 129s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 libisl23 amd64 0.27-1 [685 kB] 129s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 libmpc3 amd64 1.3.1-1build2 [55.3 kB] 129s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp-14-x86-64-linux-gnu amd64 14.2.0-8ubuntu1 [11.9 MB] 129s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp-14 amd64 14.2.0-8ubuntu1 [1030 B] 129s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp-x86-64-linux-gnu amd64 4:14.1.0-2ubuntu1 [5452 B] 129s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp amd64 4:14.1.0-2ubuntu1 [22.4 kB] 129s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 libcc1-0 amd64 14.2.0-8ubuntu1 [47.6 kB] 129s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 libgomp1 amd64 14.2.0-8ubuntu1 [148 kB] 129s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libitm1 amd64 14.2.0-8ubuntu1 [29.1 kB] 129s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 libasan8 amd64 14.2.0-8ubuntu1 [2998 kB] 129s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 liblsan0 amd64 14.2.0-8ubuntu1 [1317 kB] 129s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 libtsan2 amd64 14.2.0-8ubuntu1 [2732 kB] 130s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 libubsan1 amd64 14.2.0-8ubuntu1 [1177 kB] 130s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 libhwasan0 amd64 14.2.0-8ubuntu1 [1634 kB] 130s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 libquadmath0 amd64 14.2.0-8ubuntu1 [153 kB] 130s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 libgcc-14-dev amd64 14.2.0-8ubuntu1 [2814 kB] 130s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc-14-x86-64-linux-gnu amd64 14.2.0-8ubuntu1 [23.3 MB] 130s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc-14 amd64 14.2.0-8ubuntu1 [528 kB] 130s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc-x86-64-linux-gnu amd64 4:14.1.0-2ubuntu1 [1214 B] 130s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc amd64 4:14.1.0-2ubuntu1 [5000 B] 130s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 libstdc++-14-dev amd64 14.2.0-8ubuntu1 [2504 kB] 130s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 g++-14-x86-64-linux-gnu amd64 14.2.0-8ubuntu1 [13.3 MB] 131s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 g++-14 amd64 14.2.0-8ubuntu1 [19.9 kB] 131s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 g++-x86-64-linux-gnu amd64 4:14.1.0-2ubuntu1 [966 B] 131s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 g++ amd64 4:14.1.0-2ubuntu1 [1100 B] 131s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 build-essential amd64 12.10ubuntu1 [4928 B] 131s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 131s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 libtool all 2.4.7-8 [166 kB] 131s Get:37 http://ftpmaster.internal/ubuntu plucky/main amd64 dh-autoreconf all 20 [16.1 kB] 131s Get:38 http://ftpmaster.internal/ubuntu plucky/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 131s Get:39 http://ftpmaster.internal/ubuntu plucky/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 131s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 dh-strip-nondeterminism all 1.14.0-1 [5058 B] 131s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 debugedit amd64 1:5.1-1 [46.9 kB] 131s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 dwz amd64 0.15-1build6 [115 kB] 131s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 gettext amd64 0.22.5-2 [948 kB] 131s Get:44 http://ftpmaster.internal/ubuntu plucky/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 131s Get:45 http://ftpmaster.internal/ubuntu plucky/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 131s Get:46 http://ftpmaster.internal/ubuntu plucky/main amd64 debhelper all 13.20ubuntu1 [893 kB] 131s Get:47 http://ftpmaster.internal/ubuntu plucky/universe amd64 dh-python all 6.20241024 [112 kB] 131s Get:48 http://ftpmaster.internal/ubuntu plucky/universe amd64 libdouble-conversion3 amd64 3.3.0-1build1 [40.3 kB] 131s Get:49 http://ftpmaster.internal/ubuntu plucky/main amd64 libpython3.13-stdlib amd64 3.13.0-2 [2107 kB] 131s Get:50 http://ftpmaster.internal/ubuntu plucky/universe amd64 pybuild-plugin-autopkgtest all 6.20241024 [1746 B] 131s Get:51 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-packaging all 24.2-1 [51.5 kB] 131s Get:52 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 131s Get:53 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-toml all 0.10.2-1 [16.5 kB] 131s Get:54 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-wheel all 0.45.0-1 [57.7 kB] 131s Get:55 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-build all 1.2.2-1 [31.0 kB] 131s Get:56 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 131s Get:57 http://ftpmaster.internal/ubuntu plucky/universe amd64 pybuild-plugin-pyproject all 6.20241024 [1728 B] 131s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13 amd64 3.13.0-2 [719 kB] 131s Get:59 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-all amd64 3.12.7-1 [890 B] 131s Get:60 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-bson all 4.7.3-2ubuntu2 [41.2 kB] 131s Get:61 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cattr all 23.2.3-1 [38.1 kB] 131s Get:62 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-cpuinfo all 9.0.0+git20221119-2 [21.6 kB] 131s Get:63 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-dateutil all 2.9.0-3 [80.2 kB] 131s Get:64 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pathspec all 0.12.1-1 [24.5 kB] 131s Get:65 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 131s Get:66 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-trove-classifiers all 2024.9.12-1 [10.8 kB] 131s Get:67 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-hatchling all 1.26.3-1 [47.1 kB] 131s Get:68 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-setuptools-scm all 8.1.0-1 [32.2 kB] 131s Get:69 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-hatch-vcs all 0.4.0-1 [7904 B] 131s Get:70 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-sortedcontainers all 2.4.0-2 [27.6 kB] 131s Get:71 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-hypothesis all 6.119.3-1 [329 kB] 131s Get:72 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 131s Get:73 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-msgpack amd64 1.0.3-3build3 [113 kB] 131s Get:74 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest all 8.3.3-1 [251 kB] 131s Get:75 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest-benchmark all 5.1.0-1 [38.8 kB] 131s Get:76 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-tomlkit all 0.13.2-1 [37.6 kB] 131s Get:77 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-ujson amd64 5.10.0-1build1 [27.0 kB] 131s Fetched 77.3 MB in 3s (27.0 MB/s) 131s Selecting previously unselected package libpython3.13-minimal:amd64. 132s (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 ... 75651 files and directories currently installed.) 132s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_amd64.deb ... 132s Unpacking libpython3.13-minimal:amd64 (3.13.0-2) ... 132s Selecting previously unselected package python3.13-minimal. 132s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_amd64.deb ... 132s Unpacking python3.13-minimal (3.13.0-2) ... 132s Selecting previously unselected package m4. 132s Preparing to unpack .../02-m4_1.4.19-4build1_amd64.deb ... 132s Unpacking m4 (1.4.19-4build1) ... 132s Selecting previously unselected package autoconf. 132s Preparing to unpack .../03-autoconf_2.72-3_all.deb ... 132s Unpacking autoconf (2.72-3) ... 132s Selecting previously unselected package autotools-dev. 132s Preparing to unpack .../04-autotools-dev_20220109.1_all.deb ... 132s Unpacking autotools-dev (20220109.1) ... 132s Selecting previously unselected package automake. 132s Preparing to unpack .../05-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 132s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 132s Selecting previously unselected package autopoint. 132s Preparing to unpack .../06-autopoint_0.22.5-2_all.deb ... 132s Unpacking autopoint (0.22.5-2) ... 132s Selecting previously unselected package libisl23:amd64. 132s Preparing to unpack .../07-libisl23_0.27-1_amd64.deb ... 132s Unpacking libisl23:amd64 (0.27-1) ... 132s Selecting previously unselected package libmpc3:amd64. 132s Preparing to unpack .../08-libmpc3_1.3.1-1build2_amd64.deb ... 132s Unpacking libmpc3:amd64 (1.3.1-1build2) ... 132s Selecting previously unselected package cpp-14-x86-64-linux-gnu. 132s Preparing to unpack .../09-cpp-14-x86-64-linux-gnu_14.2.0-8ubuntu1_amd64.deb ... 132s Unpacking cpp-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 132s Selecting previously unselected package cpp-14. 132s Preparing to unpack .../10-cpp-14_14.2.0-8ubuntu1_amd64.deb ... 132s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 132s Selecting previously unselected package cpp-x86-64-linux-gnu. 132s Preparing to unpack .../11-cpp-x86-64-linux-gnu_4%3a14.1.0-2ubuntu1_amd64.deb ... 132s Unpacking cpp-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 132s Selecting previously unselected package cpp. 132s Preparing to unpack .../12-cpp_4%3a14.1.0-2ubuntu1_amd64.deb ... 132s Unpacking cpp (4:14.1.0-2ubuntu1) ... 132s Selecting previously unselected package libcc1-0:amd64. 132s Preparing to unpack .../13-libcc1-0_14.2.0-8ubuntu1_amd64.deb ... 132s Unpacking libcc1-0:amd64 (14.2.0-8ubuntu1) ... 132s Selecting previously unselected package libgomp1:amd64. 132s Preparing to unpack .../14-libgomp1_14.2.0-8ubuntu1_amd64.deb ... 132s Unpacking libgomp1:amd64 (14.2.0-8ubuntu1) ... 132s Selecting previously unselected package libitm1:amd64. 132s Preparing to unpack .../15-libitm1_14.2.0-8ubuntu1_amd64.deb ... 132s Unpacking libitm1:amd64 (14.2.0-8ubuntu1) ... 132s Selecting previously unselected package libasan8:amd64. 132s Preparing to unpack .../16-libasan8_14.2.0-8ubuntu1_amd64.deb ... 132s Unpacking libasan8:amd64 (14.2.0-8ubuntu1) ... 132s Selecting previously unselected package liblsan0:amd64. 133s Preparing to unpack .../17-liblsan0_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking liblsan0:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package libtsan2:amd64. 133s Preparing to unpack .../18-libtsan2_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking libtsan2:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package libubsan1:amd64. 133s Preparing to unpack .../19-libubsan1_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking libubsan1:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package libhwasan0:amd64. 133s Preparing to unpack .../20-libhwasan0_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking libhwasan0:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package libquadmath0:amd64. 133s Preparing to unpack .../21-libquadmath0_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking libquadmath0:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package libgcc-14-dev:amd64. 133s Preparing to unpack .../22-libgcc-14-dev_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking libgcc-14-dev:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package gcc-14-x86-64-linux-gnu. 133s Preparing to unpack .../23-gcc-14-x86-64-linux-gnu_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking gcc-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package gcc-14. 133s Preparing to unpack .../24-gcc-14_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package gcc-x86-64-linux-gnu. 133s Preparing to unpack .../25-gcc-x86-64-linux-gnu_4%3a14.1.0-2ubuntu1_amd64.deb ... 133s Unpacking gcc-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 133s Selecting previously unselected package gcc. 133s Preparing to unpack .../26-gcc_4%3a14.1.0-2ubuntu1_amd64.deb ... 133s Unpacking gcc (4:14.1.0-2ubuntu1) ... 133s Selecting previously unselected package libstdc++-14-dev:amd64. 133s Preparing to unpack .../27-libstdc++-14-dev_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking libstdc++-14-dev:amd64 (14.2.0-8ubuntu1) ... 133s Selecting previously unselected package g++-14-x86-64-linux-gnu. 133s Preparing to unpack .../28-g++-14-x86-64-linux-gnu_14.2.0-8ubuntu1_amd64.deb ... 133s Unpacking g++-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 134s Selecting previously unselected package g++-14. 134s Preparing to unpack .../29-g++-14_14.2.0-8ubuntu1_amd64.deb ... 134s Unpacking g++-14 (14.2.0-8ubuntu1) ... 134s Selecting previously unselected package g++-x86-64-linux-gnu. 134s Preparing to unpack .../30-g++-x86-64-linux-gnu_4%3a14.1.0-2ubuntu1_amd64.deb ... 134s Unpacking g++-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 134s Selecting previously unselected package g++. 134s Preparing to unpack .../31-g++_4%3a14.1.0-2ubuntu1_amd64.deb ... 134s Unpacking g++ (4:14.1.0-2ubuntu1) ... 134s Selecting previously unselected package build-essential. 134s Preparing to unpack .../32-build-essential_12.10ubuntu1_amd64.deb ... 134s Unpacking build-essential (12.10ubuntu1) ... 134s Selecting previously unselected package libdebhelper-perl. 134s Preparing to unpack .../33-libdebhelper-perl_13.20ubuntu1_all.deb ... 134s Unpacking libdebhelper-perl (13.20ubuntu1) ... 134s Selecting previously unselected package libtool. 134s Preparing to unpack .../34-libtool_2.4.7-8_all.deb ... 134s Unpacking libtool (2.4.7-8) ... 134s Selecting previously unselected package dh-autoreconf. 134s Preparing to unpack .../35-dh-autoreconf_20_all.deb ... 134s Unpacking dh-autoreconf (20) ... 134s Selecting previously unselected package libarchive-zip-perl. 134s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 134s Unpacking libarchive-zip-perl (1.68-1) ... 134s Selecting previously unselected package libfile-stripnondeterminism-perl. 134s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 134s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 134s Selecting previously unselected package dh-strip-nondeterminism. 134s Preparing to unpack .../38-dh-strip-nondeterminism_1.14.0-1_all.deb ... 134s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 134s Selecting previously unselected package debugedit. 134s Preparing to unpack .../39-debugedit_1%3a5.1-1_amd64.deb ... 134s Unpacking debugedit (1:5.1-1) ... 134s Selecting previously unselected package dwz. 134s Preparing to unpack .../40-dwz_0.15-1build6_amd64.deb ... 134s Unpacking dwz (0.15-1build6) ... 134s Selecting previously unselected package gettext. 134s Preparing to unpack .../41-gettext_0.22.5-2_amd64.deb ... 134s Unpacking gettext (0.22.5-2) ... 134s Selecting previously unselected package intltool-debian. 134s Preparing to unpack .../42-intltool-debian_0.35.0+20060710.6_all.deb ... 134s Unpacking intltool-debian (0.35.0+20060710.6) ... 134s Selecting previously unselected package po-debconf. 134s Preparing to unpack .../43-po-debconf_1.0.21+nmu1_all.deb ... 134s Unpacking po-debconf (1.0.21+nmu1) ... 134s Selecting previously unselected package debhelper. 134s Preparing to unpack .../44-debhelper_13.20ubuntu1_all.deb ... 134s Unpacking debhelper (13.20ubuntu1) ... 134s Selecting previously unselected package dh-python. 134s Preparing to unpack .../45-dh-python_6.20241024_all.deb ... 134s Unpacking dh-python (6.20241024) ... 134s Selecting previously unselected package libdouble-conversion3:amd64. 134s Preparing to unpack .../46-libdouble-conversion3_3.3.0-1build1_amd64.deb ... 134s Unpacking libdouble-conversion3:amd64 (3.3.0-1build1) ... 134s Selecting previously unselected package libpython3.13-stdlib:amd64. 134s Preparing to unpack .../47-libpython3.13-stdlib_3.13.0-2_amd64.deb ... 134s Unpacking libpython3.13-stdlib:amd64 (3.13.0-2) ... 134s Selecting previously unselected package pybuild-plugin-autopkgtest. 134s Preparing to unpack .../48-pybuild-plugin-autopkgtest_6.20241024_all.deb ... 134s Unpacking pybuild-plugin-autopkgtest (6.20241024) ... 134s Selecting previously unselected package python3-packaging. 134s Preparing to unpack .../49-python3-packaging_24.2-1_all.deb ... 134s Unpacking python3-packaging (24.2-1) ... 134s Selecting previously unselected package python3-pyproject-hooks. 134s Preparing to unpack .../50-python3-pyproject-hooks_1.2.0-1_all.deb ... 134s Unpacking python3-pyproject-hooks (1.2.0-1) ... 134s Selecting previously unselected package python3-toml. 134s Preparing to unpack .../51-python3-toml_0.10.2-1_all.deb ... 134s Unpacking python3-toml (0.10.2-1) ... 134s Selecting previously unselected package python3-wheel. 134s Preparing to unpack .../52-python3-wheel_0.45.0-1_all.deb ... 134s Unpacking python3-wheel (0.45.0-1) ... 134s Selecting previously unselected package python3-build. 134s Preparing to unpack .../53-python3-build_1.2.2-1_all.deb ... 134s Unpacking python3-build (1.2.2-1) ... 134s Selecting previously unselected package python3-installer. 134s Preparing to unpack .../54-python3-installer_0.7.0+dfsg1-3_all.deb ... 134s Unpacking python3-installer (0.7.0+dfsg1-3) ... 134s Selecting previously unselected package pybuild-plugin-pyproject. 134s Preparing to unpack .../55-pybuild-plugin-pyproject_6.20241024_all.deb ... 134s Unpacking pybuild-plugin-pyproject (6.20241024) ... 134s Selecting previously unselected package python3.13. 134s Preparing to unpack .../56-python3.13_3.13.0-2_amd64.deb ... 134s Unpacking python3.13 (3.13.0-2) ... 134s Selecting previously unselected package python3-all. 134s Preparing to unpack .../57-python3-all_3.12.7-1_amd64.deb ... 134s Unpacking python3-all (3.12.7-1) ... 134s Selecting previously unselected package python3-bson. 134s Preparing to unpack .../58-python3-bson_4.7.3-2ubuntu2_all.deb ... 134s Unpacking python3-bson (4.7.3-2ubuntu2) ... 134s Selecting previously unselected package python3-cattr. 134s Preparing to unpack .../59-python3-cattr_23.2.3-1_all.deb ... 134s Unpacking python3-cattr (23.2.3-1) ... 134s Selecting previously unselected package python3-cpuinfo. 134s Preparing to unpack .../60-python3-cpuinfo_9.0.0+git20221119-2_all.deb ... 134s Unpacking python3-cpuinfo (9.0.0+git20221119-2) ... 134s Selecting previously unselected package python3-dateutil. 134s Preparing to unpack .../61-python3-dateutil_2.9.0-3_all.deb ... 134s Unpacking python3-dateutil (2.9.0-3) ... 135s Selecting previously unselected package python3-pathspec. 135s Preparing to unpack .../62-python3-pathspec_0.12.1-1_all.deb ... 135s Unpacking python3-pathspec (0.12.1-1) ... 135s Selecting previously unselected package python3-pluggy. 135s Preparing to unpack .../63-python3-pluggy_1.5.0-1_all.deb ... 135s Unpacking python3-pluggy (1.5.0-1) ... 135s Selecting previously unselected package python3-trove-classifiers. 135s Preparing to unpack .../64-python3-trove-classifiers_2024.9.12-1_all.deb ... 135s Unpacking python3-trove-classifiers (2024.9.12-1) ... 135s Selecting previously unselected package python3-hatchling. 135s Preparing to unpack .../65-python3-hatchling_1.26.3-1_all.deb ... 135s Unpacking python3-hatchling (1.26.3-1) ... 135s Selecting previously unselected package python3-setuptools-scm. 135s Preparing to unpack .../66-python3-setuptools-scm_8.1.0-1_all.deb ... 135s Unpacking python3-setuptools-scm (8.1.0-1) ... 135s Selecting previously unselected package python3-hatch-vcs. 135s Preparing to unpack .../67-python3-hatch-vcs_0.4.0-1_all.deb ... 135s Unpacking python3-hatch-vcs (0.4.0-1) ... 135s Selecting previously unselected package python3-sortedcontainers. 135s Preparing to unpack .../68-python3-sortedcontainers_2.4.0-2_all.deb ... 135s Unpacking python3-sortedcontainers (2.4.0-2) ... 135s Selecting previously unselected package python3-hypothesis. 135s Preparing to unpack .../69-python3-hypothesis_6.119.3-1_all.deb ... 135s Unpacking python3-hypothesis (6.119.3-1) ... 135s Selecting previously unselected package python3-iniconfig. 135s Preparing to unpack .../70-python3-iniconfig_1.1.1-2_all.deb ... 135s Unpacking python3-iniconfig (1.1.1-2) ... 135s Selecting previously unselected package python3-msgpack. 135s Preparing to unpack .../71-python3-msgpack_1.0.3-3build3_amd64.deb ... 135s Unpacking python3-msgpack (1.0.3-3build3) ... 135s Selecting previously unselected package python3-pytest. 135s Preparing to unpack .../72-python3-pytest_8.3.3-1_all.deb ... 135s Unpacking python3-pytest (8.3.3-1) ... 135s Selecting previously unselected package python3-pytest-benchmark. 135s Preparing to unpack .../73-python3-pytest-benchmark_5.1.0-1_all.deb ... 135s Unpacking python3-pytest-benchmark (5.1.0-1) ... 135s Selecting previously unselected package python3-tomlkit. 135s Preparing to unpack .../74-python3-tomlkit_0.13.2-1_all.deb ... 135s Unpacking python3-tomlkit (0.13.2-1) ... 135s Selecting previously unselected package python3-ujson:amd64. 135s Preparing to unpack .../75-python3-ujson_5.10.0-1build1_amd64.deb ... 135s Unpacking python3-ujson:amd64 (5.10.0-1build1) ... 135s Selecting previously unselected package autopkgtest-satdep. 135s Preparing to unpack .../76-1-autopkgtest-satdep.deb ... 135s Unpacking autopkgtest-satdep (0) ... 135s Setting up dh-python (6.20241024) ... 135s Setting up python3-iniconfig (1.1.1-2) ... 135s Setting up libdouble-conversion3:amd64 (3.3.0-1build1) ... 135s Setting up libarchive-zip-perl (1.68-1) ... 135s Setting up libdebhelper-perl (13.20ubuntu1) ... 135s Setting up m4 (1.4.19-4build1) ... 135s Setting up python3-sortedcontainers (2.4.0-2) ... 135s Setting up libgomp1:amd64 (14.2.0-8ubuntu1) ... 135s Setting up python3-wheel (0.45.0-1) ... 136s Setting up python3-ujson:amd64 (5.10.0-1build1) ... 136s Setting up python3-bson (4.7.3-2ubuntu2) ... 136s Setting up libpython3.13-minimal:amd64 (3.13.0-2) ... 136s Setting up autotools-dev (20220109.1) ... 136s Setting up python3-packaging (24.2-1) ... 136s Setting up python3-cattr (23.2.3-1) ... 136s Setting up python3-pyproject-hooks (1.2.0-1) ... 136s Setting up libquadmath0:amd64 (14.2.0-8ubuntu1) ... 136s Setting up libmpc3:amd64 (1.3.1-1build2) ... 136s Setting up autopoint (0.22.5-2) ... 136s Setting up python3-cpuinfo (9.0.0+git20221119-2) ... 137s Setting up python3-toml (0.10.2-1) ... 137s Setting up python3-installer (0.7.0+dfsg1-3) ... 137s Setting up autoconf (2.72-3) ... 137s Setting up python3-pluggy (1.5.0-1) ... 137s Setting up libubsan1:amd64 (14.2.0-8ubuntu1) ... 137s Setting up dwz (0.15-1build6) ... 137s Setting up python3-trove-classifiers (2024.9.12-1) ... 137s Setting up libhwasan0:amd64 (14.2.0-8ubuntu1) ... 137s Setting up libasan8:amd64 (14.2.0-8ubuntu1) ... 137s Setting up debugedit (1:5.1-1) ... 137s Setting up python3.13-minimal (3.13.0-2) ... 138s Setting up python3-dateutil (2.9.0-3) ... 138s Setting up python3-msgpack (1.0.3-3build3) ... 138s Setting up libtsan2:amd64 (14.2.0-8ubuntu1) ... 138s Setting up libisl23:amd64 (0.27-1) ... 138s Setting up python3-build (1.2.2-1) ... 138s Setting up python3-tomlkit (0.13.2-1) ... 139s Setting up python3-pathspec (0.12.1-1) ... 139s Setting up libpython3.13-stdlib:amd64 (3.13.0-2) ... 139s Setting up libcc1-0:amd64 (14.2.0-8ubuntu1) ... 139s Setting up liblsan0:amd64 (14.2.0-8ubuntu1) ... 139s Setting up libitm1:amd64 (14.2.0-8ubuntu1) ... 139s Setting up automake (1:1.16.5-1.3ubuntu1) ... 139s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 139s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 139s Setting up gettext (0.22.5-2) ... 139s Setting up python3.13 (3.13.0-2) ... 140s Setting up pybuild-plugin-pyproject (6.20241024) ... 140s Setting up python3-pytest (8.3.3-1) ... 140s Setting up python3-hypothesis (6.119.3-1) ... 141s Setting up python3-all (3.12.7-1) ... 141s Setting up python3-setuptools-scm (8.1.0-1) ... 141s Setting up intltool-debian (0.35.0+20060710.6) ... 141s Setting up cpp-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 141s Setting up cpp-14 (14.2.0-8ubuntu1) ... 141s Setting up dh-strip-nondeterminism (1.14.0-1) ... 141s Setting up python3-hatchling (1.26.3-1) ... 141s Setting up libgcc-14-dev:amd64 (14.2.0-8ubuntu1) ... 141s Setting up libstdc++-14-dev:amd64 (14.2.0-8ubuntu1) ... 141s Setting up python3-hatch-vcs (0.4.0-1) ... 141s Setting up python3-pytest-benchmark (5.1.0-1) ... 141s Setting up cpp-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 141s Setting up po-debconf (1.0.21+nmu1) ... 141s Setting up cpp (4:14.1.0-2ubuntu1) ... 141s Setting up gcc-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 141s Setting up gcc-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 141s Setting up gcc-14 (14.2.0-8ubuntu1) ... 141s Setting up g++-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 141s Setting up g++-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 141s Setting up g++-14 (14.2.0-8ubuntu1) ... 141s Setting up libtool (2.4.7-8) ... 141s Setting up gcc (4:14.1.0-2ubuntu1) ... 141s Setting up dh-autoreconf (20) ... 141s Setting up g++ (4:14.1.0-2ubuntu1) ... 141s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 141s Setting up build-essential (12.10ubuntu1) ... 141s Setting up debhelper (13.20ubuntu1) ... 141s Setting up pybuild-plugin-autopkgtest (6.20241024) ... 141s Setting up autopkgtest-satdep (0) ... 141s Processing triggers for systemd (256.5-2ubuntu4) ... 141s Processing triggers for man-db (2.13.0-1) ... 142s Processing triggers for install-info (7.1.1-1) ... 143s Processing triggers for libc-bin (2.40-1ubuntu3) ... 146s (Reading database ... 79627 files and directories currently installed.) 146s Removing autopkgtest-satdep (0) ... 147s autopkgtest [20:42:31]: test pybuild-autopkgtest: pybuild-autopkgtest 147s autopkgtest [20:42:31]: test pybuild-autopkgtest: [----------------------- 147s pybuild-autopkgtest 147s I: pybuild base:311: cd /tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 148s ============================= test session starts ============================== 148s platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 148s cachedir: .pytest_cache 148s 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) 148s hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/.hypothesis/examples')) 148s rootdir: /tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build 148s configfile: pyproject.toml 148s plugins: benchmark-5.1.0, typeguard-4.4.1, hypothesis-6.119.3 148s collecting ... collected 592 items 148s 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 0%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 0%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 0%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 0%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 0%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 1%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 1%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 1%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 1%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 1%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 1%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 2%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 2%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 2%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 2%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 2%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 2%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 3%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 3%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 3%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 3%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 3%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 3%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 4%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 4%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 4%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 4%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 4%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 4%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 5%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 5%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 5%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 5%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 5%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 5%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 6%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 6%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 6%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 6%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 6%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 6%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 7%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 7%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 7%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 7%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 7%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 7%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 8%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 8%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 8%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 8%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 8%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 8%] 148s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 9%] 148s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 9%] 148s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 9%] 148s tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 9%] 148s tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 9%] 148s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 9%] 148s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 10%] 148s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 10%] 148s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 10%] 148s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 10%] 148s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 10%] 148s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 10%] 148s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 11%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 11%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 11%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 11%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 11%] 148s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 11%] 148s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 12%] 148s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 12%] 148s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 12%] 148s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 12%] 148s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 12%] 148s tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 13%] 148s tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 13%] 148s tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 13%] 148s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 13%] 148s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 13%] 148s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 13%] 148s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 14%] 148s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 14%] 148s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 14%] 148s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 14%] 148s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 14%] 148s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 14%] 148s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 15%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 15%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 15%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 15%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 15%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 15%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 16%] 148s tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 16%] 148s tests/test_copy.py::test_copy[BaseConverter] PASSED [ 16%] 148s tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 16%] 148s tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 16%] 148s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 16%] 148s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 17%] 148s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 17%] 148s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 17%] 148s tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 17%] 148s tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 17%] 148s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 17%] 148s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 18%] 148s tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 18%] 148s tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 18%] 148s tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 18%] 148s tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 18%] 148s tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 18%] 148s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 19%] 148s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 19%] 148s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 19%] 148s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 19%] 148s tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 19%] 148s tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 19%] 148s tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 20%] 148s tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 20%] 148s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 20%] 148s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 20%] 148s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 20%] 148s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 20%] 148s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 21%] 148s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 21%] 148s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 21%] 148s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 21%] 148s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 21%] 148s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 21%] 148s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 22%] 148s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 22%] 148s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 22%] 148s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 22%] 148s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 22%] 148s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 22%] 148s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 23%] 148s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 23%] 148s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 23%] 148s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 23%] 148s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 23%] 148s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 23%] 148s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 24%] 148s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 24%] 148s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 24%] 148s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 24%] 148s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 24%] 148s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 25%] 148s tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 25%] 148s tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 25%] 148s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 25%] 148s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 25%] 148s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 25%] 148s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 26%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 26%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 26%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 26%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 26%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 26%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 27%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 27%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 27%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 27%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 27%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 27%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 28%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 28%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 28%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 28%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 28%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 28%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 29%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 29%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 29%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 29%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 29%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 29%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 30%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 30%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 30%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 30%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 30%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 30%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 31%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 31%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 31%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 31%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 31%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 31%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 32%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 32%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 32%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 32%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 32%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 32%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 33%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 33%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 33%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 33%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 33%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 33%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 34%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 34%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 34%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 34%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 34%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 34%] 148s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 35%] 148s tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 35%] 148s tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 35%] 148s tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 35%] 148s tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 35%] 148s tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 35%] 148s tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] 148s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 36%] 148s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 36%] 148s tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 36%] 148s tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 36%] 148s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 36%] 148s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 37%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 37%] 148s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 37%] 148s tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] 148s tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] 148s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] 148s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 38%] 148s tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 38%] 148s tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 38%] 148s tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] 148s tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] 148s tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] 148s tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] 148s tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 39%] 148s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 39%] 148s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] 148s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] 148s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] 148s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] 148s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] 148s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 40%] 148s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 41%] 148s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] 149s tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] 149s tests/test_copy.py::test_copy[Converter] PASSED [ 42%] 149s tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] 149s tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] 149s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] 149s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] 149s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] 149s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] 149s tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] 149s tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] 149s tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] 149s tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] 149s tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] 149s tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] 149s tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] 149s tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] 149s tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] 149s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 45%] 149s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] 149s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] 149s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] 149s tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] 149s tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] 149s tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 46%] 149s tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 46%] 149s tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] 149s tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] 149s tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] 149s tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] 149s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 47%] 149s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 47%] 149s tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] 149s tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] 149s tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] 149s tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] 149s tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 48%] 149s tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 48%] 149s tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 48%] 149s tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] 149s tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] 149s tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] 149s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 49%] 149s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 49%] 149s tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 49%] 149s tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] 149s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] 149s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 50%] 149s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 50%] 149s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 50%] 149s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 50%] 149s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 50%] 149s tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] 149s tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 51%] 149s tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 51%] 149s tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 51%] 149s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 51%] 149s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 51%] 149s tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 51%] 149s tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 52%] 149s tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 52%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 52%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 52%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 52%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 52%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 53%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 53%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 53%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 53%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 53%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 53%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 54%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 54%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 54%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 54%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 54%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 54%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 55%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 55%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 55%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 55%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 55%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 55%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 56%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 56%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 56%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 56%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 56%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 56%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 57%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 57%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 57%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 57%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 57%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 57%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 58%] 149s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 58%] 149s tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 58%] 149s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 58%] 149s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 58%] 149s tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 58%] 149s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 59%] 149s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 59%] 149s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 59%] 149s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 59%] 149s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 59%] 149s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 59%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 60%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 60%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 60%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 60%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 60%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 60%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 61%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 61%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 61%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 61%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 61%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 61%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 62%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 62%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 62%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 62%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 62%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 63%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 63%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 63%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 63%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 63%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 63%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 64%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 64%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 64%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 64%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 64%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 64%] 150s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 65%] 150s tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 65%] 150s tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 65%] 150s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 65%] 150s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 65%] 150s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 65%] 150s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 66%] 150s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 66%] 150s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 66%] 150s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 66%] 150s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 66%] 150s tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 66%] 150s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 67%] 150s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 67%] 150s tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 67%] 154s tests/test_baseconverter.py::test_simple_roundtrip FAILED [ 67%] 154s tests/test_baseconverter.py::test_simple_roundtrip_defaults PASSED [ 67%] 215s tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 67%] 220s tests/test_baseconverter.py::test_nested_roundtrip_tuple PASSED [ 68%] 229s tests/test_baseconverter.py::test_union_field_roundtrip PASSED [ 68%] 242s tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 68%] 243s tests/test_baseconverter.py::test_optional_field_roundtrip PASSED [ 68%] 334s tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 68%] 343s tests/test_converter.py::test_simple_roundtrip FAILED [ 68%] 344s tests/test_converter.py::test_simple_roundtrip_tuple PASSED [ 69%] 345s tests/test_converter.py::test_simple_roundtrip_defaults FAILED [ 69%] 345s tests/test_converter.py::test_simple_roundtrip_defaults_tuple PASSED [ 69%] 346s tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden PASSED [ 69%] 348s tests/test_converter.py::test_forbid_extra_keys PASSED [ 69%] 348s tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 69%] 348s tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 70%] 353s tests/test_converter.py::test_nested_roundtrip PASSED [ 70%] 358s tests/test_converter.py::test_nested_roundtrip_tuple PASSED [ 70%] 396s tests/test_converter.py::test_union_field_roundtrip FAILED [ 70%] 707s tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 70%] 718s tests/test_converter.py::test_optional_field_roundtrip FAILED [ 70%] 722s tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 71%] 738s tests/test_converter.py::test_omit_default_roundtrip FAILED [ 71%] 738s tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 71%] 740s tests/test_converter.py::test_type_overrides PASSED [ 71%] 740s tests/test_converter.py::test_calling_back PASSED [ 71%] 740s tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 71%] 740s tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 72%] 740s tests/test_converter.py::test_overriding_generated_structure PASSED [ 72%] 740s tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 72%] 743s tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 72%] 743s tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 72%] 743s tests/test_converter.py::test_annotated_attrs PASSED [ 72%] 743s tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 73%] 743s tests/test_copy.py::test_copy_converter PASSED [ 73%] 743s tests/test_copy.py::test_detailed_validation PASSED [ 73%] 743s tests/test_copy.py::test_col_overrides PASSED [ 73%] 743s tests/test_disambiguators.py::test_edge_errors PASSED [ 73%] 744s tests/test_disambiguators.py::test_fallback PASSED [ 73%] 757s tests/test_disambiguators.py::test_disambiguation PASSED [ 74%] 757s tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 74%] 757s tests/test_disambiguators.py::test_default_no_literals PASSED [ 74%] 757s tests/test_final.py::test_unstructure_final[True] PASSED [ 74%] 757s tests/test_final.py::test_unstructure_final[False] PASSED [ 74%] 757s tests/test_final.py::test_structure_final[True] PASSED [ 75%] 757s tests/test_final.py::test_structure_final[False] PASSED [ 75%] 757s tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 75%] 757s tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 75%] 757s tests/test_final.py::test_structure_bare_final[True] PASSED [ 75%] 757s tests/test_final.py::test_structure_bare_final[False] PASSED [ 75%] 757s tests/test_function_dispatch.py::test_function_dispatch PASSED [ 76%] 757s tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 76%] 757s tests/test_gen.py::test_structure_linecache PASSED [ 76%] 757s tests/test_gen.py::test_unstructure_linecache PASSED [ 76%] 757s tests/test_gen.py::test_no_linecache PASSED [ 76%] 757s tests/test_gen.py::test_linecache_dedup PASSED [ 76%] 759s tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 77%] 762s tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 77%] 765s tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 77%] 768s tests/test_gen_dict.py::test_individual_overrides PASSED [ 77%] 886s tests/test_gen_dict.py::test_unmodified_generated_structuring FAILED [ 77%] 889s tests/test_gen_dict.py::test_renaming FAILED [ 77%] 889s tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 78%] 889s tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 78%] 889s tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 78%] 889s tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 78%] 890s tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 78%] 890s tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 78%] 890s tests/test_gen_dict_563.py::test_roundtrip PASSED [ 79%] 890s tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 79%] 890s tests/test_generics.py::test_deep_copy PASSED [ 79%] 890s tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 79%] 890s tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 79%] 890s tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 79%] 890s tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 80%] 890s tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 80%] 890s tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 80%] 890s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 80%] 890s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 80%] 890s tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 80%] 890s tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 81%] 890s tests/test_generics.py::test_unstructure_optional[True] PASSED [ 81%] 890s tests/test_generics.py::test_unstructure_optional[False] PASSED [ 81%] 890s tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 81%] 890s tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 81%] 890s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 81%] 890s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 82%] 890s tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 82%] 890s tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 82%] 890s tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 82%] 890s tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 82%] 890s tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 82%] 890s tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 83%] 890s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 83%] 890s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 83%] 890s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 83%] 890s tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 83%] 890s tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 83%] 890s tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 84%] 890s tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 84%] 890s tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 84%] 890s tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 84%] 890s tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 84%] 890s tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 84%] 890s tests/test_recursive.py::test_simple_recursive PASSED [ 85%] 890s tests/test_structure.py::test_structuring_primitives PASSED [ 85%] 890s tests/test_structure.py::test_structuring_seqs PASSED [ 85%] 890s tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 85%] 891s tests/test_structure.py::test_structuring_sets PASSED [ 85%] 891s tests/test_structure.py::test_stringifying_sets PASSED [ 85%] 891s tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] 892s tests/test_structure.py::test_stringifying_tuples PASSED [ 86%] 893s tests/test_structure.py::test_structuring_dicts PASSED [ 86%] 893s tests/test_structure.py::test_structuring_dicts_opts PASSED [ 86%] 893s tests/test_structure.py::test_stringifying_dicts PASSED [ 86%] 893s tests/test_structure.py::test_structuring_optional_primitives PASSED [ 86%] 894s tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] 894s tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 87%] 894s tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 87%] 894s tests/test_structure.py::test_structure_hook_func PASSED [ 87%] 895s tests/test_structure.py::test_structuring_enums PASSED [ 87%] 895s tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] 895s tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] 895s tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] 896s tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 88%] 903s tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 88%] 904s tests/test_structure_attrs.py::test_roundtrip PASSED [ 88%] 905s tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] 907s tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] 908s tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] 909s tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 89%] 909s tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 89%] 909s tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 89%] 909s tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] 909s tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] 909s tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] 909s tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] 909s tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 90%] 909s tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 90%] 909s tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] 909s tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] 909s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] 909s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] 909s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] 909s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 91%] 909s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] 909s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] 910s tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] 911s tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] 912s tests/test_typeddicts.py::test_int_override PASSED [ 92%] 913s tests/test_typeddicts.py::test_extra_keys PASSED [ 92%] 914s tests/test_typeddicts.py::test_generics PASSED [ 93%] 914s tests/test_typeddicts.py::test_not_required PASSED [ 93%] 915s tests/test_typeddicts.py::test_required PASSED [ 93%] 916s tests/test_typeddicts.py::test_omit PASSED [ 93%] 916s tests/test_typeddicts.py::test_rename PASSED [ 93%] 917s tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] 917s tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] 917s tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] 917s tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] 917s tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] 917s tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] 917s tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] 917s tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 917s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] 917s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 917s tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] 917s tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] 917s tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] 918s tests/test_unstructure.py::test_set_unstructure PASSED [ 96%] 918s tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] 919s tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] 922s tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] 925s tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] 926s tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] 930s tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 97%] 930s tests/test_v.py::test_attribute_errors PASSED [ 97%] 930s tests/test_v.py::test_class_errors PASSED [ 97%] 930s tests/test_v.py::test_sequence_errors PASSED [ 97%] 930s tests/test_v.py::test_mapping_errors PASSED [ 97%] 930s tests/test_v.py::test_custom_error_fn PASSED [ 97%] 930s tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] 930s tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] 930s tests/test_validation.py::test_class_validation PASSED [ 98%] 930s tests/test_validation.py::test_external_class_validation PASSED [ 98%] 930s tests/test_validation.py::test_list_validation PASSED [ 98%] 930s tests/test_validation.py::test_mapping_validation PASSED [ 98%] 930s tests/test_validation.py::test_counter_validation PASSED [ 99%] 930s tests/test_validation.py::test_set_validation PASSED [ 99%] 930s tests/test_validation.py::test_frozenset_validation PASSED [ 99%] 930s tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] 930s tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] 930s tests/test_validation.py::test_notes_pickling PASSED [100%] 930s 930s =================================== FAILURES =================================== 930s ____________________________ test_simple_roundtrip _____________________________ 930s 930s @given(simple_typed_classes(newtypes=False), unstructure_strats) 930s > def test_simple_roundtrip(cls_and_vals, strat): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3c360> 930s 930s tests/test_baseconverter.py:18: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cls_and_vals = (, (nan,), {}) 930s strat = 930s 930s @given(simple_typed_classes(newtypes=False), unstructure_strats) 930s def test_simple_roundtrip(cls_and_vals, strat): 930s """ 930s Simple classes with metadata can be unstructured and restructured. 930s """ 930s converter = BaseConverter(unstruct_strat=strat) 930s cl, vals, kwargs = cls_and_vals 930s assume(strat is UnstructureStrategy.AS_DICT or not kwargs) 930s inst = cl(*vals, **kwargs) 930s > assert inst == converter.structure(converter.unstructure(inst), cl) 930s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: nan != nan 930s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s E Falsifying example: test_simple_roundtrip( 930s E cls_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 930s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 930s E ) 930s 930s cl = 930s cls_and_vals = (, (nan,), {}) 930s converter = 930s inst = HypAttrsClass(a=nan) 930s kwargs = {} 930s strat = 930s vals = (nan,) 930s 930s tests/test_baseconverter.py:26: AssertionError 930s ____________________________ test_nested_roundtrip _____________________________ 930s 930s @given(nested_typed_classes(newtypes=False)) 930s > def test_nested_roundtrip(cls_and_vals): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3d080> 930s 930s tests/test_baseconverter.py:46: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cls_and_vals = (, (nan,), {}) 930s 930s @given(nested_typed_classes(newtypes=False)) 930s def test_nested_roundtrip(cls_and_vals): 930s """ 930s Nested classes with metadata can be unstructured and restructured. 930s """ 930s converter = BaseConverter() 930s cl, vals, kwargs = cls_and_vals 930s # Vals are a tuple, convert into a dictionary. 930s inst = cl(*vals, **kwargs) 930s > assert inst == converter.structure(converter.unstructure(inst), cl) 930s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: nan != nan 930s E Falsifying example: test_nested_roundtrip( 930s E cls_and_vals=(tests.typed.HypClass, 930s E (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0],), 930s E {}), 930s E ) 930s E Explanation: 930s E These lines were always and only run by failing examples: 930s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 930s 930s cl = 930s cls_and_vals = (, (nan,), {}) 930s converter = 930s inst = HypClass(a=nan) 930s kwargs = {} 930s vals = (nan,) 930s 930s tests/test_baseconverter.py:54: AssertionError 930s ________________________ test_310_union_field_roundtrip ________________________ 930s 930s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 930s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3e2a0> 930s 930s tests/test_baseconverter.py:113: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals_a = (, ('', nan, {}), {'_f': 0}) 930s cl_and_vals_b = (, (None,), {}) 930s strat = 930s 930s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 930s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 930s @given( 930s simple_typed_classes(defaults=False, newtypes=False), 930s simple_typed_classes(defaults=False, newtypes=False), 930s unstructure_strats, 930s ) 930s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 930s """ 930s Classes with union fields can be unstructured and structured. 930s """ 930s converter = BaseConverter(unstruct_strat=strat) 930s cl_a, vals_a, kwargs_a = cl_and_vals_a 930s cl_b, vals_b, _ = cl_and_vals_b 930s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 930s a_field_names = {a.name for a in fields(cl_a)} 930s b_field_names = {a.name for a in fields(cl_b)} 930s assume(a_field_names) 930s assume(b_field_names) 930s 930s common_names = a_field_names & b_field_names 930s assume(len(a_field_names) > len(common_names)) 930s 930s @define 930s class C: 930s a: cl_a | cl_b 930s 930s inst = C(a=cl_a(*vals_a, **kwargs_a)) 930s 930s if strat is UnstructureStrategy.AS_DICT: 930s > assert inst == converter.structure(converter.unstructure(inst), C) 930s E AssertionError: assert C(a=HypAttrsC..., _d={}, e=0)) == C(a=HypAttrsC..., _d={}, e=0)) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: HypAttrsClass(a='', _b=nan, _d={}, e=0) != HypAttrsClass(a='', _b=nan, _d={}, e=0) 930s E ... 930s E 930s E ...Full output truncated (6 lines hidden), use '-vv' to show 930s 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={})] 930s 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={})} 930s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s E Falsifying example: test_310_union_field_roundtrip( 930s E # The test always failed when commented parts were varied together. 930s E cl_and_vals_a=(tests.typed.HypAttrsClass, ('', nan, {}), {'_f': 0}), 930s E cl_and_vals_b=(tests.typed.HypAttrsClass, 930s E (None,), 930s E {}), # or any other generated value 930s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 930s E ) 930s E Explanation: 930s E These lines were always and only run by failing examples: 930s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 930s 930s C = .C'> 930s _ = {} 930s a_field_names = {'_b', '_d', 'a', 'e'} 930s b_field_names = {'a'} 930s cl_a = 930s cl_and_vals_a = (, ('', nan, {}), {'_f': 0}) 930s cl_and_vals_b = (, (None,), {}) 930s cl_b = 930s common_names = {'a'} 930s converter = 930s inst = C(a=HypAttrsClass(a='', _b=nan, _d={}, e=0)) 930s kwargs_a = {'_f': 0} 930s strat = 930s vals_a = ('', nan, {}) 930s vals_b = (None,) 930s 930s tests/test_baseconverter.py:142: AssertionError 930s ______________________ test_310_optional_field_roundtrip _______________________ 930s 930s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 930s > @given(simple_typed_classes(defaults=False, newtypes=False)) 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3ec00> 930s 930s tests/test_baseconverter.py:177: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, (nan,), {}) 930s 930s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 930s @given(simple_typed_classes(defaults=False, newtypes=False)) 930s def test_310_optional_field_roundtrip(cl_and_vals): 930s """ 930s Classes with optional fields can be unstructured and structured. 930s """ 930s converter = BaseConverter() 930s cl, vals, kwargs = cl_and_vals 930s 930s @define 930s class C: 930s a: cl | None 930s 930s inst = C(a=cl(*vals, **kwargs)) 930s > assert inst == converter.structure(converter.unstructure(inst), C) 930s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 930s E ... 930s E 930s E ...Full output truncated (5 lines hidden), use '-vv' to show 930s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s E Falsifying example: test_310_optional_field_roundtrip( 930s E cl_and_vals=(tests.typed.HypAttrsClass, 930s E (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0],), 930s E {}), 930s E ) 930s E Explanation: 930s E These lines were always and only run by failing examples: 930s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 930s 930s C = .C'> 930s cl = 930s cl_and_vals = (, (nan,), {}) 930s converter = 930s inst = C(a=HypAttrsClass(a=nan)) 930s kwargs = {} 930s vals = (nan,) 930s 930s tests/test_baseconverter.py:190: AssertionError 930s ____________________________ test_simple_roundtrip _____________________________ 930s 930s @given(simple_typed_classes() | simple_typed_dataclasses(), booleans()) 930s > def test_simple_roundtrip(cls_and_vals, detailed_validation): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3fe20> 930s 930s tests/test_converter.py:41: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cls_and_vals = (, (frozenset(), nan), {}) 930s detailed_validation = False 930s 930s @given(simple_typed_classes() | simple_typed_dataclasses(), booleans()) 930s def test_simple_roundtrip(cls_and_vals, detailed_validation): 930s """ 930s Simple classes with metadata can be unstructured and restructured. 930s """ 930s converter = Converter(detailed_validation=detailed_validation) 930s cl, vals, kwargs = cls_and_vals 930s inst = cl(*vals, **kwargs) 930s unstructured = converter.unstructure(inst) 930s assert "Hyp" not in repr(unstructured) 930s > assert inst == converter.structure(unstructured, cl) 930s E AssertionError: assert HypAttrsClass...set(), _b=nan) == HypAttrsClass...set(), _b=nan) 930s E 930s E Omitting 1 identical items, use -vv to show 930s E Differing attributes: 930s E ['_b'] 930s E 930s E Drill down into differing attribute _b: 930s E _b: nan != nan 930s 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={})] 930s 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={})} 930s E Falsifying example: test_simple_roundtrip( 930s E cls_and_vals=(tests.typed.HypAttrsClass, (frozenset(), nan), {}), 930s E detailed_validation=False, # or any other generated value 930s E ) 930s 930s cl = 930s cls_and_vals = (, (frozenset(), nan), {}) 930s converter = 930s detailed_validation = False 930s inst = HypAttrsClass(a=frozenset(), _b=nan) 930s kwargs = {} 930s unstructured = {'_b': nan, 'a': frozenset()} 930s vals = (frozenset(), nan) 930s 930s tests/test_converter.py:50: AssertionError 930s ________________________ test_simple_roundtrip_defaults ________________________ 930s 930s @given(simple_typed_attrs(defaults=True)) 930s > def test_simple_roundtrip_defaults(attr_and_vals): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda38720> 930s 930s tests/test_converter.py:73: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s attr_and_vals = (_CountingAttr(counter=90753, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 930s 930s @given(simple_typed_attrs(defaults=True)) 930s def test_simple_roundtrip_defaults(attr_and_vals): 930s """ 930s Simple classes with metadata can be unstructured and restructured. 930s """ 930s a, _ = attr_and_vals 930s cl = make_class("HypClass", {"a": a}) 930s converter = Converter() 930s inst = cl() 930s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 930s inst 930s ) 930s > assert inst == converter.structure(converter.unstructure(inst), cl) 930s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: nan != nan 930s E Falsifying example: test_simple_roundtrip_defaults( 930s E attr_and_vals=(_CountingAttr(counter=90753, 930s E _default=nan, 930s E repr=True, 930s E eq=True, 930s E order=True, 930s E hash=None, 930s E init=True, 930s E on_setattr=None, 930s E alias=None, 930s E metadata={}), 930s E floats()), 930s E ) 930s 930s _ = floats() 930s a = _CountingAttr(counter=90753, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 930s attr_and_vals = (_CountingAttr(counter=90753, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 930s cl = 930s converter = 930s inst = HypClass(a=nan) 930s 930s tests/test_converter.py:84: AssertionError 930s __________________________ test_union_field_roundtrip __________________________ 930s 930s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 930s > @given( 930s simple_typed_classes(defaults=False, newtypes=False), 930s simple_typed_classes(defaults=False, newtypes=False), 930s unstructure_strats, 930s ) 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3aa20> 930s 930s tests/test_converter.py:234: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals_a = (, (0, 0, '', frozenset(), frozenset(), frozenset(), ...), {'_l': nan}) 930s cl_and_vals_b = (, (None,), {}) 930s strat = 930s 930s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 930s @given( 930s simple_typed_classes(defaults=False, newtypes=False), 930s simple_typed_classes(defaults=False, newtypes=False), 930s unstructure_strats, 930s ) 930s def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 930s """ 930s Classes with union fields can be unstructured and structured. 930s """ 930s converter = Converter(unstruct_strat=strat) 930s cl_a, vals_a, kwargs_a = cl_and_vals_a 930s cl_b, _, _ = cl_and_vals_b 930s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 930s a_field_names = {a.name for a in fields(cl_a)} 930s b_field_names = {a.name for a in fields(cl_b)} 930s assume(a_field_names) 930s assume(b_field_names) 930s 930s common_names = a_field_names & b_field_names 930s assume(len(a_field_names) > len(common_names)) 930s 930s @define 930s class C: 930s a: Union[cl_a, cl_b] 930s 930s inst = C(a=cl_a(*vals_a, **kwargs_a)) 930s 930s if strat is UnstructureStrategy.AS_DICT: 930s unstructured = converter.unstructure(inst) 930s > assert inst == converter.structure(converter.unstructure(unstructured), C) 930s E AssertionError: assert C(a=HypAttrsC..., ''), k=nan)) == C(a=HypAttrsC..., ''), k=nan)) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: HypAttrsClass(a=0, _b=0, _d='', e=frozenset(), g=frozenset(), _h=frozenset(), _j=('', '', ''), k=nan) != HypAttrsClass(a=0, _b=0, _d='', e=frozenset(), g=frozenset(), _h=frozenset(), _j=('', '', ''), k=nan) 930s E ... 930s E 930s E ...Full output truncated (6 lines hidden), use '-vv' to show 930s 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={})] 930s 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={})} 930s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s E Falsifying example: test_union_field_roundtrip( 930s E # The test always failed when commented parts were varied together. 930s E cl_and_vals_a=(tests.typed.HypAttrsClass, 930s E (0, 0, '', frozenset(), frozenset(), frozenset(), ('', '', '')), 930s E {'_l': nan}), 930s E cl_and_vals_b=(tests.typed.HypAttrsClass, 930s E (None,), 930s E {}), # or any other generated value 930s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 930s E ) 930s E Explanation: 930s E These lines were always and only run by failing examples: 930s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 930s 930s C = .C'> 930s _ = {} 930s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 930s b_field_names = {'a'} 930s cl_a = 930s cl_and_vals_a = (, (0, 0, '', frozenset(), frozenset(), frozenset(), ...), {'_l': nan}) 930s cl_and_vals_b = (, (None,), {}) 930s cl_b = 930s common_names = {'a'} 930s converter = 930s inst = C(a=HypAttrsClass(a=0, _b=0, _d='', e=frozenset(), g=frozenset(), _h=frozenset(), _j=('', '', ''), k=nan)) 930s kwargs_a = {'_l': nan} 930s strat = 930s unstructured = {'a': {'_b': 0, '_d': '', '_h': frozenset(), '_j': ['', '', ''], ...}} 930s vals_a = (0, 0, '', frozenset(), frozenset(), frozenset(), ...) 930s 930s tests/test_converter.py:263: AssertionError 930s ________________________ test_310_union_field_roundtrip ________________________ 930s + Exception Group Traceback (most recent call last): 930s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 930s | result: TResult | None = func() 930s | ~~~~^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 930s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 930s | ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 930s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 930s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 930s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 930s | return outcome.get_result() 930s | ~~~~~~~~~~~~~~~~~~^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 930s | raise exc.with_traceback(exc.__traceback__) 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 930s | teardown.throw(outcome._exception) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 930s | yield from thread_exception_runtest_hook() 930s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 930s | yield 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 930s | teardown.throw(outcome._exception) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 930s | yield from unraisable_exception_runtest_hook() 930s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 930s | yield 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 930s | teardown.throw(outcome._exception) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 930s | yield from self._runtest_for(item, "call") 930s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 930s | yield 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 930s | teardown.throw(outcome._exception) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 930s | return (yield) 930s | ^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 930s | teardown.throw(outcome._exception) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 930s | return (yield) 930s | ^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 930s | res = hook_impl.function(*args) 930s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 930s | item.runtest() 930s | ~~~~~~~~~~~~^^ 930s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 930s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 930s | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 930s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 930s | ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 930s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 930s | ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 930s | raise exception.with_traceback(exception.__traceback__) 930s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 930s | res = hook_impl.function(*args) 930s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 930s | result = testfunction(**testargs) 930s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_converter.py", line 278, in test_310_union_field_roundtrip 930s | @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 930s | ^^^ 930s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 930s | raise the_error_hypothesis_found 930s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 930s +-+---------------- 1 ---------------- 930s | Traceback (most recent call last): 930s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_converter.py", line 319, in test_310_union_field_roundtrip 930s | assert inst == converter.structure(unstructured, C) 930s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 930s | 930s | Differing attributes: 930s | ['a'] 930s | 930s | Drill down into differing attribute a: 930s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 930s | ... 930s | 930s | ...Full output truncated (6 lines hidden), use '-vv' to show 930s | 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={})] 930s | 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={})} 930s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s | Falsifying example: test_310_union_field_roundtrip( 930s | cl_and_vals_a=(tests.typed.HypAttrsClass, 930s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffee))[0]), 930s | {}), 930s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 930s | strat=UnstructureStrategy.AS_TUPLE, # or any other generated value 930s | ) 930s +---------------- 2 ---------------- 930s | Traceback (most recent call last): 930s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_converter.py", line 308, in test_310_union_field_roundtrip 930s | assert inst == converter.structure(converter.unstructure(unstructured), C) 930s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 930s | 930s | Differing attributes: 930s | ['a'] 930s | 930s | Drill down into differing attribute a: 930s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 930s | ... 930s | 930s | ...Full output truncated (6 lines hidden), use '-vv' to show 930s | 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={})] 930s | 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={})} 930s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s | Falsifying example: test_310_union_field_roundtrip( 930s | cl_and_vals_a=(tests.typed.HypAttrsClass, 930s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffed))[0]), 930s | {}), 930s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 930s | strat=UnstructureStrategy.AS_DICT, 930s | ) 930s +------------------------------------ 930s ---------------------------------- Hypothesis ---------------------------------- 930s 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. 930s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 930s ________________________ test_optional_field_roundtrip _________________________ 930s 930s @given(simple_typed_classes(defaults=False)) 930s > def test_optional_field_roundtrip(cl_and_vals): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3b6a0> 930s 930s tests/test_converter.py:323: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, (nan,), {}) 930s 930s @given(simple_typed_classes(defaults=False)) 930s def test_optional_field_roundtrip(cl_and_vals): 930s """ 930s Classes with optional fields can be unstructured and structured. 930s """ 930s converter = Converter() 930s cl, vals, kwargs = cl_and_vals 930s 930s @define 930s class C: 930s a: Optional[cl] 930s 930s inst = C(a=cl(*vals, **kwargs)) 930s > assert inst == converter.structure(converter.unstructure(inst), C) 930s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 930s E ... 930s E 930s E ...Full output truncated (5 lines hidden), use '-vv' to show 930s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s E Falsifying example: test_optional_field_roundtrip( 930s E cl_and_vals=(tests.typed.HypAttrsClass, 930s E (struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffffc))[0],), 930s E {}), 930s E ) 930s 930s C = .C'> 930s cl = 930s cl_and_vals = (, (nan,), {}) 930s converter = 930s inst = C(a=HypAttrsClass(a=nan)) 930s kwargs = {} 930s vals = (nan,) 930s 930s tests/test_converter.py:335: AssertionError 930s ______________________ test_310_optional_field_roundtrip _______________________ 930s 930s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 930s > @given(simple_typed_classes(defaults=False)) 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebda3bc40> 930s 930s tests/test_converter.py:344: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, (('', '', ''), nan), {}) 930s 930s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 930s @given(simple_typed_classes(defaults=False)) 930s def test_310_optional_field_roundtrip(cl_and_vals): 930s """ 930s Classes with optional fields can be unstructured and structured. 930s """ 930s converter = Converter() 930s cl, vals, kwargs = cl_and_vals 930s 930s @define 930s class C: 930s a: cl | None 930s 930s inst = C(a=cl(*vals, **kwargs)) 930s > assert inst == converter.structure(converter.unstructure(inst), C) 930s E AssertionError: assert C(a=HypAttrsC... ''), _b=nan)) == C(a=HypAttrsC... ''), _b=nan)) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: HypAttrsClass(a=('', '', ''), _b=nan) != HypAttrsClass(a=('', '', ''), _b=nan) 930s E ... 930s E 930s E ...Full output truncated (6 lines hidden), use '-vv' to show 930s 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={})] 930s 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={})} 930s E Falsifying example: test_310_optional_field_roundtrip( 930s E cl_and_vals=(tests.typed.HypAttrsClass, 930s E (('', '', ''), 930s E struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0]), 930s E {}), 930s E ) 930s E Explanation: 930s E These lines were always and only run by failing examples: 930s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 930s 930s C = .C'> 930s cl = 930s cl_and_vals = (, (('', '', ''), nan), {}) 930s converter = 930s inst = C(a=HypAttrsClass(a=('', '', ''), _b=nan)) 930s kwargs = {} 930s vals = (('', '', ''), nan) 930s 930s tests/test_converter.py:357: AssertionError 930s _________________________ test_omit_default_roundtrip __________________________ 930s 930s @given(simple_typed_classes(defaults=True)) 930s > def test_omit_default_roundtrip(cl_and_vals): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebdabc180> 930s 930s tests/test_converter.py:366: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, ({}, nan), {}) 930s 930s @given(simple_typed_classes(defaults=True)) 930s def test_omit_default_roundtrip(cl_and_vals): 930s """ 930s Omit default on the converter works. 930s """ 930s converter = Converter(omit_if_default=True) 930s cl, vals, kwargs = cl_and_vals 930s 930s @define 930s class C: 930s a: int = 1 930s b: cl = Factory(lambda: cl(*vals, **kwargs)) 930s 930s inst = C() 930s unstructured = converter.unstructure(inst) 930s > assert unstructured == {} 930s E AssertionError: assert {'b': {'_b': nan}} == {} 930s E 930s E Left contains 1 more item: 930s E {'b': {'_b': nan}} 930s E 930s E Full diff: 930s E - {} 930s E + {... 930s E 930s E ...Full output truncated (4 lines hidden), use '-vv' to show 930s E Class fields: [_CountingAttr(counter=0, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={})} 930s E Falsifying example: test_omit_default_roundtrip( 930s E cl_and_vals=(tests.typed.HypAttrsClass, ({}, nan), {}), 930s E ) 930s E Explanation: 930s E These lines were always and only run by failing examples: 930s E /usr/lib/python3.13/pprint.py:197 930s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:128 930s 930s C = .C'> 930s cl = 930s cl_and_vals = (, ({}, nan), {}) 930s converter = 930s inst = C(a=1, b=HypAttrsClass(a={}, _b=nan)) 930s kwargs = {} 930s unstructured = {'b': {'_b': nan}} 930s vals = ({}, nan) 930s 930s tests/test_converter.py:380: AssertionError 930s ____________________ test_unmodified_generated_structuring _____________________ 930s 930s @given( 930s > cl_and_vals=nested_typed_classes() 930s | simple_typed_classes() 930s | simple_typed_dataclasses(), 930s dv=..., 930s ) 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebd616700> 930s 930s tests/test_gen_dict.py:166: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, ('', frozenset(), nan), {}) 930s dv = False 930s 930s @given( 930s cl_and_vals=nested_typed_classes() 930s | simple_typed_classes() 930s | simple_typed_dataclasses(), 930s dv=..., 930s ) 930s def test_unmodified_generated_structuring(cl_and_vals, dv: bool): 930s converter = Converter(detailed_validation=dv) 930s cl, vals, kwargs = cl_and_vals 930s fn = make_dict_structure_fn(cl, converter, _cattrs_detailed_validation=dv) 930s 930s inst = cl(*vals, **kwargs) 930s 930s unstructured = converter.unstructure(inst) 930s 930s assert "Hyp" not in repr(unstructured) 930s 930s converter.register_structure_hook(cl, fn) 930s 930s res = converter.structure(unstructured, cl) 930s 930s > assert inst == res 930s E AssertionError: assert HypClass(a=''...nset(), c=nan) == HypClass(a=''...nset(), c=nan) 930s E 930s E Omitting 2 identical items, use -vv to show 930s E Differing attributes: 930s E ['c'] 930s E 930s E Drill down into differing attribute c: 930s E c: nan != nan 930s E Falsifying example: test_unmodified_generated_structuring( 930s E cl_and_vals=(tests.typed.HypClass, 930s E ('', 930s E frozenset(), 930s E struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0]), 930s E {}), 930s E dv=False, # or any other generated value 930s E ) 930s 930s cl = 930s cl_and_vals = (, ('', frozenset(), nan), {}) 930s converter = 930s dv = False 930s fn = 930s inst = HypClass(a='', _b=frozenset(), c=nan) 930s kwargs = {} 930s res = HypClass(a='', _b=frozenset(), c=nan) 930s unstructured = {'_b': frozenset(), 'a': '', 'c': nan} 930s vals = ('', frozenset(), nan) 930s 930s tests/test_gen_dict.py:186: AssertionError 930s ________________________________ test_renaming _________________________________ 930s 930s @given( 930s > simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 930s ) 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebd6172e0> 930s 930s tests/test_gen_dict.py:190: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, (nan,), {}) 930s data = data(...) 930s 930s @given( 930s simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 930s ) 930s def test_renaming(cl_and_vals, data): 930s converter = Converter() 930s cl, vals, kwargs = cl_and_vals 930s attrs = fields(cl) 930s 930s to_replace = data.draw(sampled_from(attrs)) 930s 930s u_fn = make_dict_unstructure_fn( 930s cl, converter, **{to_replace.name: override(rename="class")} 930s ) 930s s_fn = make_dict_structure_fn( 930s cl, converter, **{to_replace.name: override(rename="class")} 930s ) 930s 930s converter.register_structure_hook(cl, s_fn) 930s converter.register_unstructure_hook(cl, u_fn) 930s 930s inst = cl(*vals, **kwargs) 930s 930s raw = converter.unstructure(inst) 930s 930s assert "class" in raw 930s 930s new_inst = converter.structure(raw, cl) 930s 930s > assert inst == new_inst 930s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: nan != nan 930s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 930s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 930s E Falsifying example: test_renaming( 930s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 930s E data=data(...), 930s E ) 930s 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') 930s 930s 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'),) 930s cl = 930s cl_and_vals = (, (nan,), {}) 930s converter = 930s data = data(...) 930s inst = HypAttrsClass(a=nan) 930s kwargs = {} 930s new_inst = HypAttrsClass(a=nan) 930s raw = {'class': nan} 930s s_fn = 930s 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') 930s u_fn = 930s vals = (nan,) 930s 930s tests/test_gen_dict.py:217: AssertionError 930s ___________________ test_structure_simple_from_dict_default ____________________ 930s 930s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 930s > def test_structure_simple_from_dict_default(cl_and_vals, data): 930s 930s f = .run_test_as_given..wrapped_test at 0x776ebd818720> 930s 930s tests/test_structure_attrs.py:31: 930s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 930s 930s cl_and_vals = (, (0.0,), {}), data = data(...) 930s 930s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 930s def test_structure_simple_from_dict_default(cl_and_vals, data): 930s """Test structuring non-nested attrs classes with default value.""" 930s converter = BaseConverter() 930s cl, vals, kwargs = cl_and_vals 930s obj = cl(*vals, **kwargs) 930s attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] 930s to_remove = data.draw( 930s lists(elements=sampled_from(attrs_with_defaults), unique=True) 930s ) 930s 930s for a in to_remove: 930s if isinstance(a.default, Factory): 930s setattr(obj, a.name, a.default.factory()) 930s else: 930s setattr(obj, a.name, a.default) 930s 930s dumped = asdict(obj) 930s 930s for a in to_remove: 930s del dumped[a.name] 930s 930s > assert obj == converter.structure(dumped, cl) 930s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 930s E 930s E Differing attributes: 930s E ['a'] 930s E 930s E Drill down into differing attribute a: 930s E a: nan != nan 930s E Falsifying example: test_structure_simple_from_dict_default( 930s E cl_and_vals=(tests.untyped.HypClass, (0.0,), {}), 930s E data=data(...), 930s E ) 930s E Draw 1: [Attribute(name='a', 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='a')] 930s 930s a = Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=Non...True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') 930s attrs_with_defaults = [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a')] 930s cl = 930s cl_and_vals = (, (0.0,), {}) 930s converter = 930s data = data(...) 930s dumped = {} 930s kwargs = {} 930s obj = HypClass(a=nan) 930s to_remove = [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a')] 930s vals = (0.0,) 930s 930s tests/test_structure_attrs.py:52: AssertionError 930s =============================== warnings summary =============================== 930s tests/typed.py:417 930s /tmp/autopkgtest.71Fhmo/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) 930s @composite 930s 930s tests/typed.py:826 930s /tmp/autopkgtest.71Fhmo/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) 930s @composite 930s 930s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 930s =========================== short test summary info ============================ 930s FAILED tests/test_baseconverter.py::test_simple_roundtrip - AssertionError: a... 930s FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... 930s FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... 930s FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... 930s FAILED tests/test_converter.py::test_simple_roundtrip - AssertionError: asser... 930s FAILED tests/test_converter.py::test_simple_roundtrip_defaults - AssertionErr... 930s FAILED tests/test_converter.py::test_union_field_roundtrip - AssertionError: ... 930s FAILED tests/test_converter.py::test_310_union_field_roundtrip - ExceptionGro... 930s FAILED tests/test_converter.py::test_optional_field_roundtrip - AssertionErro... 930s FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... 930s FAILED tests/test_converter.py::test_omit_default_roundtrip - AssertionError:... 930s FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - Assert... 930s FAILED tests/test_gen_dict.py::test_renaming - AssertionError: assert HypAttr... 930s FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default 930s ====== 14 failed, 563 passed, 15 xfailed, 2 warnings in 782.43s (0:13:02) ====== 930s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 930s I: pybuild base:311: cd /tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build; python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 931s ============================= test session starts ============================== 931s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 931s cachedir: .pytest_cache 931s 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) 931s hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/.hypothesis/examples')) 931s rootdir: /tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build 931s configfile: pyproject.toml 931s plugins: benchmark-5.1.0, typeguard-4.4.1, hypothesis-6.119.3 931s collecting ... collected 592 items 931s 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 0%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 0%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 0%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 0%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 0%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 1%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 1%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 1%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 1%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 1%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 1%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 2%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 2%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 2%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 2%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 2%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 2%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 3%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 3%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 3%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 3%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 3%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 3%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 4%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 4%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 4%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 4%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 4%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 4%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 5%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 5%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 5%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 5%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 5%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 5%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 6%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 6%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 6%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 6%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 6%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 6%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 7%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 7%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 7%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 7%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 7%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 7%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 8%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 8%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 8%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 8%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 8%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 8%] 931s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 9%] 931s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 9%] 931s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 9%] 931s tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 9%] 931s tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 9%] 931s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 9%] 931s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 10%] 931s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 10%] 931s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 10%] 931s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 10%] 931s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 10%] 931s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 10%] 931s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 11%] 931s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 11%] 931s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 11%] 931s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 11%] 931s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 11%] 931s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 11%] 931s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 12%] 931s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 12%] 931s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 12%] 931s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 12%] 931s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 12%] 931s tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 13%] 931s tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 13%] 931s tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 13%] 931s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 13%] 931s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 13%] 931s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 13%] 931s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 14%] 931s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 14%] 931s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 14%] 931s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 14%] 931s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 14%] 931s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 14%] 931s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 15%] 931s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 15%] 931s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 15%] 931s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 15%] 931s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 15%] 931s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 15%] 931s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 16%] 931s tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 16%] 931s tests/test_copy.py::test_copy[BaseConverter] PASSED [ 16%] 931s tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 16%] 932s tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 16%] 932s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 16%] 932s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 17%] 932s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 17%] 932s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 17%] 932s tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 17%] 932s tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 17%] 932s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 17%] 932s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 18%] 932s tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 18%] 932s tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 18%] 932s tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 18%] 932s tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 18%] 932s tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 18%] 932s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 19%] 932s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 19%] 932s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 19%] 932s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 19%] 932s tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 19%] 932s tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 19%] 932s tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 20%] 932s tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 20%] 932s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 20%] 932s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 20%] 932s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 20%] 932s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 20%] 932s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 21%] 932s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 21%] 932s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 21%] 932s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 21%] 932s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 21%] 932s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 21%] 932s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 22%] 932s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 22%] 932s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 22%] 932s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 22%] 932s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 22%] 932s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 22%] 932s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 23%] 932s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 23%] 932s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 23%] 932s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 23%] 932s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 23%] 932s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 23%] 932s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 24%] 932s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 24%] 932s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 24%] 932s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 24%] 932s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 24%] 932s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 25%] 932s tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 25%] 932s tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 25%] 932s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 25%] 932s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 25%] 932s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 25%] 932s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 26%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 26%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 26%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 26%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 26%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 26%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 27%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 27%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 27%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 27%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 27%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 27%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 28%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 28%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 28%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 28%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 28%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 28%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 29%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 29%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 29%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 29%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 29%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 29%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 30%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 30%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 30%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 30%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 30%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 30%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 31%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 31%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 31%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 31%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 31%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 31%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 32%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 32%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 32%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 32%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 32%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 32%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 33%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 33%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 33%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 33%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 33%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 33%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 34%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 34%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 34%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 34%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 34%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 34%] 932s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 35%] 932s tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 35%] 932s tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 35%] 932s tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 35%] 932s tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 35%] 932s tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 35%] 932s tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] 932s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 36%] 932s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 36%] 932s tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 36%] 932s tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 36%] 932s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 36%] 932s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] 932s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] 932s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 37%] 932s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 37%] 932s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 37%] 932s tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] 932s tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] 932s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] 932s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 38%] 932s tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 38%] 932s tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 38%] 932s tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] 932s tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] 932s tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] 932s tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] 932s tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 39%] 932s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 39%] 932s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] 932s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] 932s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] 932s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] 932s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] 932s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 40%] 932s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] 932s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] 932s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] 932s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] 932s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] 932s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 41%] 932s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] 932s tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] 932s tests/test_copy.py::test_copy[Converter] PASSED [ 42%] 932s tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] 932s tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] 932s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] 932s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] 932s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] 932s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] 932s tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] 932s tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] 932s tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] 932s tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] 932s tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] 932s tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] 932s tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] 932s tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] 932s tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] 932s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 45%] 932s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] 932s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] 932s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] 932s tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] 932s tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] 932s tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 46%] 932s tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 46%] 932s tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] 932s tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] 932s tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] 932s tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] 932s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 47%] 932s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 47%] 932s tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] 932s tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] 932s tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] 932s tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] 932s tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 48%] 932s tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 48%] 932s tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 48%] 932s tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] 932s tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] 932s tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] 932s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 49%] 932s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 49%] 932s tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 49%] 932s tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] 932s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] 932s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 50%] 932s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 50%] 932s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 50%] 932s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 50%] 932s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 50%] 932s tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] 932s tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 51%] 932s tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 51%] 932s tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 51%] 932s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 51%] 932s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 51%] 932s tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 51%] 932s tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 52%] 932s tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 52%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 52%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 52%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 52%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 52%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 53%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 53%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 53%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 53%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 53%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 53%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 54%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 54%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 54%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 54%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 54%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 54%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 55%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 55%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 55%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 55%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 55%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 55%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 56%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 56%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 56%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 56%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 56%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 56%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 57%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 57%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 57%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 57%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 57%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 57%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 58%] 932s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 58%] 932s tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 58%] 933s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 58%] 933s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 58%] 933s tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 58%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 59%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 59%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 59%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 59%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 59%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 59%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 60%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 60%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 60%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 60%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 60%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 60%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 61%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 61%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 61%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 61%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 61%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 61%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 62%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 62%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 62%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 62%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 62%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 63%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 63%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 63%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 63%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 63%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 63%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 64%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 64%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 64%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 64%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 64%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 64%] 933s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 65%] 933s tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 65%] 933s tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 65%] 933s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 65%] 933s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 65%] 933s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 65%] 933s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 66%] 933s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 66%] 933s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 66%] 933s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 66%] 933s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 66%] 933s tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 66%] 933s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 67%] 933s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 67%] 933s tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 67%] 933s tests/test_baseconverter.py::test_simple_roundtrip FAILED [ 67%] 935s tests/test_baseconverter.py::test_simple_roundtrip_defaults PASSED [ 67%] 935s tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 67%] 1063s tests/test_baseconverter.py::test_nested_roundtrip_tuple FAILED [ 68%] 1091s tests/test_baseconverter.py::test_union_field_roundtrip FAILED [ 68%] 1091s tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 68%] 1093s tests/test_baseconverter.py::test_optional_field_roundtrip FAILED [ 68%] 1093s tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 68%] 1094s tests/test_converter.py::test_simple_roundtrip FAILED [ 68%] 1095s tests/test_converter.py::test_simple_roundtrip_tuple PASSED [ 69%] 1095s tests/test_converter.py::test_simple_roundtrip_defaults FAILED [ 69%] 1095s tests/test_converter.py::test_simple_roundtrip_defaults_tuple FAILED [ 69%] 1097s tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden PASSED [ 69%] 1098s tests/test_converter.py::test_forbid_extra_keys PASSED [ 69%] 1099s tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 69%] 1099s tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 70%] 1165s tests/test_converter.py::test_nested_roundtrip FAILED [ 70%] 1208s tests/test_converter.py::test_nested_roundtrip_tuple FAILED [ 70%] 1208s tests/test_converter.py::test_union_field_roundtrip FAILED [ 70%] 1209s tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 70%] 1209s tests/test_converter.py::test_optional_field_roundtrip FAILED [ 70%] 1209s tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 71%] 1209s tests/test_converter.py::test_omit_default_roundtrip FAILED [ 71%] 1209s tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 71%] 1210s tests/test_converter.py::test_type_overrides PASSED [ 71%] 1210s tests/test_converter.py::test_calling_back PASSED [ 71%] 1210s tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 71%] 1210s tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 72%] 1210s tests/test_converter.py::test_overriding_generated_structure PASSED [ 72%] 1210s tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 72%] 1213s tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 72%] 1213s tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 72%] 1213s tests/test_converter.py::test_annotated_attrs PASSED [ 72%] 1213s tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 73%] 1213s tests/test_copy.py::test_copy_converter PASSED [ 73%] 1213s tests/test_copy.py::test_detailed_validation PASSED [ 73%] 1213s tests/test_copy.py::test_col_overrides PASSED [ 73%] 1213s tests/test_disambiguators.py::test_edge_errors PASSED [ 73%] 1214s tests/test_disambiguators.py::test_fallback PASSED [ 73%] 1227s tests/test_disambiguators.py::test_disambiguation PASSED [ 74%] 1227s tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 74%] 1227s tests/test_disambiguators.py::test_default_no_literals PASSED [ 74%] 1227s tests/test_final.py::test_unstructure_final[True] PASSED [ 74%] 1227s tests/test_final.py::test_unstructure_final[False] PASSED [ 74%] 1227s tests/test_final.py::test_structure_final[True] PASSED [ 75%] 1227s tests/test_final.py::test_structure_final[False] PASSED [ 75%] 1227s tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 75%] 1227s tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 75%] 1227s tests/test_final.py::test_structure_bare_final[True] PASSED [ 75%] 1227s tests/test_final.py::test_structure_bare_final[False] PASSED [ 75%] 1227s tests/test_function_dispatch.py::test_function_dispatch PASSED [ 76%] 1227s tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 76%] 1227s tests/test_gen.py::test_structure_linecache PASSED [ 76%] 1227s tests/test_gen.py::test_unstructure_linecache PASSED [ 76%] 1227s tests/test_gen.py::test_no_linecache PASSED [ 76%] 1227s tests/test_gen.py::test_linecache_dedup PASSED [ 76%] 1229s tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 77%] 1232s tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 77%] 1235s tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 77%] 1237s tests/test_gen_dict.py::test_individual_overrides PASSED [ 77%] 1237s tests/test_gen_dict.py::test_unmodified_generated_structuring FAILED [ 77%] 1237s tests/test_gen_dict.py::test_renaming FAILED [ 77%] 1237s tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 78%] 1237s tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 78%] 1237s tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 78%] 1237s tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 78%] 1237s tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 78%] 1237s tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 78%] 1237s tests/test_gen_dict_563.py::test_roundtrip PASSED [ 79%] 1237s tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 79%] 1237s tests/test_generics.py::test_deep_copy PASSED [ 79%] 1237s tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 79%] 1237s tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 79%] 1237s tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 79%] 1237s tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 80%] 1237s tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 80%] 1237s tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 80%] 1237s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 80%] 1237s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 80%] 1237s tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 80%] 1237s tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 81%] 1237s tests/test_generics.py::test_unstructure_optional[True] PASSED [ 81%] 1237s tests/test_generics.py::test_unstructure_optional[False] PASSED [ 81%] 1237s tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 81%] 1237s tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 81%] 1237s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 81%] 1237s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 82%] 1237s tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 82%] 1237s tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 82%] 1237s tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 82%] 1237s tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 82%] 1237s tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 82%] 1237s tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 83%] 1237s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 83%] 1237s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 83%] 1237s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 83%] 1237s tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 83%] 1237s tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 83%] 1237s tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 84%] 1237s tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 84%] 1237s tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 84%] 1237s tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 84%] 1237s tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 84%] 1237s tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 84%] 1237s tests/test_recursive.py::test_simple_recursive PASSED [ 85%] 1237s tests/test_structure.py::test_structuring_primitives PASSED [ 85%] 1238s tests/test_structure.py::test_structuring_seqs PASSED [ 85%] 1238s tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 85%] 1238s tests/test_structure.py::test_structuring_sets PASSED [ 85%] 1239s tests/test_structure.py::test_stringifying_sets PASSED [ 85%] 1239s tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] 1241s tests/test_structure.py::test_stringifying_tuples PASSED [ 86%] 1241s tests/test_structure.py::test_structuring_dicts PASSED [ 86%] 1241s tests/test_structure.py::test_structuring_dicts_opts PASSED [ 86%] 1241s tests/test_structure.py::test_stringifying_dicts PASSED [ 86%] 1241s tests/test_structure.py::test_structuring_optional_primitives PASSED [ 86%] 1241s tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] 1241s tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 87%] 1241s tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 87%] 1241s tests/test_structure.py::test_structure_hook_func PASSED [ 87%] 1243s tests/test_structure.py::test_structuring_enums PASSED [ 87%] 1243s tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] 1243s tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] 1243s tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] 1243s tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 88%] 1243s tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 88%] 1244s tests/test_structure_attrs.py::test_roundtrip PASSED [ 88%] 1245s tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] 1246s tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] 1248s tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] 1249s tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 89%] 1249s tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 89%] 1249s tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 89%] 1249s tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] 1249s tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] 1249s tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] 1249s tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] 1249s tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 90%] 1249s tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 90%] 1249s tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] 1249s tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] 1249s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] 1249s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] 1249s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] 1249s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 91%] 1249s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] 1249s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] 1250s tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] 1250s tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] 1252s tests/test_typeddicts.py::test_int_override PASSED [ 92%] 1252s tests/test_typeddicts.py::test_extra_keys PASSED [ 92%] 1253s tests/test_typeddicts.py::test_generics PASSED [ 93%] 1254s tests/test_typeddicts.py::test_not_required PASSED [ 93%] 1255s tests/test_typeddicts.py::test_required PASSED [ 93%] 1256s tests/test_typeddicts.py::test_omit PASSED [ 93%] 1256s tests/test_typeddicts.py::test_rename PASSED [ 93%] 1257s tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] 1257s tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] 1257s tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] 1257s tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] 1257s tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] 1257s tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] 1257s tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] 1257s tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1257s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] 1257s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1257s tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] 1257s tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] 1257s tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] 1258s tests/test_unstructure.py::test_set_unstructure PASSED [ 96%] 1258s tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] 1259s tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] 1262s tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] 1266s tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] 1267s tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] 1270s tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 97%] 1270s tests/test_v.py::test_attribute_errors PASSED [ 97%] 1270s tests/test_v.py::test_class_errors PASSED [ 97%] 1270s tests/test_v.py::test_sequence_errors PASSED [ 97%] 1270s tests/test_v.py::test_mapping_errors PASSED [ 97%] 1270s tests/test_v.py::test_custom_error_fn PASSED [ 97%] 1270s tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] 1270s tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] 1270s tests/test_validation.py::test_class_validation PASSED [ 98%] 1270s tests/test_validation.py::test_external_class_validation PASSED [ 98%] 1270s tests/test_validation.py::test_list_validation PASSED [ 98%] 1270s tests/test_validation.py::test_mapping_validation PASSED [ 98%] 1270s tests/test_validation.py::test_counter_validation PASSED [ 99%] 1270s tests/test_validation.py::test_set_validation PASSED [ 99%] 1270s tests/test_validation.py::test_frozenset_validation PASSED [ 99%] 1270s tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] 1270s tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] 1270s tests/test_validation.py::test_notes_pickling PASSED [100%] 1270s 1270s =================================== FAILURES =================================== 1270s ____________________________ test_simple_roundtrip _____________________________ 1270s 1270s @given(simple_typed_classes(newtypes=False), unstructure_strats) 1270s > def test_simple_roundtrip(cls_and_vals, strat): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c992020> 1270s 1270s tests/test_baseconverter.py:18: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cls_and_vals = (, (nan,), {}) 1270s strat = 1270s 1270s @given(simple_typed_classes(newtypes=False), unstructure_strats) 1270s def test_simple_roundtrip(cls_and_vals, strat): 1270s """ 1270s Simple classes with metadata can be unstructured and restructured. 1270s """ 1270s converter = BaseConverter(unstruct_strat=strat) 1270s cl, vals, kwargs = cls_and_vals 1270s assume(strat is UnstructureStrategy.AS_DICT or not kwargs) 1270s inst = cl(*vals, **kwargs) 1270s > assert inst == converter.structure(converter.unstructure(inst), cl) 1270s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_simple_roundtrip( 1270s E cls_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1270s E strat=UnstructureStrategy.AS_DICT, 1270s E ) 1270s 1270s cl = 1270s cls_and_vals = (, (nan,), {}) 1270s converter = 1270s inst = HypAttrsClass(a=nan) 1270s kwargs = {} 1270s strat = 1270s vals = (nan,) 1270s 1270s tests/test_baseconverter.py:26: AssertionError 1270s ____________________________ test_nested_roundtrip _____________________________ 1270s 1270s @given(nested_typed_classes(newtypes=False)) 1270s > def test_nested_roundtrip(cls_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c992d40> 1270s 1270s tests/test_baseconverter.py:46: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cls_and_vals = (, (nan,), {}) 1270s 1270s @given(nested_typed_classes(newtypes=False)) 1270s def test_nested_roundtrip(cls_and_vals): 1270s """ 1270s Nested classes with metadata can be unstructured and restructured. 1270s """ 1270s converter = BaseConverter() 1270s cl, vals, kwargs = cls_and_vals 1270s # Vals are a tuple, convert into a dictionary. 1270s inst = cl(*vals, **kwargs) 1270s > assert inst == converter.structure(converter.unstructure(inst), cl) 1270s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_nested_roundtrip( 1270s E cls_and_vals=(tests.typed.HypClass, 1270s E (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0],), 1270s E {}), 1270s E ) 1270s 1270s cl = 1270s cls_and_vals = (, (nan,), {}) 1270s converter = 1270s inst = HypClass(a=nan) 1270s kwargs = {} 1270s vals = (nan,) 1270s 1270s tests/test_baseconverter.py:54: AssertionError 1270s _________________________ test_nested_roundtrip_tuple __________________________ 1270s 1270s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1270s > def test_nested_roundtrip_tuple(cls_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9931a0> 1270s 1270s tests/test_baseconverter.py:58: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cls_and_vals = (, (nan,), {}) 1270s 1270s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1270s def test_nested_roundtrip_tuple(cls_and_vals): 1270s """ 1270s Nested classes with metadata can be unstructured and restructured. 1270s """ 1270s converter = BaseConverter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1270s cl, vals, kwargs = cls_and_vals 1270s assert not kwargs 1270s # Vals are a tuple, convert into a dictionary. 1270s inst = cl(*vals) 1270s > assert inst == converter.structure(converter.unstructure(inst), cl) 1270s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_nested_roundtrip_tuple( 1270s E cls_and_vals=(tests.typed.HypClass, 1270s E (struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffffe))[0],), 1270s E {}), 1270s E ) 1270s 1270s cl = 1270s cls_and_vals = (, (nan,), {}) 1270s converter = 1270s inst = HypClass(a=nan) 1270s kwargs = {} 1270s vals = (nan,) 1270s 1270s tests/test_baseconverter.py:67: AssertionError 1270s __________________________ test_union_field_roundtrip __________________________ 1270s + Exception Group Traceback (most recent call last): 1270s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1270s | result: TResult | None = func() 1270s | ^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1270s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1270s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1270s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1270s | return outcome.get_result() 1270s | ^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1270s | raise exc.with_traceback(exc.__traceback__) 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1270s | yield from thread_exception_runtest_hook() 1270s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1270s | yield 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1270s | yield from unraisable_exception_runtest_hook() 1270s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1270s | yield 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1270s | yield from self._runtest_for(item, "call") 1270s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1270s | yield 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1270s | return (yield) 1270s | ^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1270s | return (yield) 1270s | ^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1270s | res = hook_impl.function(*args) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1270s | item.runtest() 1270s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1270s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1270s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1270s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1270s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1270s | raise exception.with_traceback(exception.__traceback__) 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1270s | res = hook_impl.function(*args) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1270s | result = testfunction(**testargs) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_baseconverter.py", line 71, in test_union_field_roundtrip 1270s | @given( 1270s | 1270s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1270s | raise the_error_hypothesis_found 1270s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1270s +-+---------------- 1 ---------------- 1270s | Traceback (most recent call last): 1270s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_baseconverter.py", line 109, in test_union_field_roundtrip 1270s | assert inst == converter.structure(converter.unstructure(inst), C) 1270s | AssertionError: assert C(a=HypAttrsC... g=[], _h=[])) == C(a=HypAttrsC... g=[], _h=[])) 1270s | 1270s | Differing attributes: 1270s | ['a'] 1270s | 1270s | Drill down into differing attribute a: 1270s | a: HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h=[]) != HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h=[]) 1270s | ... 1270s | 1270s | ...Full output truncated (6 lines hidden), use '-vv' to show 1270s | 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={})] 1270s | 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={})} 1270s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s | Falsifying example: test_union_field_roundtrip( 1270s | # The test always failed when commented parts were varied together. 1270s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1270s | (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 1270s | {}, 1270s | [], 1270s | [], 1270s | [], 1270s | []), 1270s | {}), 1270s | cl_and_vals_b=(tests.typed.HypAttrsClass, 1270s | (None,), 1270s | {}), # or any other generated value 1270s | strat=UnstructureStrategy.AS_TUPLE, # or any other generated value 1270s | ) 1270s +---------------- 2 ---------------- 1270s | Traceback (most recent call last): 1270s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_baseconverter.py", line 99, in test_union_field_roundtrip 1270s | assert inst == converter.structure(converter.unstructure(inst), C) 1270s | AssertionError: assert C(a=HypAttrsC... g=[], _h=[])) == C(a=HypAttrsC... g=[], _h=[])) 1270s | 1270s | Differing attributes: 1270s | ['a'] 1270s | 1270s | Drill down into differing attribute a: 1270s | a: HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h=[]) != HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h=[]) 1270s | ... 1270s | 1270s | ...Full output truncated (6 lines hidden), use '-vv' to show 1270s | 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={})] 1270s | 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={})} 1270s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s | Falsifying example: test_union_field_roundtrip( 1270s | # The test always failed when commented parts were varied together. 1270s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1270s | (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 1270s | {}, 1270s | [], 1270s | [], 1270s | [], 1270s | []), 1270s | {}), 1270s | cl_and_vals_b=(tests.typed.HypAttrsClass, 1270s | (None,), 1270s | {}), # or any other generated value 1270s | strat=UnstructureStrategy.AS_DICT, # or any other generated value 1270s | ) 1270s | Explanation: 1270s | These lines were always and only run by failing examples: 1270s | /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1270s +------------------------------------ 1270s ________________________ test_310_union_field_roundtrip ________________________ 1270s 1270s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1270s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9936a0> 1270s 1270s tests/test_baseconverter.py:113: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals_a = (, ('', nan, {}), {'_f': 0}) 1270s cl_and_vals_b = (, (None,), {}) 1270s strat = 1270s 1270s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1270s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1270s @given( 1270s simple_typed_classes(defaults=False, newtypes=False), 1270s simple_typed_classes(defaults=False, newtypes=False), 1270s unstructure_strats, 1270s ) 1270s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1270s """ 1270s Classes with union fields can be unstructured and structured. 1270s """ 1270s converter = BaseConverter(unstruct_strat=strat) 1270s cl_a, vals_a, kwargs_a = cl_and_vals_a 1270s cl_b, vals_b, _ = cl_and_vals_b 1270s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1270s a_field_names = {a.name for a in fields(cl_a)} 1270s b_field_names = {a.name for a in fields(cl_b)} 1270s assume(a_field_names) 1270s assume(b_field_names) 1270s 1270s common_names = a_field_names & b_field_names 1270s assume(len(a_field_names) > len(common_names)) 1270s 1270s @define 1270s class C: 1270s a: cl_a | cl_b 1270s 1270s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1270s 1270s if strat is UnstructureStrategy.AS_DICT: 1270s > assert inst == converter.structure(converter.unstructure(inst), C) 1270s E AssertionError: assert C(a=HypAttrsC..., _d={}, e=0)) == C(a=HypAttrsC..., _d={}, e=0)) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: HypAttrsClass(a='', _b=nan, _d={}, e=0) != HypAttrsClass(a='', _b=nan, _d={}, e=0) 1270s E ... 1270s E 1270s E ...Full output truncated (6 lines hidden), use '-vv' to show 1270s 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={})] 1270s 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={})} 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_310_union_field_roundtrip( 1270s E cl_and_vals_a=(tests.typed.HypAttrsClass, ('', nan, {}), {'_f': 0}), 1270s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1270s E strat=UnstructureStrategy.AS_DICT, 1270s E ) 1270s 1270s C = .C'> 1270s _ = {} 1270s a_field_names = {'_b', '_d', 'a', 'e'} 1270s b_field_names = {'a'} 1270s cl_a = 1270s cl_and_vals_a = (, ('', nan, {}), {'_f': 0}) 1270s cl_and_vals_b = (, (None,), {}) 1270s cl_b = 1270s common_names = {'a'} 1270s converter = 1270s inst = C(a=HypAttrsClass(a='', _b=nan, _d={}, e=0)) 1270s kwargs_a = {'_f': 0} 1270s strat = 1270s vals_a = ('', nan, {}) 1270s vals_b = (None,) 1270s 1270s tests/test_baseconverter.py:142: AssertionError 1270s ________________________ test_optional_field_roundtrip _________________________ 1270s 1270s @given(simple_typed_classes(defaults=False, newtypes=False)) 1270s > def test_optional_field_roundtrip(cl_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9b8040> 1270s 1270s tests/test_baseconverter.py:156: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, (nan,), {}) 1270s 1270s @given(simple_typed_classes(defaults=False, newtypes=False)) 1270s def test_optional_field_roundtrip(cl_and_vals): 1270s """ 1270s Classes with optional fields can be unstructured and structured. 1270s """ 1270s converter = BaseConverter() 1270s cl, vals, kwargs = cl_and_vals 1270s 1270s @define 1270s class C: 1270s a: Optional[cl] 1270s 1270s inst = C(a=cl(*vals, **kwargs)) 1270s > assert inst == converter.structure(converter.unstructure(inst), C) 1270s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1270s E ... 1270s E 1270s E ...Full output truncated (5 lines hidden), use '-vv' to show 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_optional_field_roundtrip( 1270s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1270s E ) 1270s E Explanation: 1270s E These lines were always and only run by failing examples: 1270s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1270s 1270s C = .C'> 1270s cl = 1270s cl_and_vals = (, (nan,), {}) 1270s converter = 1270s inst = C(a=HypAttrsClass(a=nan)) 1270s kwargs = {} 1270s vals = (nan,) 1270s 1270s tests/test_baseconverter.py:168: AssertionError 1270s ______________________ test_310_optional_field_roundtrip _______________________ 1270s 1270s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1270s > @given(simple_typed_classes(defaults=False, newtypes=False)) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9b8180> 1270s 1270s tests/test_baseconverter.py:177: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, (nan,), {}) 1270s 1270s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1270s @given(simple_typed_classes(defaults=False, newtypes=False)) 1270s def test_310_optional_field_roundtrip(cl_and_vals): 1270s """ 1270s Classes with optional fields can be unstructured and structured. 1270s """ 1270s converter = BaseConverter() 1270s cl, vals, kwargs = cl_and_vals 1270s 1270s @define 1270s class C: 1270s a: cl | None 1270s 1270s inst = C(a=cl(*vals, **kwargs)) 1270s > assert inst == converter.structure(converter.unstructure(inst), C) 1270s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1270s E ... 1270s E 1270s E ...Full output truncated (5 lines hidden), use '-vv' to show 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_310_optional_field_roundtrip( 1270s E cl_and_vals=(tests.typed.HypAttrsClass, 1270s E (struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0],), 1270s E {}), 1270s E ) 1270s 1270s C = .C'> 1270s cl = 1270s cl_and_vals = (, (nan,), {}) 1270s converter = 1270s inst = C(a=HypAttrsClass(a=nan)) 1270s kwargs = {} 1270s vals = (nan,) 1270s 1270s tests/test_baseconverter.py:190: AssertionError 1270s ____________________________ test_simple_roundtrip _____________________________ 1270s 1270s @given(simple_typed_classes() | simple_typed_dataclasses(), booleans()) 1270s > def test_simple_roundtrip(cls_and_vals, detailed_validation): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9b9760> 1270s 1270s tests/test_converter.py:41: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cls_and_vals = (, (frozenset(), nan), {}) 1270s detailed_validation = False 1270s 1270s @given(simple_typed_classes() | simple_typed_dataclasses(), booleans()) 1270s def test_simple_roundtrip(cls_and_vals, detailed_validation): 1270s """ 1270s Simple classes with metadata can be unstructured and restructured. 1270s """ 1270s converter = Converter(detailed_validation=detailed_validation) 1270s cl, vals, kwargs = cls_and_vals 1270s inst = cl(*vals, **kwargs) 1270s unstructured = converter.unstructure(inst) 1270s assert "Hyp" not in repr(unstructured) 1270s > assert inst == converter.structure(unstructured, cl) 1270s E AssertionError: assert HypAttrsClass...set(), _b=nan) == HypAttrsClass...set(), _b=nan) 1270s E 1270s E Omitting 1 identical items, use -vv to show 1270s E Differing attributes: 1270s E ['_b'] 1270s E 1270s E Drill down into differing attribute _b: 1270s E _b: nan != nan 1270s 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={})] 1270s 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={})} 1270s E Falsifying example: test_simple_roundtrip( 1270s E cls_and_vals=(tests.typed.HypAttrsClass, (frozenset(), nan), {}), 1270s E detailed_validation=False, 1270s E ) 1270s 1270s cl = 1270s cls_and_vals = (, (frozenset(), nan), {}) 1270s converter = 1270s detailed_validation = False 1270s inst = HypAttrsClass(a=frozenset(), _b=nan) 1270s kwargs = {} 1270s unstructured = {'_b': nan, 'a': frozenset()} 1270s vals = (frozenset(), nan) 1270s 1270s tests/test_converter.py:50: AssertionError 1270s ________________________ test_simple_roundtrip_defaults ________________________ 1270s 1270s @given(simple_typed_attrs(defaults=True)) 1270s > def test_simple_roundtrip_defaults(attr_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9ba020> 1270s 1270s tests/test_converter.py:73: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s attr_and_vals = (_CountingAttr(counter=43270, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1270s 1270s @given(simple_typed_attrs(defaults=True)) 1270s def test_simple_roundtrip_defaults(attr_and_vals): 1270s """ 1270s Simple classes with metadata can be unstructured and restructured. 1270s """ 1270s a, _ = attr_and_vals 1270s cl = make_class("HypClass", {"a": a}) 1270s converter = Converter() 1270s inst = cl() 1270s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 1270s inst 1270s ) 1270s > assert inst == converter.structure(converter.unstructure(inst), cl) 1270s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_simple_roundtrip_defaults( 1270s E attr_and_vals=(_CountingAttr(counter=43270, 1270s E _default=nan, 1270s E repr=True, 1270s E eq=True, 1270s E order=True, 1270s E hash=None, 1270s E init=True, 1270s E on_setattr=None, 1270s E alias=None, 1270s E metadata={}), 1270s E floats()), 1270s E ) 1270s 1270s _ = floats() 1270s a = _CountingAttr(counter=43270, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 1270s attr_and_vals = (_CountingAttr(counter=43270, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1270s cl = 1270s converter = 1270s inst = HypClass(a=nan) 1270s 1270s tests/test_converter.py:84: AssertionError 1270s _____________________ test_simple_roundtrip_defaults_tuple _____________________ 1270s 1270s @given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False)) 1270s > def test_simple_roundtrip_defaults_tuple(attr_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9ba480> 1270s 1270s tests/test_converter.py:88: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s attr_and_vals = (_CountingAttr(counter=43377, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1270s 1270s @given(simple_typed_attrs(defaults=True, kw_only=False, newtypes=False)) 1270s def test_simple_roundtrip_defaults_tuple(attr_and_vals): 1270s """ 1270s Simple classes with metadata can be unstructured and restructured. 1270s """ 1270s a, _ = attr_and_vals 1270s cl = make_class("HypClass", {"a": a}) 1270s converter = Converter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1270s inst = cl() 1270s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 1270s inst 1270s ) 1270s > assert inst == converter.structure(converter.unstructure(inst), cl) 1270s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_simple_roundtrip_defaults_tuple( 1270s E attr_and_vals=(_CountingAttr(counter=43377, 1270s E _default=nan, 1270s E repr=True, 1270s E eq=True, 1270s E order=True, 1270s E hash=None, 1270s E init=True, 1270s E on_setattr=None, 1270s E alias=None, 1270s E metadata={}), 1270s E floats()), 1270s E ) 1270s 1270s _ = floats() 1270s a = _CountingAttr(counter=43377, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 1270s attr_and_vals = (_CountingAttr(counter=43377, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1270s cl = 1270s converter = 1270s inst = HypClass(a=nan) 1270s 1270s tests/test_converter.py:99: AssertionError 1270s ____________________________ test_nested_roundtrip _____________________________ 1270s 1270s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1270s > def test_nested_roundtrip(cls_and_vals, omit_if_default): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9bae80> 1270s 1270s tests/test_converter.py:203: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cls_and_vals = (, (nan, [HypClass(a=None)]), {}) 1270s omit_if_default = False 1270s 1270s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1270s def test_nested_roundtrip(cls_and_vals, omit_if_default): 1270s """ 1270s Nested classes with metadata can be unstructured and restructured. 1270s """ 1270s converter = Converter(omit_if_default=omit_if_default) 1270s cl, vals, kwargs = cls_and_vals 1270s # Vals are a tuple, convert into a dictionary. 1270s inst = cl(*vals, **kwargs) 1270s unstructured = converter.unstructure(inst) 1270s > assert inst == converter.structure(unstructured, cl) 1270s E AssertionError: assert HypClass(a=na...lass(a=None)]) == HypClass(a=na...lass(a=None)]) 1270s E 1270s E Omitting 1 identical items, use -vv to show 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_nested_roundtrip( 1270s E cls_and_vals=(tests.typed.HypClass, (nan, [HypClass(a=None)]), {}), 1270s E omit_if_default=False, # or any other generated value 1270s E ) 1270s E Explanation: 1270s E These lines were always and only run by failing examples: 1270s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1270s 1270s cl = 1270s cls_and_vals = (, (nan, [HypClass(a=None)]), {}) 1270s converter = 1270s inst = HypClass(a=nan, _b=[HypClass(a=None)]) 1270s kwargs = {} 1270s omit_if_default = False 1270s unstructured = {'_b': [{'a': None}], 'a': nan} 1270s vals = (nan, [HypClass(a=None)]) 1270s 1270s tests/test_converter.py:212: AssertionError 1270s _________________________ test_nested_roundtrip_tuple __________________________ 1270s 1270s @given( 1270s > nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 1270s booleans(), 1270s ) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9bb2e0> 1270s 1270s tests/test_converter.py:216: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cls_and_vals = (, (nan, [HypClass(a=None)]), {}) 1270s omit_if_default = False 1270s 1270s @given( 1270s nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 1270s booleans(), 1270s ) 1270s def test_nested_roundtrip_tuple(cls_and_vals, omit_if_default: bool): 1270s """ 1270s Nested classes with metadata can be unstructured and restructured. 1270s """ 1270s converter = Converter( 1270s unstruct_strat=UnstructureStrategy.AS_TUPLE, omit_if_default=omit_if_default 1270s ) 1270s cl, vals, _ = cls_and_vals 1270s # Vals are a tuple, convert into a dictionary. 1270s inst = cl(*vals) 1270s unstructured = converter.unstructure(inst) 1270s > assert inst == converter.structure(unstructured, cl) 1270s E AssertionError: assert HypClass(a=na...lass(a=None)]) == HypClass(a=na...lass(a=None)]) 1270s E 1270s E Omitting 1 identical items, use -vv to show 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_nested_roundtrip_tuple( 1270s E cls_and_vals=(tests.typed.HypClass, (nan, [HypClass(a=None)]), {}), 1270s E omit_if_default=False, # or any other generated value 1270s E ) 1270s 1270s _ = {} 1270s cl = 1270s cls_and_vals = (, (nan, [HypClass(a=None)]), {}) 1270s converter = 1270s inst = HypClass(a=nan, _b=[HypClass(a=None)]) 1270s omit_if_default = False 1270s unstructured = (nan, [(None,)]) 1270s vals = (nan, [HypClass(a=None)]) 1270s 1270s tests/test_converter.py:230: AssertionError 1270s __________________________ test_union_field_roundtrip __________________________ 1270s 1270s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1270s > @given( 1270s simple_typed_classes(defaults=False, newtypes=False), 1270s simple_typed_classes(defaults=False, newtypes=False), 1270s unstructure_strats, 1270s ) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9bb7e0> 1270s 1270s tests/test_converter.py:234: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals_a = (, (0, 0, '', frozenset(), frozenset(), frozenset(), ...), {'_l': nan}) 1270s cl_and_vals_b = (, (None,), {}) 1270s strat = 1270s 1270s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1270s @given( 1270s simple_typed_classes(defaults=False, newtypes=False), 1270s simple_typed_classes(defaults=False, newtypes=False), 1270s unstructure_strats, 1270s ) 1270s def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1270s """ 1270s Classes with union fields can be unstructured and structured. 1270s """ 1270s converter = Converter(unstruct_strat=strat) 1270s cl_a, vals_a, kwargs_a = cl_and_vals_a 1270s cl_b, _, _ = cl_and_vals_b 1270s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1270s a_field_names = {a.name for a in fields(cl_a)} 1270s b_field_names = {a.name for a in fields(cl_b)} 1270s assume(a_field_names) 1270s assume(b_field_names) 1270s 1270s common_names = a_field_names & b_field_names 1270s assume(len(a_field_names) > len(common_names)) 1270s 1270s @define 1270s class C: 1270s a: Union[cl_a, cl_b] 1270s 1270s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1270s 1270s if strat is UnstructureStrategy.AS_DICT: 1270s unstructured = converter.unstructure(inst) 1270s > assert inst == converter.structure(converter.unstructure(unstructured), C) 1270s E AssertionError: assert C(a=HypAttrsC..., ''), k=nan)) == C(a=HypAttrsC..., ''), k=nan)) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: HypAttrsClass(a=0, _b=0, _d='', e=frozenset(), g=frozenset(), _h=frozenset(), _j=('', '', ''), k=nan) != HypAttrsClass(a=0, _b=0, _d='', e=frozenset(), g=frozenset(), _h=frozenset(), _j=('', '', ''), k=nan) 1270s E ... 1270s E 1270s E ...Full output truncated (6 lines hidden), use '-vv' to show 1270s 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={})] 1270s 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={})} 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_union_field_roundtrip( 1270s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1270s E (0, 0, '', frozenset(), frozenset(), frozenset(), ('', '', '')), 1270s E {'_l': nan}), 1270s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1270s E strat=UnstructureStrategy.AS_DICT, 1270s E ) 1270s 1270s C = .C'> 1270s _ = {} 1270s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 1270s b_field_names = {'a'} 1270s cl_a = 1270s cl_and_vals_a = (, (0, 0, '', frozenset(), frozenset(), frozenset(), ...), {'_l': nan}) 1270s cl_and_vals_b = (, (None,), {}) 1270s cl_b = 1270s common_names = {'a'} 1270s converter = 1270s inst = C(a=HypAttrsClass(a=0, _b=0, _d='', e=frozenset(), g=frozenset(), _h=frozenset(), _j=('', '', ''), k=nan)) 1270s kwargs_a = {'_l': nan} 1270s strat = 1270s unstructured = {'a': {'_b': 0, '_d': '', '_h': frozenset(), '_j': ['', '', ''], ...}} 1270s vals_a = (0, 0, '', frozenset(), frozenset(), frozenset(), ...) 1270s 1270s tests/test_converter.py:263: AssertionError 1270s ________________________ test_310_union_field_roundtrip ________________________ 1270s + Exception Group Traceback (most recent call last): 1270s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 341, in from_call 1270s | result: TResult | None = func() 1270s | ^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 242, in 1270s | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1270s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1270s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 182, in _multicall 1270s | return outcome.get_result() 1270s | ^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_result.py", line 100, in get_result 1270s | raise exc.with_traceback(exc.__traceback__) 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 92, in pytest_runtest_call 1270s | yield from thread_exception_runtest_hook() 1270s | File "/usr/lib/python3/dist-packages/_pytest/threadexception.py", line 68, in thread_exception_runtest_hook 1270s | yield 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 95, in pytest_runtest_call 1270s | yield from unraisable_exception_runtest_hook() 1270s | File "/usr/lib/python3/dist-packages/_pytest/unraisableexception.py", line 70, in unraisable_exception_runtest_hook 1270s | yield 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 846, in pytest_runtest_call 1270s | yield from self._runtest_for(item, "call") 1270s | File "/usr/lib/python3/dist-packages/_pytest/logging.py", line 829, in _runtest_for 1270s | yield 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/capture.py", line 880, in pytest_runtest_call 1270s | return (yield) 1270s | ^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 167, in _multicall 1270s | teardown.throw(outcome._exception) 1270s | File "/usr/lib/python3/dist-packages/_pytest/skipping.py", line 257, in pytest_runtest_call 1270s | return (yield) 1270s | ^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1270s | res = hook_impl.function(*args) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/_pytest/runner.py", line 174, in pytest_runtest_call 1270s | item.runtest() 1270s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 1627, in runtest 1270s | self.ihook.pytest_pyfunc_call(pyfuncitem=self) 1270s | File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__ 1270s | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in _hookexec 1270s | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in _multicall 1270s | raise exception.with_traceback(exception.__traceback__) 1270s | File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in _multicall 1270s | res = hook_impl.function(*args) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/usr/lib/python3/dist-packages/_pytest/python.py", line 159, in pytest_pyfunc_call 1270s | result = testfunction(**testargs) 1270s | ^^^^^^^^^^^^^^^^^^^^^^^^ 1270s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_converter.py", line 278, in test_310_union_field_roundtrip 1270s | @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1270s | ^^^ 1270s | File "/usr/lib/python3/dist-packages/hypothesis/core.py", line 1758, in wrapped_test 1270s | raise the_error_hypothesis_found 1270s | ExceptionGroup: Hypothesis found 2 distinct failures. (2 sub-exceptions) 1270s +-+---------------- 1 ---------------- 1270s | Traceback (most recent call last): 1270s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_converter.py", line 319, in test_310_union_field_roundtrip 1270s | assert inst == converter.structure(unstructured, C) 1270s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 1270s | 1270s | Differing attributes: 1270s | ['a'] 1270s | 1270s | Drill down into differing attribute a: 1270s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 1270s | ... 1270s | 1270s | ...Full output truncated (6 lines hidden), use '-vv' to show 1270s | 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={})] 1270s | 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={})} 1270s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s | Falsifying example: test_310_union_field_roundtrip( 1270s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1270s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffee))[0]), 1270s | {}), 1270s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1270s | strat=UnstructureStrategy.AS_TUPLE, 1270s | ) 1270s +---------------- 2 ---------------- 1270s | Traceback (most recent call last): 1270s | File "/tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build/tests/test_converter.py", line 308, in test_310_union_field_roundtrip 1270s | assert inst == converter.structure(converter.unstructure(unstructured), C) 1270s | AssertionError: assert C(a=HypAttrsC..._b=0, _d=nan)) == C(a=HypAttrsC..._b=0, _d=nan)) 1270s | 1270s | Differing attributes: 1270s | ['a'] 1270s | 1270s | Drill down into differing attribute a: 1270s | a: HypAttrsClass(a=0, _b=0, _d=nan) != HypAttrsClass(a=0, _b=0, _d=nan) 1270s | ... 1270s | 1270s | ...Full output truncated (6 lines hidden), use '-vv' to show 1270s | 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={})] 1270s | 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={})} 1270s | Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s | Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s | Falsifying example: test_310_union_field_roundtrip( 1270s | cl_and_vals_a=(tests.typed.HypAttrsClass, 1270s | (0, 0, struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffed))[0]), 1270s | {}), 1270s | cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 1270s | strat=UnstructureStrategy.AS_DICT, 1270s | ) 1270s +------------------------------------ 1270s ________________________ test_optional_field_roundtrip _________________________ 1270s 1270s @given(simple_typed_classes(defaults=False)) 1270s > def test_optional_field_roundtrip(cl_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c9bb6a0> 1270s 1270s tests/test_converter.py:323: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, (nan,), {}) 1270s 1270s @given(simple_typed_classes(defaults=False)) 1270s def test_optional_field_roundtrip(cl_and_vals): 1270s """ 1270s Classes with optional fields can be unstructured and structured. 1270s """ 1270s converter = Converter() 1270s cl, vals, kwargs = cl_and_vals 1270s 1270s @define 1270s class C: 1270s a: Optional[cl] 1270s 1270s inst = C(a=cl(*vals, **kwargs)) 1270s > assert inst == converter.structure(converter.unstructure(inst), C) 1270s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1270s E ... 1270s E 1270s E ...Full output truncated (5 lines hidden), use '-vv' to show 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_optional_field_roundtrip( 1270s E cl_and_vals=(tests.typed.HypAttrsClass, 1270s E (struct.unpack('d', struct.pack('Q', 0x7ff7fffffffffffc))[0],), 1270s E {}), 1270s E ) 1270s 1270s C = .C'> 1270s cl = 1270s cl_and_vals = (, (nan,), {}) 1270s converter = 1270s inst = C(a=HypAttrsClass(a=nan)) 1270s kwargs = {} 1270s vals = (nan,) 1270s 1270s tests/test_converter.py:335: AssertionError 1270s ______________________ test_310_optional_field_roundtrip _______________________ 1270s 1270s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1270s > @given(simple_typed_classes(defaults=False)) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0ca042c0> 1270s 1270s tests/test_converter.py:344: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, (('', '', ''), nan), {}) 1270s 1270s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1270s @given(simple_typed_classes(defaults=False)) 1270s def test_310_optional_field_roundtrip(cl_and_vals): 1270s """ 1270s Classes with optional fields can be unstructured and structured. 1270s """ 1270s converter = Converter() 1270s cl, vals, kwargs = cl_and_vals 1270s 1270s @define 1270s class C: 1270s a: cl | None 1270s 1270s inst = C(a=cl(*vals, **kwargs)) 1270s > assert inst == converter.structure(converter.unstructure(inst), C) 1270s E AssertionError: assert C(a=HypAttrsC... ''), _b=nan)) == C(a=HypAttrsC... ''), _b=nan)) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: HypAttrsClass(a=('', '', ''), _b=nan) != HypAttrsClass(a=('', '', ''), _b=nan) 1270s E ... 1270s E 1270s E ...Full output truncated (6 lines hidden), use '-vv' to show 1270s 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={})] 1270s 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={})} 1270s E Falsifying example: test_310_optional_field_roundtrip( 1270s E cl_and_vals=(tests.typed.HypAttrsClass, 1270s E (('', '', ''), 1270s E struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0]), 1270s E {}), 1270s E ) 1270s 1270s C = .C'> 1270s cl = 1270s cl_and_vals = (, (('', '', ''), nan), {}) 1270s converter = 1270s inst = C(a=HypAttrsClass(a=('', '', ''), _b=nan)) 1270s kwargs = {} 1270s vals = (('', '', ''), nan) 1270s 1270s tests/test_converter.py:357: AssertionError 1270s _________________________ test_omit_default_roundtrip __________________________ 1270s 1270s @given(simple_typed_classes(defaults=True)) 1270s > def test_omit_default_roundtrip(cl_and_vals): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0ca044a0> 1270s 1270s tests/test_converter.py:366: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, ({}, nan), {}) 1270s 1270s @given(simple_typed_classes(defaults=True)) 1270s def test_omit_default_roundtrip(cl_and_vals): 1270s """ 1270s Omit default on the converter works. 1270s """ 1270s converter = Converter(omit_if_default=True) 1270s cl, vals, kwargs = cl_and_vals 1270s 1270s @define 1270s class C: 1270s a: int = 1 1270s b: cl = Factory(lambda: cl(*vals, **kwargs)) 1270s 1270s inst = C() 1270s unstructured = converter.unstructure(inst) 1270s > assert unstructured == {} 1270s E AssertionError: assert {'b': {'_b': nan}} == {} 1270s E 1270s E Left contains 1 more item: 1270s E {'b': {'_b': nan}} 1270s E 1270s E Full diff: 1270s E - {} 1270s E + {... 1270s E 1270s E ...Full output truncated (4 lines hidden), use '-vv' to show 1270s E Class fields: [_CountingAttr(counter=0, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default={}, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={})} 1270s E Falsifying example: test_omit_default_roundtrip( 1270s E cl_and_vals=(tests.typed.HypAttrsClass, ({}, nan), {}), 1270s E ) 1270s 1270s C = .C'> 1270s cl = 1270s cl_and_vals = (, ({}, nan), {}) 1270s converter = 1270s inst = C(a=1, b=HypAttrsClass(a={}, _b=nan)) 1270s kwargs = {} 1270s unstructured = {'b': {'_b': nan}} 1270s vals = ({}, nan) 1270s 1270s tests/test_converter.py:380: AssertionError 1270s ____________________ test_unmodified_generated_structuring _____________________ 1270s 1270s @given( 1270s > cl_and_vals=nested_typed_classes() 1270s | simple_typed_classes() 1270s | simple_typed_dataclasses(), 1270s dv=..., 1270s ) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c73fc40> 1270s 1270s tests/test_gen_dict.py:166: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, ('', frozenset(), nan), {}) 1270s dv = False 1270s 1270s @given( 1270s cl_and_vals=nested_typed_classes() 1270s | simple_typed_classes() 1270s | simple_typed_dataclasses(), 1270s dv=..., 1270s ) 1270s def test_unmodified_generated_structuring(cl_and_vals, dv: bool): 1270s converter = Converter(detailed_validation=dv) 1270s cl, vals, kwargs = cl_and_vals 1270s fn = make_dict_structure_fn(cl, converter, _cattrs_detailed_validation=dv) 1270s 1270s inst = cl(*vals, **kwargs) 1270s 1270s unstructured = converter.unstructure(inst) 1270s 1270s assert "Hyp" not in repr(unstructured) 1270s 1270s converter.register_structure_hook(cl, fn) 1270s 1270s res = converter.structure(unstructured, cl) 1270s 1270s > assert inst == res 1270s E AssertionError: assert HypClass(a=''...nset(), c=nan) == HypClass(a=''...nset(), c=nan) 1270s E 1270s E Omitting 2 identical items, use -vv to show 1270s E Differing attributes: 1270s E ['c'] 1270s E 1270s E Drill down into differing attribute c: 1270s E c: nan != nan 1270s E Falsifying example: test_unmodified_generated_structuring( 1270s E cl_and_vals=(tests.typed.HypClass, 1270s E ('', 1270s E frozenset(), 1270s E struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0]), 1270s E {}), 1270s E dv=False, 1270s E ) 1270s 1270s cl = 1270s cl_and_vals = (, ('', frozenset(), nan), {}) 1270s converter = 1270s dv = False 1270s fn = 1270s inst = HypClass(a='', _b=frozenset(), c=nan) 1270s kwargs = {} 1270s res = HypClass(a='', _b=frozenset(), c=nan) 1270s unstructured = {'_b': frozenset(), 'a': '', 'c': nan} 1270s vals = ('', frozenset(), nan) 1270s 1270s tests/test_gen_dict.py:186: AssertionError 1270s ________________________________ test_renaming _________________________________ 1270s 1270s @given( 1270s > simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 1270s ) 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c73f600> 1270s 1270s tests/test_gen_dict.py:190: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, (nan,), {}) 1270s data = data(...) 1270s 1270s @given( 1270s simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data() 1270s ) 1270s def test_renaming(cl_and_vals, data): 1270s converter = Converter() 1270s cl, vals, kwargs = cl_and_vals 1270s attrs = fields(cl) 1270s 1270s to_replace = data.draw(sampled_from(attrs)) 1270s 1270s u_fn = make_dict_unstructure_fn( 1270s cl, converter, **{to_replace.name: override(rename="class")} 1270s ) 1270s s_fn = make_dict_structure_fn( 1270s cl, converter, **{to_replace.name: override(rename="class")} 1270s ) 1270s 1270s converter.register_structure_hook(cl, s_fn) 1270s converter.register_unstructure_hook(cl, u_fn) 1270s 1270s inst = cl(*vals, **kwargs) 1270s 1270s raw = converter.unstructure(inst) 1270s 1270s assert "class" in raw 1270s 1270s new_inst = converter.structure(raw, cl) 1270s 1270s > assert inst == new_inst 1270s E AssertionError: assert HypAttrsClass(a=nan) == HypAttrsClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1270s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1270s E Falsifying example: test_renaming( 1270s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1270s E data=data(...), 1270s E ) 1270s 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') 1270s 1270s 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'),) 1270s cl = 1270s cl_and_vals = (, (nan,), {}) 1270s converter = 1270s data = data(...) 1270s inst = HypAttrsClass(a=nan) 1270s kwargs = {} 1270s new_inst = HypAttrsClass(a=nan) 1270s raw = {'class': nan} 1270s s_fn = 1270s 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') 1270s u_fn = 1270s vals = (nan,) 1270s 1270s tests/test_gen_dict.py:217: AssertionError 1270s ___________________ test_structure_simple_from_dict_default ____________________ 1270s 1270s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1270s > def test_structure_simple_from_dict_default(cl_and_vals, data): 1270s 1270s f = .run_test_as_given..wrapped_test at 0x716e0c7d8360> 1270s 1270s tests/test_structure_attrs.py:31: 1270s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1270s 1270s cl_and_vals = (, (0.0,), {}), data = data(...) 1270s 1270s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1270s def test_structure_simple_from_dict_default(cl_and_vals, data): 1270s """Test structuring non-nested attrs classes with default value.""" 1270s converter = BaseConverter() 1270s cl, vals, kwargs = cl_and_vals 1270s obj = cl(*vals, **kwargs) 1270s attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] 1270s to_remove = data.draw( 1270s lists(elements=sampled_from(attrs_with_defaults), unique=True) 1270s ) 1270s 1270s for a in to_remove: 1270s if isinstance(a.default, Factory): 1270s setattr(obj, a.name, a.default.factory()) 1270s else: 1270s setattr(obj, a.name, a.default) 1270s 1270s dumped = asdict(obj) 1270s 1270s for a in to_remove: 1270s del dumped[a.name] 1270s 1270s > assert obj == converter.structure(dumped, cl) 1270s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1270s E 1270s E Differing attributes: 1270s E ['a'] 1270s E 1270s E Drill down into differing attribute a: 1270s E a: nan != nan 1270s E Falsifying example: test_structure_simple_from_dict_default( 1270s E cl_and_vals=(tests.untyped.HypClass, (0.0,), {}), 1270s E data=data(...), 1270s E ) 1270s E Draw 1: [Attribute(name='a', 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='a')] 1270s 1270s a = Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=Non...True, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a') 1270s attrs_with_defaults = [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a')] 1270s cl = 1270s cl_and_vals = (, (0.0,), {}) 1270s converter = 1270s data = data(...) 1270s dumped = {} 1270s kwargs = {} 1270s obj = HypClass(a=nan) 1270s to_remove = [Attribute(name='a', default=nan, validator=None, repr=True, eq=True, eq_key=None, order=True, order_key=None, hash=No...rue, metadata=mappingproxy({}), type=None, converter=None, kw_only=False, inherited=False, on_setattr=None, alias='a')] 1270s vals = (0.0,) 1270s 1270s tests/test_structure_attrs.py:52: AssertionError 1270s =============================== warnings summary =============================== 1270s tests/typed.py:417 1270s /tmp/autopkgtest.71Fhmo/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) 1270s @composite 1270s 1270s tests/typed.py:826 1270s /tmp/autopkgtest.71Fhmo/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) 1270s @composite 1270s 1270s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1270s =========================== short test summary info ============================ 1270s FAILED tests/test_baseconverter.py::test_simple_roundtrip - AssertionError: a... 1270s FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... 1270s FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - AssertionEr... 1270s FAILED tests/test_baseconverter.py::test_union_field_roundtrip - ExceptionGro... 1270s FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... 1270s FAILED tests/test_baseconverter.py::test_optional_field_roundtrip - Assertion... 1270s FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... 1270s FAILED tests/test_converter.py::test_simple_roundtrip - AssertionError: asser... 1270s FAILED tests/test_converter.py::test_simple_roundtrip_defaults - AssertionErr... 1270s FAILED tests/test_converter.py::test_simple_roundtrip_defaults_tuple - Assert... 1270s FAILED tests/test_converter.py::test_nested_roundtrip - AssertionError: asser... 1270s FAILED tests/test_converter.py::test_nested_roundtrip_tuple - AssertionError:... 1270s FAILED tests/test_converter.py::test_union_field_roundtrip - AssertionError: ... 1270s FAILED tests/test_converter.py::test_310_union_field_roundtrip - ExceptionGro... 1270s FAILED tests/test_converter.py::test_optional_field_roundtrip - AssertionErro... 1270s FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... 1270s FAILED tests/test_converter.py::test_omit_default_roundtrip - AssertionError:... 1270s FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - Assert... 1270s FAILED tests/test_gen_dict.py::test_renaming - AssertionError: assert HypAttr... 1270s FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default 1270s ====== 20 failed, 557 passed, 15 xfailed, 2 warnings in 339.13s (0:05:39) ====== 1270s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.71Fhmo/autopkgtest_tmp/build; python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 1270s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 1270s make: *** [/tmp/sXSuY9jP6v/run:4: pybuild-autopkgtest] Error 25 1270s pybuild-autopkgtest: error: /tmp/sXSuY9jP6v/run pybuild-autopkgtest returned exit code 2 1271s autopkgtest [21:01:15]: test pybuild-autopkgtest: -----------------------] 1271s autopkgtest [21:01:15]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 1271s pybuild-autopkgtest FAIL non-zero exit status 25 1272s autopkgtest [21:01:16]: @@@@@@@@@@@@@@@@@@@@ summary 1272s pybuild-autopkgtest FAIL non-zero exit status 25 1283s nova [W] Skipping flock for amd64 1283s Creating nova instance adt-plucky-amd64-python-cattrs-20241123-204004-juju-7f2275-prod-proposed-migration-environment-15-75ab057a-4030-442d-b11d-deedb9d779c9 from image adt/ubuntu-plucky-amd64-server-20241119.img (UUID 2e5306de-7efa-448c-bc27-5518979e66f0)...