0s autopkgtest [20:03:48]: starting date and time: 2024-11-23 20:03:48+0000 0s autopkgtest [20:03:48]: git checkout: 0acbae0a WIP show VirtSubproc stderr in real-time 0s autopkgtest [20:03:48]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ifaxo5cm/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 autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-ppc64el-27.secgroup --name adt-plucky-ppc64el-python-cattrs-20241123-191850-juju-7f2275-prod-proposed-migration-environment-2-4b3c2e92-ff21-45ca-9289-a6c452f0543a --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-ppc64el -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/ 122s autopkgtest [20:05:50]: testbed dpkg architecture: ppc64el 122s autopkgtest [20:05:50]: testbed apt version: 2.9.8 122s autopkgtest [20:05:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 123s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 123s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [930 kB] 123s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [54.8 kB] 123s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9704 B] 123s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [13.6 kB] 123s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [70.1 kB] 123s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted ppc64el Packages [756 B] 123s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [788 kB] 123s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [9468 B] 123s Fetched 1950 kB in 1s (2192 kB/s) 123s Reading package lists... 126s Reading package lists... 126s Building dependency tree... 126s Reading state information... 126s Calculating upgrade... 126s The following package was automatically installed and is no longer required: 126s libsgutils2-1.46-2 126s Use 'sudo apt autoremove' to remove it. 126s The following NEW packages will be installed: 126s libsgutils2-1.48 126s The following packages will be upgraded: 126s bash bpftrace curl debconf debconf-i18n distro-info gir1.2-girepository-2.0 126s gir1.2-glib-2.0 hostname libaudit-common libaudit1 libcurl3t64-gnutls 126s libcurl4t64 libgirepository-1.0-1 libglib2.0-0t64 libglib2.0-data 126s libpam-modules libpam-modules-bin libpam-runtime libpam0g libplymouth5 126s libpython3-stdlib libselinux1 libsemanage-common libsemanage2 linux-base 126s lsvpd lxd-installer openssh-client openssh-server openssh-sftp-server 126s plymouth plymouth-theme-ubuntu-text python3 python3-attr python3-blinker 126s python3-dbus python3-debconf python3-gi python3-jsonschema-specifications 126s python3-minimal python3-rpds-py python3-yaml sg3-utils sg3-utils-udev 126s vim-common vim-tiny xxd 127s 48 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 127s Need to get 13.6 MB of archives. 127s After this operation, 3650 kB of additional disk space will be used. 127s Get:1 http://ftpmaster.internal/ubuntu plucky/main ppc64el bash ppc64el 5.2.32-1ubuntu2 [979 kB] 127s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el hostname ppc64el 3.25 [11.3 kB] 127s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaudit-common all 1:4.0.2-2ubuntu1 [6578 B] 127s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el libaudit1 ppc64el 1:4.0.2-2ubuntu1 [59.6 kB] 127s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el debconf-i18n all 1.5.87ubuntu1 [204 kB] 127s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-minimal ppc64el 3.12.7-1 [27.4 kB] 127s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3 ppc64el 3.12.7-1 [24.0 kB] 127s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libpython3-stdlib ppc64el 3.12.7-1 [10.0 kB] 127s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-debconf all 1.5.87ubuntu1 [4156 B] 127s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el debconf all 1.5.87ubuntu1 [124 kB] 127s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpam0g ppc64el 1.5.3-7ubuntu4 [76.2 kB] 127s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libselinux1 ppc64el 3.7-3ubuntu1 [100 kB] 127s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpam-modules-bin ppc64el 1.5.3-7ubuntu4 [57.6 kB] 127s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpam-modules ppc64el 1.5.3-7ubuntu4 [325 kB] 127s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el openssh-sftp-server ppc64el 1:9.9p1-3ubuntu2 [43.4 kB] 127s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el openssh-server ppc64el 1:9.9p1-3ubuntu2 [680 kB] 127s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el openssh-client ppc64el 1:9.9p1-3ubuntu2 [1169 kB] 127s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpam-runtime all 1.5.3-7ubuntu4 [40.8 kB] 127s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsemanage-common all 3.7-2build1 [7186 B] 127s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsemanage2 ppc64el 3.7-2build1 [115 kB] 127s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el distro-info ppc64el 1.12 [20.0 kB] 127s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el gir1.2-girepository-2.0 ppc64el 1.82.0-2 [25.3 kB] 127s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el gir1.2-glib-2.0 ppc64el 2.82.2-3 [182 kB] 127s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglib2.0-0t64 ppc64el 2.82.2-3 [1787 kB] 127s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgirepository-1.0-1 ppc64el 1.82.0-2 [95.5 kB] 127s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el libglib2.0-data all 2.82.2-3 [51.7 kB] 127s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dbus ppc64el 1.3.2-5build4 [117 kB] 127s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-gi ppc64el 3.50.0-3build1 [308 kB] 127s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-yaml ppc64el 6.0.2-1build1 [180 kB] 127s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el vim-tiny ppc64el 2:9.1.0861-1ubuntu1 [1078 kB] 127s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el vim-common all 2:9.1.0861-1ubuntu1 [395 kB] 127s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el xxd ppc64el 2:9.1.0861-1ubuntu1 [67.9 kB] 127s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el libplymouth5 ppc64el 24.004.60-2ubuntu3 [169 kB] 127s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el libsgutils2-1.48 ppc64el 1.48-0ubuntu1 [133 kB] 127s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el lsvpd ppc64el 1.7.14-1ubuntu3 [162 kB] 127s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el plymouth-theme-ubuntu-text ppc64el 24.004.60-2ubuntu3 [11.1 kB] 127s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el plymouth ppc64el 24.004.60-2ubuntu3 [152 kB] 127s Get:38 http://ftpmaster.internal/ubuntu plucky/main ppc64el bpftrace ppc64el 0.21.2-2ubuntu3 [1898 kB] 127s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el curl ppc64el 8.9.1-2ubuntu3 [247 kB] 127s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcurl4t64 ppc64el 8.9.1-2ubuntu3 [464 kB] 127s Get:41 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcurl3t64-gnutls ppc64el 8.9.1-2ubuntu3 [461 kB] 127s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el linux-base all 4.10.1ubuntu1 [34.8 kB] 127s Get:43 http://ftpmaster.internal/ubuntu plucky/main ppc64el lxd-installer all 10 [5264 B] 127s Get:44 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-attr all 24.2.0-1 [50.2 kB] 127s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-blinker all 1.9.0-1 [10.7 kB] 127s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-rpds-py ppc64el 0.21.0-2ubuntu1 [338 kB] 127s Get:47 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-jsonschema-specifications all 2023.12.1-2 [9116 B] 127s Get:48 http://ftpmaster.internal/ubuntu plucky/main ppc64el sg3-utils ppc64el 1.48-0ubuntu1 [1070 kB] 128s Get:49 http://ftpmaster.internal/ubuntu plucky/main ppc64el sg3-utils-udev all 1.48-0ubuntu1 [6608 B] 128s Preconfiguring packages ... 128s Fetched 13.6 MB in 1s (11.9 MB/s) 128s (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 ... 73847 files and directories currently installed.) 128s Preparing to unpack .../bash_5.2.32-1ubuntu2_ppc64el.deb ... 128s Unpacking bash (5.2.32-1ubuntu2) over (5.2.32-1ubuntu1) ... 128s Setting up bash (5.2.32-1ubuntu2) ... 128s 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 128s (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 ... 73847 files and directories currently installed.) 128s Preparing to unpack .../hostname_3.25_ppc64el.deb ... 128s Unpacking hostname (3.25) over (3.23+nmu2ubuntu2) ... 128s Setting up hostname (3.25) ... 128s (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 ... 73847 files and directories currently installed.) 128s Preparing to unpack .../libaudit-common_1%3a4.0.2-2ubuntu1_all.deb ... 128s Unpacking libaudit-common (1:4.0.2-2ubuntu1) over (1:4.0.1-1ubuntu2) ... 128s Setting up libaudit-common (1:4.0.2-2ubuntu1) ... 128s (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 ... 73847 files and directories currently installed.) 128s Preparing to unpack .../libaudit1_1%3a4.0.2-2ubuntu1_ppc64el.deb ... 128s Unpacking libaudit1:ppc64el (1:4.0.2-2ubuntu1) over (1:4.0.1-1ubuntu2) ... 128s Setting up libaudit1:ppc64el (1:4.0.2-2ubuntu1) ... 128s (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 ... 73847 files and directories currently installed.) 128s Preparing to unpack .../debconf-i18n_1.5.87ubuntu1_all.deb ... 128s Unpacking debconf-i18n (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 129s Preparing to unpack .../python3-minimal_3.12.7-1_ppc64el.deb ... 129s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 129s Setting up python3-minimal (3.12.7-1) ... 129s (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 ... 73847 files and directories currently installed.) 129s Preparing to unpack .../python3_3.12.7-1_ppc64el.deb ... 129s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 129s Preparing to unpack .../libpython3-stdlib_3.12.7-1_ppc64el.deb ... 129s Unpacking libpython3-stdlib:ppc64el (3.12.7-1) over (3.12.6-0ubuntu1) ... 129s Preparing to unpack .../python3-debconf_1.5.87ubuntu1_all.deb ... 129s Unpacking python3-debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 129s Preparing to unpack .../debconf_1.5.87ubuntu1_all.deb ... 129s Unpacking debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 129s Setting up debconf (1.5.87ubuntu1) ... 129s (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 ... 73847 files and directories currently installed.) 129s Preparing to unpack .../libpam0g_1.5.3-7ubuntu4_ppc64el.deb ... 129s Unpacking libpam0g:ppc64el (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 129s Setting up libpam0g:ppc64el (1.5.3-7ubuntu4) ... 129s (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 ... 73847 files and directories currently installed.) 129s Preparing to unpack .../libselinux1_3.7-3ubuntu1_ppc64el.deb ... 129s Unpacking libselinux1:ppc64el (3.7-3ubuntu1) over (3.5-2ubuntu5) ... 129s Setting up libselinux1:ppc64el (3.7-3ubuntu1) ... 129s (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 ... 73847 files and directories currently installed.) 129s Preparing to unpack .../libpam-modules-bin_1.5.3-7ubuntu4_ppc64el.deb ... 129s Unpacking libpam-modules-bin (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 129s Setting up libpam-modules-bin (1.5.3-7ubuntu4) ... 130s pam_namespace.service is a disabled or a static unit not running, not starting it. 130s (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 ... 73847 files and directories currently installed.) 130s Preparing to unpack .../libpam-modules_1.5.3-7ubuntu4_ppc64el.deb ... 130s Unpacking libpam-modules:ppc64el (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 130s Setting up libpam-modules:ppc64el (1.5.3-7ubuntu4) ... 130s (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 ... 73847 files and directories currently installed.) 130s Preparing to unpack .../openssh-sftp-server_1%3a9.9p1-3ubuntu2_ppc64el.deb ... 130s Unpacking openssh-sftp-server (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 130s Preparing to unpack .../openssh-server_1%3a9.9p1-3ubuntu2_ppc64el.deb ... 130s Unpacking openssh-server (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 130s Preparing to unpack .../openssh-client_1%3a9.9p1-3ubuntu2_ppc64el.deb ... 130s Unpacking openssh-client (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 130s Preparing to unpack .../libpam-runtime_1.5.3-7ubuntu4_all.deb ... 130s Unpacking libpam-runtime (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 130s Setting up libpam-runtime (1.5.3-7ubuntu4) ... 130s (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 ... 73849 files and directories currently installed.) 130s Preparing to unpack .../libsemanage-common_3.7-2build1_all.deb ... 130s Unpacking libsemanage-common (3.7-2build1) over (3.5-1build6) ... 130s Setting up libsemanage-common (3.7-2build1) ... 130s (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 ... 73848 files and directories currently installed.) 130s Preparing to unpack .../libsemanage2_3.7-2build1_ppc64el.deb ... 130s Unpacking libsemanage2:ppc64el (3.7-2build1) over (3.5-1build6) ... 130s Setting up libsemanage2:ppc64el (3.7-2build1) ... 130s (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 ... 73848 files and directories currently installed.) 130s Preparing to unpack .../00-distro-info_1.12_ppc64el.deb ... 130s Unpacking distro-info (1.12) over (1.9) ... 130s Preparing to unpack .../01-gir1.2-girepository-2.0_1.82.0-2_ppc64el.deb ... 130s Unpacking gir1.2-girepository-2.0:ppc64el (1.82.0-2) over (1.80.1-4) ... 130s Preparing to unpack .../02-gir1.2-glib-2.0_2.82.2-3_ppc64el.deb ... 130s Unpacking gir1.2-glib-2.0:ppc64el (2.82.2-3) over (2.82.1-0ubuntu1) ... 130s Preparing to unpack .../03-libglib2.0-0t64_2.82.2-3_ppc64el.deb ... 130s Unpacking libglib2.0-0t64:ppc64el (2.82.2-3) over (2.82.1-0ubuntu1) ... 131s Preparing to unpack .../04-libgirepository-1.0-1_1.82.0-2_ppc64el.deb ... 131s Unpacking libgirepository-1.0-1:ppc64el (1.82.0-2) over (1.80.1-4) ... 131s Preparing to unpack .../05-libglib2.0-data_2.82.2-3_all.deb ... 131s Unpacking libglib2.0-data (2.82.2-3) over (2.82.1-0ubuntu1) ... 131s Preparing to unpack .../06-python3-dbus_1.3.2-5build4_ppc64el.deb ... 131s Unpacking python3-dbus (1.3.2-5build4) over (1.3.2-5build3) ... 131s Preparing to unpack .../07-python3-gi_3.50.0-3build1_ppc64el.deb ... 131s Unpacking python3-gi (3.50.0-3build1) over (3.50.0-3) ... 131s Preparing to unpack .../08-python3-yaml_6.0.2-1build1_ppc64el.deb ... 131s Unpacking python3-yaml (6.0.2-1build1) over (6.0.2-1) ... 131s Preparing to unpack .../09-vim-tiny_2%3a9.1.0861-1ubuntu1_ppc64el.deb ... 131s Unpacking vim-tiny (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 131s Preparing to unpack .../10-vim-common_2%3a9.1.0861-1ubuntu1_all.deb ... 131s Unpacking vim-common (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 131s Preparing to unpack .../11-xxd_2%3a9.1.0861-1ubuntu1_ppc64el.deb ... 131s Unpacking xxd (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 131s Preparing to unpack .../12-libplymouth5_24.004.60-2ubuntu3_ppc64el.deb ... 131s Unpacking libplymouth5:ppc64el (24.004.60-2ubuntu3) over (24.004.60-1ubuntu11) ... 131s Selecting previously unselected package libsgutils2-1.48:ppc64el. 131s Preparing to unpack .../13-libsgutils2-1.48_1.48-0ubuntu1_ppc64el.deb ... 131s Unpacking libsgutils2-1.48:ppc64el (1.48-0ubuntu1) ... 131s Preparing to unpack .../14-lsvpd_1.7.14-1ubuntu3_ppc64el.deb ... 131s Unpacking lsvpd (1.7.14-1ubuntu3) over (1.7.14-1ubuntu2) ... 131s Preparing to unpack .../15-plymouth-theme-ubuntu-text_24.004.60-2ubuntu3_ppc64el.deb ... 131s Unpacking plymouth-theme-ubuntu-text (24.004.60-2ubuntu3) over (24.004.60-1ubuntu11) ... 131s Preparing to unpack .../16-plymouth_24.004.60-2ubuntu3_ppc64el.deb ... 131s Unpacking plymouth (24.004.60-2ubuntu3) over (24.004.60-1ubuntu11) ... 131s Preparing to unpack .../17-bpftrace_0.21.2-2ubuntu3_ppc64el.deb ... 131s Unpacking bpftrace (0.21.2-2ubuntu3) over (0.21.2-2ubuntu2) ... 131s Preparing to unpack .../18-curl_8.9.1-2ubuntu3_ppc64el.deb ... 131s Unpacking curl (8.9.1-2ubuntu3) over (8.9.1-2ubuntu2) ... 131s Preparing to unpack .../19-libcurl4t64_8.9.1-2ubuntu3_ppc64el.deb ... 131s Unpacking libcurl4t64:ppc64el (8.9.1-2ubuntu3) over (8.9.1-2ubuntu2) ... 131s Preparing to unpack .../20-libcurl3t64-gnutls_8.9.1-2ubuntu3_ppc64el.deb ... 131s Unpacking libcurl3t64-gnutls:ppc64el (8.9.1-2ubuntu3) over (8.9.1-2ubuntu2) ... 131s Preparing to unpack .../21-linux-base_4.10.1ubuntu1_all.deb ... 131s Unpacking linux-base (4.10.1ubuntu1) over (4.5ubuntu9) ... 131s Preparing to unpack .../22-lxd-installer_10_all.deb ... 131s Unpacking lxd-installer (10) over (9) ... 131s Preparing to unpack .../23-python3-attr_24.2.0-1_all.deb ... 131s Unpacking python3-attr (24.2.0-1) over (23.2.0-2) ... 131s Preparing to unpack .../24-python3-blinker_1.9.0-1_all.deb ... 131s Unpacking python3-blinker (1.9.0-1) over (1.8.2-1) ... 131s Preparing to unpack .../25-python3-rpds-py_0.21.0-2ubuntu1_ppc64el.deb ... 132s Unpacking python3-rpds-py (0.21.0-2ubuntu1) over (0.20.0-0ubuntu3) ... 132s Preparing to unpack .../26-python3-jsonschema-specifications_2023.12.1-2_all.deb ... 132s Unpacking python3-jsonschema-specifications (2023.12.1-2) over (2023.12.1-1ubuntu1) ... 132s Preparing to unpack .../27-sg3-utils_1.48-0ubuntu1_ppc64el.deb ... 132s Unpacking sg3-utils (1.48-0ubuntu1) over (1.46-3ubuntu5) ... 132s Preparing to unpack .../28-sg3-utils-udev_1.48-0ubuntu1_all.deb ... 132s Unpacking sg3-utils-udev (1.48-0ubuntu1) over (1.46-3ubuntu5) ... 132s Setting up distro-info (1.12) ... 132s Setting up linux-base (4.10.1ubuntu1) ... 132s Setting up libcurl4t64:ppc64el (8.9.1-2ubuntu3) ... 132s Setting up bpftrace (0.21.2-2ubuntu3) ... 132s Setting up openssh-client (1:9.9p1-3ubuntu2) ... 132s Setting up libcurl3t64-gnutls:ppc64el (8.9.1-2ubuntu3) ... 132s Setting up libsgutils2-1.48:ppc64el (1.48-0ubuntu1) ... 132s Setting up debconf-i18n (1.5.87ubuntu1) ... 132s Setting up xxd (2:9.1.0861-1ubuntu1) ... 132s Setting up libglib2.0-0t64:ppc64el (2.82.2-3) ... 132s No schema files found: doing nothing. 132s Setting up libglib2.0-data (2.82.2-3) ... 132s Setting up vim-common (2:9.1.0861-1ubuntu1) ... 132s Setting up gir1.2-glib-2.0:ppc64el (2.82.2-3) ... 132s Setting up lxd-installer (10) ... 132s Setting up libplymouth5:ppc64el (24.004.60-2ubuntu3) ... 132s Setting up libgirepository-1.0-1:ppc64el (1.82.0-2) ... 132s Setting up curl (8.9.1-2ubuntu3) ... 132s Setting up libpython3-stdlib:ppc64el (3.12.7-1) ... 132s Setting up sg3-utils (1.48-0ubuntu1) ... 132s Setting up openssh-sftp-server (1:9.9p1-3ubuntu2) ... 132s Setting up openssh-server (1:9.9p1-3ubuntu2) ... 132s Installing new version of config file /etc/ssh/moduli ... 132s Replacing config file /etc/ssh/sshd_config with new version 133s Setting up plymouth (24.004.60-2ubuntu3) ... 133s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 133s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 141s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 141s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 141s Setting up lsvpd (1.7.14-1ubuntu3) ... 141s Setting up python3 (3.12.7-1) ... 141s Setting up vim-tiny (2:9.1.0861-1ubuntu1) ... 141s Setting up sg3-utils-udev (1.48-0ubuntu1) ... 142s update-initramfs: deferring update (trigger activated) 142s Setting up plymouth-theme-ubuntu-text (24.004.60-2ubuntu3) ... 142s update-initramfs: deferring update (trigger activated) 142s Setting up gir1.2-girepository-2.0:ppc64el (1.82.0-2) ... 142s Setting up python3-gi (3.50.0-3build1) ... 142s Setting up python3-rpds-py (0.21.0-2ubuntu1) ... 142s Setting up python3-jsonschema-specifications (2023.12.1-2) ... 142s Setting up python3-blinker (1.9.0-1) ... 142s Setting up python3-attr (24.2.0-1) ... 142s Setting up python3-dbus (1.3.2-5build4) ... 142s Setting up python3-debconf (1.5.87ubuntu1) ... 142s Setting up python3-yaml (6.0.2-1build1) ... 142s Processing triggers for man-db (2.13.0-1) ... 144s Processing triggers for debianutils (5.21) ... 144s Processing triggers for install-info (7.1.1-1) ... 144s Processing triggers for initramfs-tools (0.142ubuntu35) ... 144s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 144s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 151s Processing triggers for libc-bin (2.40-1ubuntu3) ... 151s Processing triggers for ufw (0.36.2-8) ... 151s Reading package lists... 151s Building dependency tree... 151s Reading state information... 151s The following packages will be REMOVED: 151s libsgutils2-1.46-2* 152s 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. 152s After this operation, 380 kB disk space will be freed. 152s (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 ... 73882 files and directories currently installed.) 152s Removing libsgutils2-1.46-2:ppc64el (1.46-3ubuntu5) ... 152s Processing triggers for libc-bin (2.40-1ubuntu3) ... 152s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 152s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 152s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 152s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 153s Reading package lists... 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 154s Calculating upgrade... 154s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 154s Reading package lists... 154s Building dependency tree... 154s Reading state information... 154s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 154s autopkgtest [20:06:22]: rebooting testbed after setup commands that affected boot 158s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 184s autopkgtest [20:06:52]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 13:49:23 UTC 2024 187s autopkgtest [20:06:55]: @@@@@@@@@@@@@@@@@@@@ apt-source python-cattrs 189s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (dsc) [2250 B] 189s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (tar) [566 kB] 189s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-cattrs 23.2.3-1 (diff) [2856 B] 189s gpgv: Signature made Sat Mar 9 07:28:42 2024 UTC 189s gpgv: using RSA key B9FAD3192AF3E4A5309D9D39879F3C993801A94F 189s gpgv: Can't check signature: No public key 189s dpkg-source: warning: cannot verify inline signature for ./python-cattrs_23.2.3-1.dsc: no acceptable signature found 189s autopkgtest [20:06:57]: testing package python-cattrs version 23.2.3-1 190s autopkgtest [20:06:58]: build not needed 191s autopkgtest [20:06:59]: test pybuild-autopkgtest: preparing testbed 192s Reading package lists... 192s Building dependency tree... 192s Reading state information... 192s Starting pkgProblemResolver with broken count: 0 192s Starting 2 pkgProblemResolver with broken count: 0 192s Done 192s The following additional packages will be installed: 192s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 192s cpp-14-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper debugedit 192s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 192s g++-14-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-14 192s gcc-14-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 192s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 192s libdouble-conversion3 libfile-stripnondeterminism-perl libgcc-14-dev 192s libgomp1 libisl23 libitm1 liblsan0 libmpc3 libpython3.13-minimal 192s libpython3.13-stdlib libquadmath0 libstdc++-14-dev libtool libtsan2 192s libubsan1 m4 po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject 192s python3-all python3-bson python3-build python3-cattr python3-cpuinfo 192s python3-dateutil python3-hatch-vcs python3-hatchling python3-hypothesis 192s python3-iniconfig python3-installer python3-msgpack python3-packaging 192s python3-pathspec python3-pluggy python3-pyproject-hooks python3-pytest 192s python3-pytest-benchmark python3-setuptools-scm python3-sortedcontainers 192s python3-toml python3-tomlkit python3-trove-classifiers python3-ujson 192s python3-wheel python3.13 python3.13-minimal 192s Suggested packages: 192s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-14-locales 192s cpp-14-doc dh-make flit gcc-14-doc gcc-multilib manpages-dev flex bison gdb 192s gcc-doc gdb-powerpc64le-linux-gnu gettext-doc libasprintf-dev 192s libgettextpo-dev libstdc++-14-doc libtool-doc gfortran | fortran95-compiler 192s gcj-jdk m4-doc libmail-box-perl python3-pip python3-venv python-build-doc 192s python-hypothesis-doc python-installer-doc python-sortedcontainers-doc 192s python3.13-venv python3.13-doc binfmt-support 192s Recommended packages: 192s libarchive-cpio-perl libltdl-dev libmail-sendmail-perl python3-bson-ext 192s python3-click python3-elasticsearch python3-freezegun python3-pygal 192s The following NEW packages will be installed: 192s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 192s cpp cpp-14 cpp-14-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper 192s debugedit dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 192s g++-14-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-14 192s gcc-14-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 192s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 192s libdouble-conversion3 libfile-stripnondeterminism-perl libgcc-14-dev 192s libgomp1 libisl23 libitm1 liblsan0 libmpc3 libpython3.13-minimal 192s libpython3.13-stdlib libquadmath0 libstdc++-14-dev libtool libtsan2 192s libubsan1 m4 po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject 192s python3-all python3-bson python3-build python3-cattr python3-cpuinfo 192s python3-dateutil python3-hatch-vcs python3-hatchling python3-hypothesis 192s python3-iniconfig python3-installer python3-msgpack python3-packaging 192s python3-pathspec python3-pluggy python3-pyproject-hooks python3-pytest 192s python3-pytest-benchmark python3-setuptools-scm python3-sortedcontainers 192s python3-toml python3-tomlkit python3-trove-classifiers python3-ujson 192s python3-wheel python3.13 python3.13-minimal 192s 0 upgraded, 76 newly installed, 0 to remove and 0 not upgraded. 192s Need to get 69.7 MB/69.7 MB of archives. 192s After this operation, 256 MB of additional disk space will be used. 192s Get:1 /tmp/autopkgtest.K6x9ez/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [840 B] 193s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.0-2 [881 kB] 193s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.0-2 [2302 kB] 193s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el m4 ppc64el 1.4.19-4build1 [278 kB] 193s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el autoconf all 2.72-3 [382 kB] 193s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el autotools-dev all 20220109.1 [44.9 kB] 193s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el automake all 1:1.16.5-1.3ubuntu1 [558 kB] 193s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el autopoint all 0.22.5-2 [616 kB] 193s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el libisl23 ppc64el 0.27-1 [882 kB] 193s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libmpc3 ppc64el 1.3.1-1build2 [62.1 kB] 193s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-14-powerpc64le-linux-gnu ppc64el 14.2.0-8ubuntu1 [10.5 MB] 194s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-14 ppc64el 14.2.0-8ubuntu1 [1034 B] 194s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:14.1.0-2ubuntu1 [5456 B] 194s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp ppc64el 4:14.1.0-2ubuntu1 [22.5 kB] 194s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcc1-0 ppc64el 14.2.0-8ubuntu1 [48.1 kB] 194s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgomp1 ppc64el 14.2.0-8ubuntu1 [161 kB] 194s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el libitm1 ppc64el 14.2.0-8ubuntu1 [31.9 kB] 194s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libasan8 ppc64el 14.2.0-8ubuntu1 [2945 kB] 194s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblsan0 ppc64el 14.2.0-8ubuntu1 [1322 kB] 194s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtsan2 ppc64el 14.2.0-8ubuntu1 [2695 kB] 194s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el libubsan1 ppc64el 14.2.0-8ubuntu1 [1191 kB] 194s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el libquadmath0 ppc64el 14.2.0-8ubuntu1 [158 kB] 194s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgcc-14-dev ppc64el 14.2.0-8ubuntu1 [1619 kB] 194s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-14-powerpc64le-linux-gnu ppc64el 14.2.0-8ubuntu1 [20.6 MB] 194s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-14 ppc64el 14.2.0-8ubuntu1 [528 kB] 194s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:14.1.0-2ubuntu1 [1222 B] 194s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc ppc64el 4:14.1.0-2ubuntu1 [5006 B] 194s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el libstdc++-14-dev ppc64el 14.2.0-8ubuntu1 [2673 kB] 194s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-14-powerpc64le-linux-gnu ppc64el 14.2.0-8ubuntu1 [12.0 MB] 195s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-14 ppc64el 14.2.0-8ubuntu1 [19.9 kB] 195s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:14.1.0-2ubuntu1 [968 B] 195s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++ ppc64el 4:14.1.0-2ubuntu1 [1090 B] 195s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el build-essential ppc64el 12.10ubuntu1 [4936 B] 195s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 195s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtool all 2.4.7-8 [166 kB] 195s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el dh-autoreconf all 20 [16.1 kB] 195s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 195s Get:38 http://ftpmaster.internal/ubuntu plucky/main ppc64el libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 195s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el dh-strip-nondeterminism all 1.14.0-1 [5058 B] 195s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el debugedit ppc64el 1:5.1-1 [52.1 kB] 195s Get:41 http://ftpmaster.internal/ubuntu plucky/main ppc64el dwz ppc64el 0.15-1build6 [142 kB] 195s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el gettext ppc64el 0.22.5-2 [1082 kB] 195s Get:43 http://ftpmaster.internal/ubuntu plucky/main ppc64el intltool-debian all 0.35.0+20060710.6 [23.2 kB] 195s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el po-debconf all 1.0.21+nmu1 [233 kB] 195s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el debhelper all 13.20ubuntu1 [893 kB] 195s Get:46 http://ftpmaster.internal/ubuntu plucky/universe ppc64el dh-python all 6.20241024 [112 kB] 195s Get:47 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libdouble-conversion3 ppc64el 3.3.0-1build1 [45.7 kB] 195s Get:48 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.0-2 [2148 kB] 195s Get:49 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pybuild-plugin-autopkgtest all 6.20241024 [1746 B] 195s Get:50 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.2-1 [51.5 kB] 195s Get:51 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 195s Get:52 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-toml all 0.10.2-1 [16.5 kB] 195s Get:53 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-wheel all 0.45.0-1 [57.7 kB] 195s Get:54 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-build all 1.2.2-1 [31.0 kB] 195s Get:55 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 195s Get:56 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pybuild-plugin-pyproject all 6.20241024 [1728 B] 195s Get:57 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.0-2 [719 kB] 195s Get:58 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-all ppc64el 3.12.7-1 [888 B] 195s Get:59 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-bson all 4.7.3-2ubuntu2 [41.2 kB] 195s Get:60 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cattr all 23.2.3-1 [38.1 kB] 195s Get:61 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-cpuinfo all 9.0.0+git20221119-2 [21.6 kB] 195s Get:62 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-dateutil all 2.9.0-3 [80.2 kB] 195s Get:63 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pathspec all 0.12.1-1 [24.5 kB] 195s Get:64 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 195s Get:65 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-trove-classifiers all 2024.9.12-1 [10.8 kB] 195s Get:66 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-hatchling all 1.26.3-1 [47.1 kB] 195s Get:67 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-setuptools-scm all 8.1.0-1 [32.2 kB] 195s Get:68 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-hatch-vcs all 0.4.0-1 [7904 B] 195s Get:69 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-sortedcontainers all 2.4.0-2 [27.6 kB] 195s Get:70 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-hypothesis all 6.119.3-1 [329 kB] 195s Get:71 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 195s Get:72 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-msgpack ppc64el 1.0.3-3build3 [110 kB] 195s Get:73 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.3-1 [251 kB] 195s Get:74 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest-benchmark all 5.1.0-1 [38.8 kB] 195s Get:75 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-tomlkit all 0.13.2-1 [37.6 kB] 195s Get:76 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-ujson ppc64el 5.10.0-1build1 [29.0 kB] 195s Fetched 69.7 MB in 3s (26.7 MB/s) 195s Selecting previously unselected package libpython3.13-minimal:ppc64el. 196s (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 ... 73877 files and directories currently installed.) 196s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_ppc64el.deb ... 196s Unpacking libpython3.13-minimal:ppc64el (3.13.0-2) ... 196s Selecting previously unselected package python3.13-minimal. 196s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_ppc64el.deb ... 196s Unpacking python3.13-minimal (3.13.0-2) ... 196s Selecting previously unselected package m4. 196s Preparing to unpack .../02-m4_1.4.19-4build1_ppc64el.deb ... 196s Unpacking m4 (1.4.19-4build1) ... 196s Selecting previously unselected package autoconf. 196s Preparing to unpack .../03-autoconf_2.72-3_all.deb ... 196s Unpacking autoconf (2.72-3) ... 196s Selecting previously unselected package autotools-dev. 196s Preparing to unpack .../04-autotools-dev_20220109.1_all.deb ... 196s Unpacking autotools-dev (20220109.1) ... 196s Selecting previously unselected package automake. 196s Preparing to unpack .../05-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 196s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 196s Selecting previously unselected package autopoint. 196s Preparing to unpack .../06-autopoint_0.22.5-2_all.deb ... 196s Unpacking autopoint (0.22.5-2) ... 196s Selecting previously unselected package libisl23:ppc64el. 196s Preparing to unpack .../07-libisl23_0.27-1_ppc64el.deb ... 196s Unpacking libisl23:ppc64el (0.27-1) ... 196s Selecting previously unselected package libmpc3:ppc64el. 196s Preparing to unpack .../08-libmpc3_1.3.1-1build2_ppc64el.deb ... 196s Unpacking libmpc3:ppc64el (1.3.1-1build2) ... 196s Selecting previously unselected package cpp-14-powerpc64le-linux-gnu. 196s Preparing to unpack .../09-cpp-14-powerpc64le-linux-gnu_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking cpp-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package cpp-14. 196s Preparing to unpack .../10-cpp-14_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 196s Preparing to unpack .../11-cpp-powerpc64le-linux-gnu_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 196s Unpacking cpp-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 196s Selecting previously unselected package cpp. 196s Preparing to unpack .../12-cpp_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 196s Unpacking cpp (4:14.1.0-2ubuntu1) ... 196s Selecting previously unselected package libcc1-0:ppc64el. 196s Preparing to unpack .../13-libcc1-0_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libcc1-0:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libgomp1:ppc64el. 196s Preparing to unpack .../14-libgomp1_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libgomp1:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libitm1:ppc64el. 196s Preparing to unpack .../15-libitm1_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libitm1:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libasan8:ppc64el. 196s Preparing to unpack .../16-libasan8_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libasan8:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package liblsan0:ppc64el. 196s Preparing to unpack .../17-liblsan0_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking liblsan0:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libtsan2:ppc64el. 196s Preparing to unpack .../18-libtsan2_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libtsan2:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libubsan1:ppc64el. 196s Preparing to unpack .../19-libubsan1_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libubsan1:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libquadmath0:ppc64el. 196s Preparing to unpack .../20-libquadmath0_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libquadmath0:ppc64el (14.2.0-8ubuntu1) ... 196s Selecting previously unselected package libgcc-14-dev:ppc64el. 196s Preparing to unpack .../21-libgcc-14-dev_14.2.0-8ubuntu1_ppc64el.deb ... 196s Unpacking libgcc-14-dev:ppc64el (14.2.0-8ubuntu1) ... 197s Selecting previously unselected package gcc-14-powerpc64le-linux-gnu. 197s Preparing to unpack .../22-gcc-14-powerpc64le-linux-gnu_14.2.0-8ubuntu1_ppc64el.deb ... 197s Unpacking gcc-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 197s Selecting previously unselected package gcc-14. 197s Preparing to unpack .../23-gcc-14_14.2.0-8ubuntu1_ppc64el.deb ... 197s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 197s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 197s Preparing to unpack .../24-gcc-powerpc64le-linux-gnu_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 197s Unpacking gcc-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 197s Selecting previously unselected package gcc. 197s Preparing to unpack .../25-gcc_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 197s Unpacking gcc (4:14.1.0-2ubuntu1) ... 197s Selecting previously unselected package libstdc++-14-dev:ppc64el. 197s Preparing to unpack .../26-libstdc++-14-dev_14.2.0-8ubuntu1_ppc64el.deb ... 197s Unpacking libstdc++-14-dev:ppc64el (14.2.0-8ubuntu1) ... 197s Selecting previously unselected package g++-14-powerpc64le-linux-gnu. 197s Preparing to unpack .../27-g++-14-powerpc64le-linux-gnu_14.2.0-8ubuntu1_ppc64el.deb ... 197s Unpacking g++-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 197s Selecting previously unselected package g++-14. 197s Preparing to unpack .../28-g++-14_14.2.0-8ubuntu1_ppc64el.deb ... 197s Unpacking g++-14 (14.2.0-8ubuntu1) ... 197s Selecting previously unselected package g++-powerpc64le-linux-gnu. 197s Preparing to unpack .../29-g++-powerpc64le-linux-gnu_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 197s Unpacking g++-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 197s Selecting previously unselected package g++. 197s Preparing to unpack .../30-g++_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 197s Unpacking g++ (4:14.1.0-2ubuntu1) ... 197s Selecting previously unselected package build-essential. 197s Preparing to unpack .../31-build-essential_12.10ubuntu1_ppc64el.deb ... 197s Unpacking build-essential (12.10ubuntu1) ... 197s Selecting previously unselected package libdebhelper-perl. 197s Preparing to unpack .../32-libdebhelper-perl_13.20ubuntu1_all.deb ... 197s Unpacking libdebhelper-perl (13.20ubuntu1) ... 197s Selecting previously unselected package libtool. 197s Preparing to unpack .../33-libtool_2.4.7-8_all.deb ... 197s Unpacking libtool (2.4.7-8) ... 197s Selecting previously unselected package dh-autoreconf. 197s Preparing to unpack .../34-dh-autoreconf_20_all.deb ... 197s Unpacking dh-autoreconf (20) ... 197s Selecting previously unselected package libarchive-zip-perl. 197s Preparing to unpack .../35-libarchive-zip-perl_1.68-1_all.deb ... 197s Unpacking libarchive-zip-perl (1.68-1) ... 197s Selecting previously unselected package libfile-stripnondeterminism-perl. 197s Preparing to unpack .../36-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 197s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 197s Selecting previously unselected package dh-strip-nondeterminism. 197s Preparing to unpack .../37-dh-strip-nondeterminism_1.14.0-1_all.deb ... 197s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 197s Selecting previously unselected package debugedit. 197s Preparing to unpack .../38-debugedit_1%3a5.1-1_ppc64el.deb ... 197s Unpacking debugedit (1:5.1-1) ... 197s Selecting previously unselected package dwz. 197s Preparing to unpack .../39-dwz_0.15-1build6_ppc64el.deb ... 197s Unpacking dwz (0.15-1build6) ... 197s Selecting previously unselected package gettext. 197s Preparing to unpack .../40-gettext_0.22.5-2_ppc64el.deb ... 197s Unpacking gettext (0.22.5-2) ... 197s Selecting previously unselected package intltool-debian. 197s Preparing to unpack .../41-intltool-debian_0.35.0+20060710.6_all.deb ... 197s Unpacking intltool-debian (0.35.0+20060710.6) ... 197s Selecting previously unselected package po-debconf. 197s Preparing to unpack .../42-po-debconf_1.0.21+nmu1_all.deb ... 197s Unpacking po-debconf (1.0.21+nmu1) ... 198s Selecting previously unselected package debhelper. 198s Preparing to unpack .../43-debhelper_13.20ubuntu1_all.deb ... 198s Unpacking debhelper (13.20ubuntu1) ... 198s Selecting previously unselected package dh-python. 198s Preparing to unpack .../44-dh-python_6.20241024_all.deb ... 198s Unpacking dh-python (6.20241024) ... 198s Selecting previously unselected package libdouble-conversion3:ppc64el. 198s Preparing to unpack .../45-libdouble-conversion3_3.3.0-1build1_ppc64el.deb ... 198s Unpacking libdouble-conversion3:ppc64el (3.3.0-1build1) ... 198s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 198s Preparing to unpack .../46-libpython3.13-stdlib_3.13.0-2_ppc64el.deb ... 198s Unpacking libpython3.13-stdlib:ppc64el (3.13.0-2) ... 198s Selecting previously unselected package pybuild-plugin-autopkgtest. 198s Preparing to unpack .../47-pybuild-plugin-autopkgtest_6.20241024_all.deb ... 198s Unpacking pybuild-plugin-autopkgtest (6.20241024) ... 198s Selecting previously unselected package python3-packaging. 198s Preparing to unpack .../48-python3-packaging_24.2-1_all.deb ... 198s Unpacking python3-packaging (24.2-1) ... 198s Selecting previously unselected package python3-pyproject-hooks. 198s Preparing to unpack .../49-python3-pyproject-hooks_1.2.0-1_all.deb ... 198s Unpacking python3-pyproject-hooks (1.2.0-1) ... 198s Selecting previously unselected package python3-toml. 198s Preparing to unpack .../50-python3-toml_0.10.2-1_all.deb ... 198s Unpacking python3-toml (0.10.2-1) ... 198s Selecting previously unselected package python3-wheel. 198s Preparing to unpack .../51-python3-wheel_0.45.0-1_all.deb ... 198s Unpacking python3-wheel (0.45.0-1) ... 198s Selecting previously unselected package python3-build. 198s Preparing to unpack .../52-python3-build_1.2.2-1_all.deb ... 198s Unpacking python3-build (1.2.2-1) ... 198s Selecting previously unselected package python3-installer. 198s Preparing to unpack .../53-python3-installer_0.7.0+dfsg1-3_all.deb ... 198s Unpacking python3-installer (0.7.0+dfsg1-3) ... 198s Selecting previously unselected package pybuild-plugin-pyproject. 198s Preparing to unpack .../54-pybuild-plugin-pyproject_6.20241024_all.deb ... 198s Unpacking pybuild-plugin-pyproject (6.20241024) ... 198s Selecting previously unselected package python3.13. 198s Preparing to unpack .../55-python3.13_3.13.0-2_ppc64el.deb ... 198s Unpacking python3.13 (3.13.0-2) ... 198s Selecting previously unselected package python3-all. 198s Preparing to unpack .../56-python3-all_3.12.7-1_ppc64el.deb ... 198s Unpacking python3-all (3.12.7-1) ... 198s Selecting previously unselected package python3-bson. 198s Preparing to unpack .../57-python3-bson_4.7.3-2ubuntu2_all.deb ... 198s Unpacking python3-bson (4.7.3-2ubuntu2) ... 198s Selecting previously unselected package python3-cattr. 198s Preparing to unpack .../58-python3-cattr_23.2.3-1_all.deb ... 198s Unpacking python3-cattr (23.2.3-1) ... 198s Selecting previously unselected package python3-cpuinfo. 198s Preparing to unpack .../59-python3-cpuinfo_9.0.0+git20221119-2_all.deb ... 198s Unpacking python3-cpuinfo (9.0.0+git20221119-2) ... 198s Selecting previously unselected package python3-dateutil. 198s Preparing to unpack .../60-python3-dateutil_2.9.0-3_all.deb ... 198s Unpacking python3-dateutil (2.9.0-3) ... 198s Selecting previously unselected package python3-pathspec. 198s Preparing to unpack .../61-python3-pathspec_0.12.1-1_all.deb ... 198s Unpacking python3-pathspec (0.12.1-1) ... 198s Selecting previously unselected package python3-pluggy. 198s Preparing to unpack .../62-python3-pluggy_1.5.0-1_all.deb ... 198s Unpacking python3-pluggy (1.5.0-1) ... 198s Selecting previously unselected package python3-trove-classifiers. 198s Preparing to unpack .../63-python3-trove-classifiers_2024.9.12-1_all.deb ... 198s Unpacking python3-trove-classifiers (2024.9.12-1) ... 198s Selecting previously unselected package python3-hatchling. 198s Preparing to unpack .../64-python3-hatchling_1.26.3-1_all.deb ... 198s Unpacking python3-hatchling (1.26.3-1) ... 198s Selecting previously unselected package python3-setuptools-scm. 198s Preparing to unpack .../65-python3-setuptools-scm_8.1.0-1_all.deb ... 198s Unpacking python3-setuptools-scm (8.1.0-1) ... 198s Selecting previously unselected package python3-hatch-vcs. 198s Preparing to unpack .../66-python3-hatch-vcs_0.4.0-1_all.deb ... 198s Unpacking python3-hatch-vcs (0.4.0-1) ... 198s Selecting previously unselected package python3-sortedcontainers. 198s Preparing to unpack .../67-python3-sortedcontainers_2.4.0-2_all.deb ... 198s Unpacking python3-sortedcontainers (2.4.0-2) ... 198s Selecting previously unselected package python3-hypothesis. 198s Preparing to unpack .../68-python3-hypothesis_6.119.3-1_all.deb ... 198s Unpacking python3-hypothesis (6.119.3-1) ... 198s Selecting previously unselected package python3-iniconfig. 198s Preparing to unpack .../69-python3-iniconfig_1.1.1-2_all.deb ... 198s Unpacking python3-iniconfig (1.1.1-2) ... 198s Selecting previously unselected package python3-msgpack. 198s Preparing to unpack .../70-python3-msgpack_1.0.3-3build3_ppc64el.deb ... 198s Unpacking python3-msgpack (1.0.3-3build3) ... 198s Selecting previously unselected package python3-pytest. 198s Preparing to unpack .../71-python3-pytest_8.3.3-1_all.deb ... 198s Unpacking python3-pytest (8.3.3-1) ... 198s Selecting previously unselected package python3-pytest-benchmark. 198s Preparing to unpack .../72-python3-pytest-benchmark_5.1.0-1_all.deb ... 198s Unpacking python3-pytest-benchmark (5.1.0-1) ... 198s Selecting previously unselected package python3-tomlkit. 198s Preparing to unpack .../73-python3-tomlkit_0.13.2-1_all.deb ... 198s Unpacking python3-tomlkit (0.13.2-1) ... 198s Selecting previously unselected package python3-ujson:ppc64el. 198s Preparing to unpack .../74-python3-ujson_5.10.0-1build1_ppc64el.deb ... 198s Unpacking python3-ujson:ppc64el (5.10.0-1build1) ... 198s Selecting previously unselected package autopkgtest-satdep. 198s Preparing to unpack .../75-1-autopkgtest-satdep.deb ... 198s Unpacking autopkgtest-satdep (0) ... 198s Setting up dh-python (6.20241024) ... 198s Setting up python3-iniconfig (1.1.1-2) ... 199s Setting up libdouble-conversion3:ppc64el (3.3.0-1build1) ... 199s Setting up libarchive-zip-perl (1.68-1) ... 199s Setting up libdebhelper-perl (13.20ubuntu1) ... 199s Setting up m4 (1.4.19-4build1) ... 199s Setting up python3-sortedcontainers (2.4.0-2) ... 199s Setting up libgomp1:ppc64el (14.2.0-8ubuntu1) ... 199s Setting up python3-wheel (0.45.0-1) ... 199s Setting up python3-ujson:ppc64el (5.10.0-1build1) ... 199s Setting up python3-bson (4.7.3-2ubuntu2) ... 199s Setting up libpython3.13-minimal:ppc64el (3.13.0-2) ... 199s Setting up autotools-dev (20220109.1) ... 199s Setting up python3-packaging (24.2-1) ... 200s Setting up python3-cattr (23.2.3-1) ... 200s Setting up python3-pyproject-hooks (1.2.0-1) ... 200s Setting up libquadmath0:ppc64el (14.2.0-8ubuntu1) ... 200s Setting up libmpc3:ppc64el (1.3.1-1build2) ... 200s Setting up autopoint (0.22.5-2) ... 200s Setting up python3-cpuinfo (9.0.0+git20221119-2) ... 200s Setting up python3-toml (0.10.2-1) ... 200s Setting up python3-installer (0.7.0+dfsg1-3) ... 201s Setting up autoconf (2.72-3) ... 201s Setting up python3-pluggy (1.5.0-1) ... 201s Setting up libubsan1:ppc64el (14.2.0-8ubuntu1) ... 201s Setting up dwz (0.15-1build6) ... 201s Setting up python3-trove-classifiers (2024.9.12-1) ... 201s Setting up libasan8:ppc64el (14.2.0-8ubuntu1) ... 201s Setting up debugedit (1:5.1-1) ... 201s Setting up python3.13-minimal (3.13.0-2) ... 202s Setting up python3-dateutil (2.9.0-3) ... 202s Setting up python3-msgpack (1.0.3-3build3) ... 202s Setting up libtsan2:ppc64el (14.2.0-8ubuntu1) ... 202s Setting up libisl23:ppc64el (0.27-1) ... 202s Setting up python3-build (1.2.2-1) ... 202s Setting up python3-tomlkit (0.13.2-1) ... 203s Setting up python3-pathspec (0.12.1-1) ... 203s Setting up libpython3.13-stdlib:ppc64el (3.13.0-2) ... 203s Setting up libcc1-0:ppc64el (14.2.0-8ubuntu1) ... 203s Setting up liblsan0:ppc64el (14.2.0-8ubuntu1) ... 203s Setting up libitm1:ppc64el (14.2.0-8ubuntu1) ... 203s Setting up automake (1:1.16.5-1.3ubuntu1) ... 203s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 203s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 203s Setting up gettext (0.22.5-2) ... 203s Setting up python3.13 (3.13.0-2) ... 204s Setting up pybuild-plugin-pyproject (6.20241024) ... 204s Setting up python3-pytest (8.3.3-1) ... 205s Setting up python3-hypothesis (6.119.3-1) ... 205s Setting up python3-all (3.12.7-1) ... 205s Setting up python3-setuptools-scm (8.1.0-1) ... 206s Setting up intltool-debian (0.35.0+20060710.6) ... 206s Setting up cpp-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 206s Setting up cpp-14 (14.2.0-8ubuntu1) ... 206s Setting up dh-strip-nondeterminism (1.14.0-1) ... 206s Setting up python3-hatchling (1.26.3-1) ... 206s Setting up libgcc-14-dev:ppc64el (14.2.0-8ubuntu1) ... 206s Setting up libstdc++-14-dev:ppc64el (14.2.0-8ubuntu1) ... 206s Setting up cpp-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 206s Setting up gcc-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 206s Setting up python3-hatch-vcs (0.4.0-1) ... 206s Setting up python3-pytest-benchmark (5.1.0-1) ... 206s Setting up g++-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 206s Setting up po-debconf (1.0.21+nmu1) ... 206s Setting up gcc-14 (14.2.0-8ubuntu1) ... 206s Setting up gcc-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 206s Setting up cpp (4:14.1.0-2ubuntu1) ... 206s Setting up g++-14 (14.2.0-8ubuntu1) ... 206s Setting up g++-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 206s Setting up libtool (2.4.7-8) ... 206s Setting up gcc (4:14.1.0-2ubuntu1) ... 206s Setting up dh-autoreconf (20) ... 206s Setting up g++ (4:14.1.0-2ubuntu1) ... 206s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 206s Setting up build-essential (12.10ubuntu1) ... 206s Setting up debhelper (13.20ubuntu1) ... 206s Setting up pybuild-plugin-autopkgtest (6.20241024) ... 206s Setting up autopkgtest-satdep (0) ... 206s Processing triggers for systemd (256.5-2ubuntu4) ... 206s Processing triggers for man-db (2.13.0-1) ... 208s Processing triggers for install-info (7.1.1-1) ... 208s Processing triggers for libc-bin (2.40-1ubuntu3) ... 211s (Reading database ... 77759 files and directories currently installed.) 211s Removing autopkgtest-satdep (0) ... 212s autopkgtest [20:07:20]: test pybuild-autopkgtest: pybuild-autopkgtest 212s autopkgtest [20:07:20]: test pybuild-autopkgtest: [----------------------- 212s pybuild-autopkgtest 213s I: pybuild base:311: cd /tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 213s ============================= test session starts ============================== 213s platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 213s cachedir: .pytest_cache 213s 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) 213s hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build/.hypothesis/examples')) 213s rootdir: /tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build 213s configfile: pyproject.toml 213s plugins: benchmark-5.1.0, hypothesis-6.119.3, typeguard-4.4.1 214s collecting ... collected 592 items 214s 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 0%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 0%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 0%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 0%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 0%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 1%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 1%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 1%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 1%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 1%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 1%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 2%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 2%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 2%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 2%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 2%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 2%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 3%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 3%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 3%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 3%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 3%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 3%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 4%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 4%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 4%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 4%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 4%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 4%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 5%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 5%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 5%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 5%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 5%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 5%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 6%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 6%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 6%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 6%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 6%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 6%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 7%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 7%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 7%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 7%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 7%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 7%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 8%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 8%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 8%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 8%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 8%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 8%] 214s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 9%] 214s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 9%] 214s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 9%] 214s tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 9%] 214s tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 9%] 214s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 9%] 214s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 10%] 214s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 10%] 214s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 10%] 214s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 10%] 214s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 10%] 214s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 10%] 214s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 11%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 11%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 11%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 11%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 11%] 214s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 11%] 214s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 12%] 214s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 12%] 214s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 12%] 214s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 12%] 214s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 12%] 214s tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 13%] 214s tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 13%] 214s tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 13%] 214s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 13%] 214s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 13%] 214s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 13%] 214s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 14%] 214s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 14%] 214s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 14%] 214s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 14%] 214s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 14%] 214s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 14%] 214s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 15%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 15%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 15%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 15%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 15%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 15%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 16%] 214s tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 16%] 214s tests/test_copy.py::test_copy[BaseConverter] PASSED [ 16%] 214s tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 16%] 214s tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 16%] 214s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 16%] 214s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 17%] 214s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 17%] 214s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 17%] 214s tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 17%] 214s tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 17%] 214s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 17%] 214s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 18%] 214s tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 18%] 214s tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 18%] 214s tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 18%] 214s tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 18%] 214s tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 18%] 214s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 19%] 214s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 19%] 214s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 19%] 214s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 19%] 214s tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 19%] 214s tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 19%] 214s tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 20%] 214s tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 20%] 214s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 20%] 214s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 20%] 214s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 20%] 214s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 20%] 214s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 21%] 214s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 21%] 214s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 21%] 214s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 21%] 214s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 21%] 214s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 21%] 214s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 22%] 214s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 22%] 214s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 22%] 214s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 22%] 214s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 22%] 214s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 22%] 214s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 23%] 214s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 23%] 214s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 23%] 214s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 23%] 214s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 23%] 214s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 23%] 214s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 24%] 214s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 24%] 214s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 24%] 214s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 24%] 214s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 24%] 214s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 25%] 214s tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 25%] 214s tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 25%] 214s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 25%] 214s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 25%] 214s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 25%] 214s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 26%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 26%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 26%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 26%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 26%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 26%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 27%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 27%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 27%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 27%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 27%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 27%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 28%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 28%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 28%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 28%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 28%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 28%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 29%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 29%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 29%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 29%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 29%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 29%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 30%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 30%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 30%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 30%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 30%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 30%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 31%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 31%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 31%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 31%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 31%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 31%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 32%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 32%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 32%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 32%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 32%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 32%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 33%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 33%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 33%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 33%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 33%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 33%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 34%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 34%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 34%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 34%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 34%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 34%] 214s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 35%] 214s tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 35%] 214s tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 35%] 214s tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 35%] 214s tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 35%] 214s tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 35%] 214s tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] 214s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 36%] 214s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 36%] 214s tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 36%] 214s tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 36%] 214s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 36%] 214s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 37%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 37%] 214s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 37%] 214s tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] 214s tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] 214s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] 214s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 38%] 214s tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 38%] 214s tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 38%] 214s tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] 214s tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] 214s tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] 214s tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] 214s tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 39%] 214s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 39%] 214s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] 214s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] 214s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] 214s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] 214s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] 214s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 40%] 214s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 41%] 214s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] 214s tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] 214s tests/test_copy.py::test_copy[Converter] PASSED [ 42%] 215s tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] 215s tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] 215s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] 215s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] 215s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] 215s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] 215s tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] 215s tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] 215s tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] 215s tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] 215s tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] 215s tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] 215s tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] 215s tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] 215s tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] 215s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 45%] 215s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] 215s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] 215s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] 215s tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] 215s tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] 215s tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 46%] 215s tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 46%] 215s tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] 215s tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] 215s tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] 215s tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] 215s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 47%] 215s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 47%] 215s tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] 215s tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] 215s tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] 215s tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] 215s tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 48%] 215s tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 48%] 215s tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 48%] 215s tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] 215s tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] 215s tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] 215s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 49%] 215s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 49%] 215s tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 49%] 215s tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] 215s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] 215s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 50%] 215s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 50%] 215s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 50%] 215s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 50%] 215s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 50%] 215s tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] 215s tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 51%] 215s tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 51%] 215s tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 51%] 215s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 51%] 215s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 51%] 215s tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 51%] 215s tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 52%] 215s tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 52%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 52%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 52%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 52%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 52%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 53%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 53%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 53%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 53%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 53%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 53%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 54%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 54%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 54%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 54%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 54%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 54%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 55%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 55%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 55%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 55%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 55%] 215s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 55%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 56%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 56%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 56%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 56%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 56%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 56%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 57%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 57%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 57%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 57%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 57%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 57%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 58%] 216s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 58%] 216s tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 58%] 216s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 58%] 216s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 58%] 216s tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 58%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 59%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 59%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 59%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 59%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 59%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 59%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 60%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 60%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 60%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 60%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 60%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 60%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 61%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 61%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 61%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 61%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 61%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 61%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 62%] 216s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 62%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 62%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 62%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 62%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 63%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 63%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 63%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 63%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 63%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 63%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 64%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 64%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 64%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 64%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 64%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 64%] 217s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 65%] 217s tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 65%] 217s tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 65%] 217s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 65%] 217s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 65%] 217s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 65%] 217s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 66%] 217s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 66%] 217s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 66%] 217s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 66%] 217s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 66%] 217s tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 66%] 217s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 67%] 217s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 67%] 217s tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 67%] 221s tests/test_baseconverter.py::test_simple_roundtrip PASSED [ 67%] 222s tests/test_baseconverter.py::test_simple_roundtrip_defaults FAILED [ 67%] 272s tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 67%] 577s tests/test_baseconverter.py::test_nested_roundtrip_tuple FAILED [ 68%] 607s tests/test_baseconverter.py::test_union_field_roundtrip FAILED [ 68%] 659s tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 68%] 666s tests/test_baseconverter.py::test_optional_field_roundtrip FAILED [ 68%] 700s tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 68%] 703s tests/test_converter.py::test_simple_roundtrip PASSED [ 68%] 861s tests/test_converter.py::test_simple_roundtrip_tuple FAILED [ 69%] 862s tests/test_converter.py::test_simple_roundtrip_defaults PASSED [ 69%] 863s tests/test_converter.py::test_simple_roundtrip_defaults_tuple PASSED [ 69%] 865s tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden PASSED [ 69%] 868s tests/test_converter.py::test_forbid_extra_keys PASSED [ 69%] 868s tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 69%] 868s tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 70%] 1181s tests/test_converter.py::test_nested_roundtrip FAILED [ 70%] 1186s tests/test_converter.py::test_nested_roundtrip_tuple PASSED [ 70%] 1217s tests/test_converter.py::test_union_field_roundtrip FAILED [ 70%] 1337s tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 70%] 1339s tests/test_converter.py::test_optional_field_roundtrip PASSED [ 70%] 1342s tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 71%] 1344s tests/test_converter.py::test_omit_default_roundtrip PASSED [ 71%] 1344s tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 71%] 1347s tests/test_converter.py::test_type_overrides PASSED [ 71%] 1347s tests/test_converter.py::test_calling_back PASSED [ 71%] 1347s tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 71%] 1347s tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 72%] 1347s tests/test_converter.py::test_overriding_generated_structure PASSED [ 72%] 1347s tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 72%] 1352s tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 72%] 1352s tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 72%] 1352s tests/test_converter.py::test_annotated_attrs PASSED [ 72%] 1352s tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 73%] 1352s tests/test_copy.py::test_copy_converter PASSED [ 73%] 1352s tests/test_copy.py::test_detailed_validation PASSED [ 73%] 1352s tests/test_copy.py::test_col_overrides PASSED [ 73%] 1352s tests/test_disambiguators.py::test_edge_errors PASSED [ 73%] 1353s tests/test_disambiguators.py::test_fallback PASSED [ 73%] 1375s tests/test_disambiguators.py::test_disambiguation PASSED [ 74%] 1375s tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 74%] 1375s tests/test_disambiguators.py::test_default_no_literals PASSED [ 74%] 1375s tests/test_final.py::test_unstructure_final[True] PASSED [ 74%] 1375s tests/test_final.py::test_unstructure_final[False] PASSED [ 74%] 1375s tests/test_final.py::test_structure_final[True] PASSED [ 75%] 1375s tests/test_final.py::test_structure_final[False] PASSED [ 75%] 1375s tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 75%] 1375s tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 75%] 1375s tests/test_final.py::test_structure_bare_final[True] PASSED [ 75%] 1375s tests/test_final.py::test_structure_bare_final[False] PASSED [ 75%] 1375s tests/test_function_dispatch.py::test_function_dispatch PASSED [ 76%] 1375s tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 76%] 1375s tests/test_gen.py::test_structure_linecache PASSED [ 76%] 1375s tests/test_gen.py::test_unstructure_linecache PASSED [ 76%] 1375s tests/test_gen.py::test_no_linecache PASSED [ 76%] 1375s tests/test_gen.py::test_linecache_dedup PASSED [ 76%] 1379s tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 77%] 1382s tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 77%] 1386s tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 77%] 1388s tests/test_gen_dict.py::test_individual_overrides PASSED [ 77%] 1469s tests/test_gen_dict.py::test_unmodified_generated_structuring FAILED [ 77%] 1471s tests/test_gen_dict.py::test_renaming PASSED [ 77%] 1471s tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 78%] 1471s tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 78%] 1471s tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 78%] 1471s tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 78%] 1471s tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 78%] 1471s tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 78%] 1471s tests/test_gen_dict_563.py::test_roundtrip PASSED [ 79%] 1471s tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 79%] 1471s tests/test_generics.py::test_deep_copy PASSED [ 79%] 1471s tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 79%] 1471s tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 79%] 1471s tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 79%] 1471s tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 80%] 1471s tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 80%] 1471s tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 80%] 1471s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 80%] 1471s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 80%] 1471s tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 80%] 1471s tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 81%] 1471s tests/test_generics.py::test_unstructure_optional[True] PASSED [ 81%] 1471s tests/test_generics.py::test_unstructure_optional[False] PASSED [ 81%] 1471s tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 81%] 1471s tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 81%] 1471s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 81%] 1471s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 82%] 1471s tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 82%] 1471s tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 82%] 1471s tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 82%] 1471s tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 82%] 1471s tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 82%] 1471s tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 83%] 1471s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 83%] 1471s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 83%] 1471s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 83%] 1471s tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 83%] 1471s tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 83%] 1471s tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 84%] 1471s tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 84%] 1471s tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 84%] 1471s tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 84%] 1471s tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 84%] 1471s tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 84%] 1471s tests/test_recursive.py::test_simple_recursive PASSED [ 85%] 1471s tests/test_structure.py::test_structuring_primitives PASSED [ 85%] 1472s tests/test_structure.py::test_structuring_seqs PASSED [ 85%] 1472s tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 85%] 1473s tests/test_structure.py::test_structuring_sets PASSED [ 85%] 1473s tests/test_structure.py::test_stringifying_sets PASSED [ 85%] 1474s tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] 1475s tests/test_structure.py::test_stringifying_tuples PASSED [ 86%] 1475s tests/test_structure.py::test_structuring_dicts PASSED [ 86%] 1477s tests/test_structure.py::test_structuring_dicts_opts PASSED [ 86%] 1478s tests/test_structure.py::test_stringifying_dicts PASSED [ 86%] 1478s tests/test_structure.py::test_structuring_optional_primitives PASSED [ 86%] 1478s tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] 1479s tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 87%] 1479s tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 87%] 1479s tests/test_structure.py::test_structure_hook_func PASSED [ 87%] 1481s tests/test_structure.py::test_structuring_enums PASSED [ 87%] 1481s tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] 1481s tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] 1481s tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] 1483s tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 88%] 1484s tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 88%] 1486s tests/test_structure_attrs.py::test_roundtrip PASSED [ 88%] 1487s tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] 1490s tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] 1492s tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] 1494s tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 89%] 1494s tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 89%] 1494s tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 89%] 1494s tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] 1494s tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] 1494s tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] 1494s tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] 1494s tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 90%] 1494s tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 90%] 1494s tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] 1494s tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] 1494s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] 1494s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] 1494s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] 1494s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 91%] 1494s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] 1494s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] 1495s tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] 1496s tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] 1498s tests/test_typeddicts.py::test_int_override PASSED [ 92%] 1500s tests/test_typeddicts.py::test_extra_keys PASSED [ 92%] 1501s tests/test_typeddicts.py::test_generics PASSED [ 93%] 1502s tests/test_typeddicts.py::test_not_required PASSED [ 93%] 1503s tests/test_typeddicts.py::test_required PASSED [ 93%] 1504s tests/test_typeddicts.py::test_omit PASSED [ 93%] 1506s tests/test_typeddicts.py::test_rename PASSED [ 93%] 1507s tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] 1507s tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] 1507s tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] 1507s tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] 1507s tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] 1507s tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] 1507s tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] 1507s tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1507s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] 1507s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 1507s tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] 1507s tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] 1507s tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] 1508s tests/test_unstructure.py::test_set_unstructure PASSED [ 96%] 1509s tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] 1511s tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] 1515s tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] 1521s tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] 1523s tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] 1531s tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 97%] 1531s tests/test_v.py::test_attribute_errors PASSED [ 97%] 1531s tests/test_v.py::test_class_errors PASSED [ 97%] 1531s tests/test_v.py::test_sequence_errors PASSED [ 97%] 1531s tests/test_v.py::test_mapping_errors PASSED [ 97%] 1531s tests/test_v.py::test_custom_error_fn PASSED [ 97%] 1531s tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] 1531s tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] 1531s tests/test_validation.py::test_class_validation PASSED [ 98%] 1531s tests/test_validation.py::test_external_class_validation PASSED [ 98%] 1531s tests/test_validation.py::test_list_validation PASSED [ 98%] 1531s tests/test_validation.py::test_mapping_validation PASSED [ 98%] 1531s tests/test_validation.py::test_counter_validation PASSED [ 99%] 1531s tests/test_validation.py::test_set_validation PASSED [ 99%] 1531s tests/test_validation.py::test_frozenset_validation PASSED [ 99%] 1531s tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] 1531s tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] 1531s tests/test_validation.py::test_notes_pickling PASSED [100%] 1531s 1531s =================================== FAILURES =================================== 1531s ________________________ test_simple_roundtrip_defaults ________________________ 1531s 1531s @given(simple_typed_attrs(defaults=True, newtypes=False), unstructure_strats) 1531s > def test_simple_roundtrip_defaults(attr_and_strat, strat): 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d4cc0> 1531s 1531s tests/test_baseconverter.py:30: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s attr_and_strat = (_CountingAttr(counter=1449, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1531s strat = 1531s 1531s @given(simple_typed_attrs(defaults=True, newtypes=False), unstructure_strats) 1531s def test_simple_roundtrip_defaults(attr_and_strat, strat): 1531s """ 1531s Simple classes with metadata can be unstructured and restructured. 1531s """ 1531s a, _ = attr_and_strat 1531s assume(strat is UnstructureStrategy.AS_DICT or not a.kw_only) 1531s cl = make_class("HypClass", {"a": a}) 1531s converter = BaseConverter(unstruct_strat=strat) 1531s inst = cl() 1531s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 1531s inst 1531s ) 1531s > assert inst == converter.structure(converter.unstructure(inst), cl) 1531s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: nan != nan 1531s E Falsifying example: test_simple_roundtrip_defaults( 1531s E attr_and_strat=(_CountingAttr(counter=1449, 1531s E _default=nan, 1531s E repr=True, 1531s E eq=True, 1531s E order=True, 1531s E hash=None, 1531s E init=True, 1531s E on_setattr=None, 1531s E alias=None, 1531s E metadata={}), 1531s E floats()), 1531s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1531s E ) 1531s 1531s _ = floats() 1531s a = _CountingAttr(counter=1449, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 1531s attr_and_strat = (_CountingAttr(counter=1449, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 1531s cl = 1531s converter = 1531s inst = HypClass(a=nan) 1531s strat = 1531s 1531s tests/test_baseconverter.py:42: AssertionError 1531s ____________________________ test_nested_roundtrip _____________________________ 1531s 1531s @given(nested_typed_classes(newtypes=False)) 1531s > def test_nested_roundtrip(cls_and_vals): 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d4fe0> 1531s 1531s tests/test_baseconverter.py:46: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cls_and_vals = (, (nan,), {}) 1531s 1531s @given(nested_typed_classes(newtypes=False)) 1531s def test_nested_roundtrip(cls_and_vals): 1531s """ 1531s Nested classes with metadata can be unstructured and restructured. 1531s """ 1531s converter = BaseConverter() 1531s cl, vals, kwargs = cls_and_vals 1531s # Vals are a tuple, convert into a dictionary. 1531s inst = cl(*vals, **kwargs) 1531s > assert inst == converter.structure(converter.unstructure(inst), cl) 1531s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: nan != nan 1531s E Falsifying example: test_nested_roundtrip( 1531s E cls_and_vals=(tests.typed.HypClass, (nan,), {}), 1531s E ) 1531s E Explanation: 1531s E These lines were always and only run by failing examples: 1531s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1531s 1531s cl = 1531s cls_and_vals = (, (nan,), {}) 1531s converter = 1531s inst = HypClass(a=nan) 1531s kwargs = {} 1531s vals = (nan,) 1531s 1531s tests/test_baseconverter.py:54: AssertionError 1531s _________________________ test_nested_roundtrip_tuple __________________________ 1531s 1531s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1531s > def test_nested_roundtrip_tuple(cls_and_vals): 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d5440> 1531s 1531s tests/test_baseconverter.py:58: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cls_and_vals = (, ('', nan, [HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]), {}) 1531s 1531s @given(nested_typed_classes(kw_only=False, newtypes=False)) 1531s def test_nested_roundtrip_tuple(cls_and_vals): 1531s """ 1531s Nested classes with metadata can be unstructured and restructured. 1531s """ 1531s converter = BaseConverter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 1531s cl, vals, kwargs = cls_and_vals 1531s assert not kwargs 1531s # Vals are a tuple, convert into a dictionary. 1531s inst = cl(*vals) 1531s > assert inst == converter.structure(converter.unstructure(inst), cl) 1531s E AssertionError: assert HypClass(a=''...ozenset())])]) == HypClass(a=''...ozenset())])]) 1531s E 1531s E Omitting 2 identical items, use -vv to show 1531s E Differing attributes: 1531s E ['_b'] 1531s E 1531s E Drill down into differing attribute _b: 1531s E _b: nan != nan 1531s E Falsifying example: test_nested_roundtrip_tuple( 1531s E cls_and_vals=(tests.typed.HypClass, 1531s E ('', 1531s E struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0], 1531s E [HypClass(a=[HypClass(a=0, 1531s E _b='', 1531s E c=frozenset(), 1531s E _d=frozenset(), 1531s E e=frozenset(), 1531s E _f=frozenset())])]), 1531s E {}), 1531s E ) 1531s 1531s cl = 1531s cls_and_vals = (, ('', nan, [HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]), {}) 1531s converter = 1531s inst = HypClass(a='', _b=nan, c=[HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]) 1531s kwargs = {} 1531s vals = ('', nan, [HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]) 1531s 1531s tests/test_baseconverter.py:67: AssertionError 1531s ---------------------------------- Hypothesis ---------------------------------- 1531s 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. 1531s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 1531s __________________________ test_union_field_roundtrip __________________________ 1531s 1531s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s > @given( 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s unstructure_strats, 1531s ) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d59e0> 1531s 1531s tests/test_baseconverter.py:71: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals_a = (, (frozenset(), nan, [], []), {'g': 0, 'i': 0, 'j': {}}) 1531s cl_and_vals_b = (, (None,), {}) 1531s strat = 1531s 1531s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s @given( 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s unstructure_strats, 1531s ) 1531s def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1531s """ 1531s Classes with union fields can be unstructured and structured. 1531s """ 1531s converter = BaseConverter(unstruct_strat=strat) 1531s cl_a, vals_a, kwargs_a = cl_and_vals_a 1531s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1531s cl_b, vals_b, _ = cl_and_vals_b 1531s a_field_names = {a.name for a in fields(cl_a)} 1531s b_field_names = {a.name for a in fields(cl_b)} 1531s assume(a_field_names) 1531s assume(b_field_names) 1531s 1531s common_names = a_field_names & b_field_names 1531s assume(len(a_field_names) > len(common_names)) 1531s 1531s @define 1531s class C: 1531s a: Union[cl_a, cl_b] 1531s 1531s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1531s 1531s if strat is UnstructureStrategy.AS_DICT: 1531s > assert inst == converter.structure(converter.unstructure(inst), C) 1531s E AssertionError: assert C(a=HypAttrsC... _h=0, _j={})) == C(a=HypAttrsC... _h=0, _j={})) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a=frozenset(), _b=nan, _d=[], e=[], g=0, _h=0, _j={}) != HypAttrsClass(a=frozenset(), _b=nan, _d=[], e=[], g=0, _h=0, _j={}) 1531s E ... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s 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={})] 1531s 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={})} 1531s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Falsifying example: test_union_field_roundtrip( 1531s E # The test always failed when commented parts were varied together. 1531s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1531s E (frozenset(), nan, [], []), 1531s E {'g': 0, 'i': 0, 'j': {}}), 1531s E cl_and_vals_b=(tests.typed.HypAttrsClass, 1531s E (None,), 1531s E {}), # or any other generated value 1531s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1531s E ) 1531s 1531s C = .C'> 1531s _ = {} 1531s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 1531s b_field_names = {'a'} 1531s cl_a = 1531s cl_and_vals_a = (, (frozenset(), nan, [], []), {'g': 0, 'i': 0, 'j': {}}) 1531s cl_and_vals_b = (, (None,), {}) 1531s cl_b = 1531s common_names = {'a'} 1531s converter = 1531s inst = C(a=HypAttrsClass(a=frozenset(), _b=nan, _d=[], e=[], g=0, _h=0, _j={})) 1531s kwargs_a = {'g': 0, 'i': 0, 'j': {}} 1531s strat = 1531s vals_a = (frozenset(), nan, [], []) 1531s vals_b = (None,) 1531s 1531s tests/test_baseconverter.py:99: AssertionError 1531s ________________________ test_310_union_field_roundtrip ________________________ 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d6200> 1531s 1531s tests/test_baseconverter.py:113: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals_a = (, ('', '', '', '', '', nan, ...), {'s': 0}) 1531s cl_and_vals_b = (, (None,), {}) 1531s strat = 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s @given( 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s unstructure_strats, 1531s ) 1531s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1531s """ 1531s Classes with union fields can be unstructured and structured. 1531s """ 1531s converter = BaseConverter(unstruct_strat=strat) 1531s cl_a, vals_a, kwargs_a = cl_and_vals_a 1531s cl_b, vals_b, _ = cl_and_vals_b 1531s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1531s a_field_names = {a.name for a in fields(cl_a)} 1531s b_field_names = {a.name for a in fields(cl_b)} 1531s assume(a_field_names) 1531s assume(b_field_names) 1531s 1531s common_names = a_field_names & b_field_names 1531s assume(len(a_field_names) > len(common_names)) 1531s 1531s @define 1531s class C: 1531s a: cl_a | cl_b 1531s 1531s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1531s 1531s if strat is UnstructureStrategy.AS_DICT: 1531s > assert inst == converter.structure(converter.unstructure(inst), C) 1531s E AssertionError: assert C(a=HypAttrsC...=0, q=0, s=0)) == C(a=HypAttrsC...=0, q=0, s=0)) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a='', _b='', _d='', e='', g='', _h=nan, _j=frozenset(), k=('', '', ''), m=[], _n=[], _p=0, q=0, s=0) != HypAttrsClass(a='', _b='', _d='', e='', g='', _h=nan, _j=frozenset(), k=('', '', ''), m=[], _n=[], _p=0, q=0, s=0) 1531s E ... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s 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={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s 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={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={}), '_p': _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'q': _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_r', metadata={}), 's': _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Falsifying example: test_310_union_field_roundtrip( 1531s E # The test always failed when commented parts were varied together. 1531s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1531s E ('', '', '', '', '', nan, frozenset(), ('', '', ''), [], [], 0, 0), 1531s E {'s': 0}), 1531s E cl_and_vals_b=(tests.typed.HypAttrsClass, 1531s E (None,), 1531s E {}), # or any other generated value 1531s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1531s E ) 1531s E Explanation: 1531s E These lines were always and only run by failing examples: 1531s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1531s 1531s C = .C'> 1531s _ = {} 1531s a_field_names = {'_b', '_d', '_h', '_j', '_n', '_p', ...} 1531s b_field_names = {'a'} 1531s cl_a = 1531s cl_and_vals_a = (, ('', '', '', '', '', nan, ...), {'s': 0}) 1531s cl_and_vals_b = (, (None,), {}) 1531s cl_b = 1531s common_names = {'a'} 1531s converter = 1531s inst = C(a=HypAttrsClass(a='', _b='', _d='', e='', g='', _h=nan, _j=frozenset(), k=('', '', ''), m=[], _n=[], _p=0, q=0, s=0)) 1531s kwargs_a = {'s': 0} 1531s strat = 1531s vals_a = ('', '', '', '', '', nan, ...) 1531s vals_b = (None,) 1531s 1531s tests/test_baseconverter.py:142: AssertionError 1531s ________________________ test_optional_field_roundtrip _________________________ 1531s 1531s @given(simple_typed_classes(defaults=False, newtypes=False)) 1531s > def test_optional_field_roundtrip(cl_and_vals): 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d67a0> 1531s 1531s tests/test_baseconverter.py:156: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals = (, ('', {}, nan), {}) 1531s 1531s @given(simple_typed_classes(defaults=False, newtypes=False)) 1531s def test_optional_field_roundtrip(cl_and_vals): 1531s """ 1531s Classes with optional fields can be unstructured and structured. 1531s """ 1531s converter = BaseConverter() 1531s cl, vals, kwargs = cl_and_vals 1531s 1531s @define 1531s class C: 1531s a: Optional[cl] 1531s 1531s inst = C(a=cl(*vals, **kwargs)) 1531s > assert inst == converter.structure(converter.unstructure(inst), C) 1531s E AssertionError: assert C(a=HypAttrsC...b={}, _d=nan)) == C(a=HypAttrsC...b={}, _d=nan)) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a='', _b={}, _d=nan) != HypAttrsClass(a='', _b={}, _d=nan) 1531s E ... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s 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={})] 1531s 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={})} 1531s E Falsifying example: test_optional_field_roundtrip( 1531s E cl_and_vals=(tests.typed.HypAttrsClass, ('', {}, nan), {}), 1531s E ) 1531s 1531s C = .C'> 1531s cl = 1531s cl_and_vals = (, ('', {}, nan), {}) 1531s converter = 1531s inst = C(a=HypAttrsClass(a='', _b={}, _d=nan)) 1531s kwargs = {} 1531s vals = ('', {}, nan) 1531s 1531s tests/test_baseconverter.py:168: AssertionError 1531s ______________________ test_310_optional_field_roundtrip _______________________ 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s > @given(simple_typed_classes(defaults=False, newtypes=False)) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d6b60> 1531s 1531s tests/test_baseconverter.py:177: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals = (, ('', nan), {}) 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s @given(simple_typed_classes(defaults=False, newtypes=False)) 1531s def test_310_optional_field_roundtrip(cl_and_vals): 1531s """ 1531s Classes with optional fields can be unstructured and structured. 1531s """ 1531s converter = BaseConverter() 1531s cl, vals, kwargs = cl_and_vals 1531s 1531s @define 1531s class C: 1531s a: cl | None 1531s 1531s inst = C(a=cl(*vals, **kwargs)) 1531s > assert inst == converter.structure(converter.unstructure(inst), C) 1531s E AssertionError: assert C(a=HypAttrsC...a='', _b=nan)) == C(a=HypAttrsC...a='', _b=nan)) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a='', _b=nan) != HypAttrsClass(a='', _b=nan) 1531s E ... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s 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={})] 1531s 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={})} 1531s E Falsifying example: test_310_optional_field_roundtrip( 1531s E cl_and_vals=(tests.typed.HypAttrsClass, ('', nan), {}), 1531s E ) 1531s E Explanation: 1531s E These lines were always and only run by failing examples: 1531s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1531s 1531s C = .C'> 1531s cl = 1531s cl_and_vals = (, ('', nan), {}) 1531s converter = 1531s inst = C(a=HypAttrsClass(a='', _b=nan)) 1531s kwargs = {} 1531s vals = ('', nan) 1531s 1531s tests/test_baseconverter.py:190: AssertionError 1531s _________________________ test_simple_roundtrip_tuple __________________________ 1531s 1531s @given( 1531s > simple_typed_classes(kw_only=False, newtypes=False) 1531s | simple_typed_dataclasses(newtypes=False), 1531s booleans(), 1531s ) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4d8220> 1531s 1531s tests/test_converter.py:54: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cls_and_vals = (, ('', nan), {}), dv = False 1531s 1531s @given( 1531s simple_typed_classes(kw_only=False, newtypes=False) 1531s | simple_typed_dataclasses(newtypes=False), 1531s booleans(), 1531s ) 1531s def test_simple_roundtrip_tuple(cls_and_vals, dv: bool): 1531s """ 1531s Simple classes with metadata can be unstructured and restructured. 1531s """ 1531s converter = Converter( 1531s unstruct_strat=UnstructureStrategy.AS_TUPLE, detailed_validation=dv 1531s ) 1531s cl, vals, _ = cls_and_vals 1531s inst = cl(*vals) 1531s unstructured = converter.unstructure(inst) 1531s assert "Hyp" not in repr(unstructured) 1531s > assert inst == converter.structure(unstructured, cl) 1531s E AssertionError: assert HypDataclass(a='', _b=nan) == HypDataclass(a='', _b=nan) 1531s E 1531s E Omitting 1 identical items, use -vv to show 1531s E Differing attributes: 1531s E ['_b'] 1531s E 1531s E Drill down into differing attribute _b: 1531s E _b: nan != nan 1531s E Falsifying example: test_simple_roundtrip_tuple( 1531s E cls_and_vals=(tests.typed.HypDataclass, ('', nan), {}), 1531s E dv=False, # or any other generated value 1531s E ) 1531s 1531s _ = {} 1531s cl = 1531s cls_and_vals = (, ('', nan), {}) 1531s converter = 1531s dv = False 1531s inst = HypDataclass(a='', _b=nan) 1531s unstructured = ('', nan) 1531s vals = ('', nan) 1531s 1531s tests/test_converter.py:69: AssertionError 1531s ____________________________ test_nested_roundtrip _____________________________ 1531s 1531s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1531s > def test_nested_roundtrip(cls_and_vals, omit_if_default): 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4da200> 1531s 1531s tests/test_converter.py:203: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cls_and_vals = (, (None, None, None, None, None, None, ...), {}) 1531s omit_if_default = False 1531s 1531s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 1531s def test_nested_roundtrip(cls_and_vals, omit_if_default): 1531s """ 1531s Nested classes with metadata can be unstructured and restructured. 1531s """ 1531s converter = Converter(omit_if_default=omit_if_default) 1531s cl, vals, kwargs = cls_and_vals 1531s # Vals are a tuple, convert into a dictionary. 1531s inst = cl(*vals, **kwargs) 1531s unstructured = converter.unstructure(inst) 1531s > assert inst == converter.structure(unstructured, cl) 1531s E AssertionError: assert HypClass(a=No...ozenset())])]) == HypClass(a=No...ozenset())])]) 1531s E 1531s E Omitting 15 identical items, use -vv to show 1531s E Differing attributes: 1531s E ['_p'] 1531s E 1531s E Drill down into differing attribute _p: 1531s E _p: [HypClass(a=None, _b=None, c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])] != [HypClass(a=None, _b=None, c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])]... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s E Falsifying example: test_nested_roundtrip( 1531s E cls_and_vals=(tests.typed.HypClass, 1531s E (None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E None, 1531s E ('', '', ''), 1531s E [HypClass(a=None, 1531s E _b=None, 1531s E c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])]), 1531s E {}), 1531s E omit_if_default=False, 1531s E ) 1531s E Explanation: 1531s E These lines were always and only run by failing examples: 1531s E /usr/lib/python3.13/difflib.py:490 1531s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:128 1531s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:469 1531s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1531s 1531s cl = 1531s cls_and_vals = (, (None, None, None, None, None, None, ...), {}) 1531s converter = 1531s inst = HypClass(a=None, _b=None, c=None, _d=None, e=None, _f=None, g=None, _h=None, i=None, _j=None, k=None, _l=None, m=None,...e, o=('', '', ''), _p=[HypClass(a=None, _b=None, c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])]) 1531s kwargs = {} 1531s omit_if_default = False 1531s unstructured = {'_b': None, '_d': None, '_f': None, '_h': None, ...} 1531s vals = (None, None, None, None, None, None, ...) 1531s 1531s tests/test_converter.py:212: AssertionError 1531s ---------------------------------- Hypothesis ---------------------------------- 1531s 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. 1531s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 1531s __________________________ test_union_field_roundtrip __________________________ 1531s 1531s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s > @given( 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s unstructure_strats, 1531s ) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4da980> 1531s 1531s tests/test_converter.py:234: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals_a = (, (nan, {}, [], [], []), {'i': '', 'j': ''}) 1531s cl_and_vals_b = (, (None,), {}) 1531s strat = 1531s 1531s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s @given( 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s unstructure_strats, 1531s ) 1531s def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1531s """ 1531s Classes with union fields can be unstructured and structured. 1531s """ 1531s converter = Converter(unstruct_strat=strat) 1531s cl_a, vals_a, kwargs_a = cl_and_vals_a 1531s cl_b, _, _ = cl_and_vals_b 1531s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1531s a_field_names = {a.name for a in fields(cl_a)} 1531s b_field_names = {a.name for a in fields(cl_b)} 1531s assume(a_field_names) 1531s assume(b_field_names) 1531s 1531s common_names = a_field_names & b_field_names 1531s assume(len(a_field_names) > len(common_names)) 1531s 1531s @define 1531s class C: 1531s a: Union[cl_a, cl_b] 1531s 1531s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1531s 1531s if strat is UnstructureStrategy.AS_DICT: 1531s unstructured = converter.unstructure(inst) 1531s > assert inst == converter.structure(converter.unstructure(unstructured), C) 1531s E AssertionError: assert C(a=HypAttrsC..._h='', _j='')) == C(a=HypAttrsC..._h='', _j='')) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h='', _j='') != HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h='', _j='') 1531s E ... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s 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={})] 1531s 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={})} 1531s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Falsifying example: test_union_field_roundtrip( 1531s E # The test always failed when commented parts were varied together. 1531s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1531s E (nan, {}, [], [], []), 1531s E {'i': '', 'j': ''}), 1531s E cl_and_vals_b=(tests.typed.HypAttrsClass, 1531s E (None,), 1531s E {}), # or any other generated value 1531s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1531s E ) 1531s 1531s C = .C'> 1531s _ = {} 1531s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 1531s b_field_names = {'a'} 1531s cl_a = 1531s cl_and_vals_a = (, (nan, {}, [], [], []), {'i': '', 'j': ''}) 1531s cl_and_vals_b = (, (None,), {}) 1531s cl_b = 1531s common_names = {'a'} 1531s converter = 1531s inst = C(a=HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h='', _j='')) 1531s kwargs_a = {'i': '', 'j': ''} 1531s strat = 1531s unstructured = {'a': {'_b': {}, '_d': [], '_h': '', '_j': '', ...}} 1531s vals_a = (nan, {}, [], [], []) 1531s 1531s tests/test_converter.py:263: AssertionError 1531s ________________________ test_310_union_field_roundtrip ________________________ 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4db100> 1531s 1531s tests/test_converter.py:278: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals_a = (, (0, 0, 0, 0, 0, 0, ...), {'_x': [], 'u': nan, 'v': {}, 'y': 0}) 1531s cl_and_vals_b = (, (None,), {}) 1531s strat = 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 1531s @given( 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s simple_typed_classes(defaults=False, newtypes=False), 1531s unstructure_strats, 1531s ) 1531s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 1531s """ 1531s Classes with union fields can be unstructured and structured. 1531s """ 1531s converter = Converter(unstruct_strat=strat) 1531s cl_a, vals_a, kwargs_a = cl_and_vals_a 1531s cl_b, _, _ = cl_and_vals_b 1531s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 1531s a_field_names = {a.name for a in fields(cl_a)} 1531s b_field_names = {a.name for a in fields(cl_b)} 1531s assume(a_field_names) 1531s assume(b_field_names) 1531s 1531s common_names = a_field_names & b_field_names 1531s assume(len(a_field_names) > len(common_names)) 1531s 1531s @define 1531s class C: 1531s a: cl_a | cl_b 1531s 1531s inst = C(a=cl_a(*vals_a, **kwargs_a)) 1531s 1531s if strat is UnstructureStrategy.AS_DICT: 1531s unstructured = converter.unstructure(inst) 1531s > assert inst == converter.structure(converter.unstructure(unstructured), C) 1531s E AssertionError: assert C(a=HypAttrsC...}, w=[], y=0)) == C(a=HypAttrsC...}, w=[], y=0)) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a=0, _b=0, _d=0, e=0, g=0, _h=0, _j=0, k=0, m=frozenset(), _n=frozenset(), _p=('', '', ''), q={}, s={}, _t=nan, _v={}, w=[], y=0) != HypAttrsClass(a=0, _b=0, _d=0, e=0, g=0, _h=0, _j=0, k=0, m=frozenset(), _n=frozenset(), _p=('', '', ''), q={}, s={}, _t=nan, _v={}, w=[], y=0) 1531s E ... 1531s E 1531s E ...Full output truncated (6 lines hidden), use '-vv' to show 1531s 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={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s 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={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={}), '_p': _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'q': _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_r', metadata={}), 's': _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_t': _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='u', metadata={}), '_v': _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'w': _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_x', metadata={}), 'y': _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Falsifying example: test_310_union_field_roundtrip( 1531s E # The test always failed when commented parts were varied together. 1531s E cl_and_vals_a=(tests.typed.HypAttrsClass, 1531s E (0, 0, 0, 0, 0, 0, 0, 0, frozenset(), frozenset(), ('', '', ''), {}, {}), 1531s E {'u': nan, 'v': {}, '_x': [], 'y': 0}), 1531s E cl_and_vals_b=(tests.typed.HypAttrsClass, 1531s E (None,), 1531s E {}), # or any other generated value 1531s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 1531s E ) 1531s E Explanation: 1531s E These lines were always and only run by failing examples: 1531s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 1531s 1531s C = .C'> 1531s _ = {} 1531s a_field_names = {'_b', '_d', '_h', '_j', '_n', '_p', ...} 1531s b_field_names = {'a'} 1531s cl_a = 1531s cl_and_vals_a = (, (0, 0, 0, 0, 0, 0, ...), {'_x': [], 'u': nan, 'v': {}, 'y': 0}) 1531s cl_and_vals_b = (, (None,), {}) 1531s cl_b = 1531s common_names = {'a'} 1531s converter = 1531s inst = C(a=HypAttrsClass(a=0, _b=0, _d=0, e=0, g=0, _h=0, _j=0, k=0, m=frozenset(), _n=frozenset(), _p=('', '', ''), q={}, s={}, _t=nan, _v={}, w=[], y=0)) 1531s kwargs_a = {'_x': [], 'u': nan, 'v': {}, 'y': 0} 1531s strat = 1531s unstructured = {'a': {'_b': 0, '_d': 0, '_h': 0, '_j': 0, ...}} 1531s vals_a = (0, 0, 0, 0, 0, 0, ...) 1531s 1531s tests/test_converter.py:308: AssertionError 1531s ______________________ test_310_optional_field_roundtrip _______________________ 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s > @given(simple_typed_classes(defaults=False)) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b4dbba0> 1531s 1531s tests/test_converter.py:344: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals = (, (nan,), {}) 1531s 1531s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 1531s @given(simple_typed_classes(defaults=False)) 1531s def test_310_optional_field_roundtrip(cl_and_vals): 1531s """ 1531s Classes with optional fields can be unstructured and structured. 1531s """ 1531s converter = Converter() 1531s cl, vals, kwargs = cl_and_vals 1531s 1531s @define 1531s class C: 1531s a: cl | None 1531s 1531s inst = C(a=cl(*vals, **kwargs)) 1531s > assert inst == converter.structure(converter.unstructure(inst), C) 1531s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 1531s E ... 1531s E 1531s E ...Full output truncated (5 lines hidden), use '-vv' to show 1531s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 1531s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 1531s E Falsifying example: test_310_optional_field_roundtrip( 1531s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 1531s E ) 1531s 1531s C = .C'> 1531s cl = 1531s cl_and_vals = (, (nan,), {}) 1531s converter = 1531s inst = C(a=HypAttrsClass(a=nan)) 1531s kwargs = {} 1531s vals = (nan,) 1531s 1531s tests/test_converter.py:357: AssertionError 1531s ____________________ test_unmodified_generated_structuring _____________________ 1531s 1531s @given( 1531s > cl_and_vals=nested_typed_classes() 1531s | simple_typed_classes() 1531s | simple_typed_dataclasses(), 1531s dv=..., 1531s ) 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b0ae660> 1531s 1531s tests/test_gen_dict.py:166: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals = (, (frozenset(), frozenset(), frozenset(), nan), {}) 1531s dv = False 1531s 1531s @given( 1531s cl_and_vals=nested_typed_classes() 1531s | simple_typed_classes() 1531s | simple_typed_dataclasses(), 1531s dv=..., 1531s ) 1531s def test_unmodified_generated_structuring(cl_and_vals, dv: bool): 1531s converter = Converter(detailed_validation=dv) 1531s cl, vals, kwargs = cl_and_vals 1531s fn = make_dict_structure_fn(cl, converter, _cattrs_detailed_validation=dv) 1531s 1531s inst = cl(*vals, **kwargs) 1531s 1531s unstructured = converter.unstructure(inst) 1531s 1531s assert "Hyp" not in repr(unstructured) 1531s 1531s converter.register_structure_hook(cl, fn) 1531s 1531s res = converter.structure(unstructured, cl) 1531s 1531s > assert inst == res 1531s E AssertionError: assert HypAttrsClass...nset(), e=nan) == HypAttrsClass...nset(), e=nan) 1531s E 1531s E Omitting 3 identical items, use -vv to show 1531s E Differing attributes: 1531s E ['e'] 1531s E 1531s E Drill down into differing attribute e: 1531s E e: nan != nan 1531s 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={})] 1531s 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={})} 1531s E Falsifying example: test_unmodified_generated_structuring( 1531s E cl_and_vals=(tests.typed.HypAttrsClass, 1531s E (frozenset(), 1531s E frozenset(), 1531s E frozenset(), 1531s E struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0]), 1531s E {}), 1531s E dv=False, # or any other generated value 1531s E ) 1531s 1531s cl = 1531s cl_and_vals = (, (frozenset(), frozenset(), frozenset(), nan), {}) 1531s converter = 1531s dv = False 1531s fn = 1531s inst = HypAttrsClass(a=frozenset(), _b=frozenset(), _d=frozenset(), e=nan) 1531s kwargs = {} 1531s res = HypAttrsClass(a=frozenset(), _b=frozenset(), _d=frozenset(), e=nan) 1531s unstructured = {'_b': frozenset(), '_d': frozenset(), 'a': frozenset(), 'e': nan} 1531s vals = (frozenset(), frozenset(), frozenset(), nan) 1531s 1531s tests/test_gen_dict.py:186: AssertionError 1531s ___________________ test_structure_simple_from_dict_default ____________________ 1531s 1531s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1531s > def test_structure_simple_from_dict_default(cl_and_vals, data): 1531s 1531s f = .run_test_as_given..wrapped_test at 0x69248b2a4680> 1531s 1531s tests/test_structure_attrs.py:31: 1531s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1531s 1531s cl_and_vals = (, (0.0,), {}), data = data(...) 1531s 1531s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 1531s def test_structure_simple_from_dict_default(cl_and_vals, data): 1531s """Test structuring non-nested attrs classes with default value.""" 1531s converter = BaseConverter() 1531s cl, vals, kwargs = cl_and_vals 1531s obj = cl(*vals, **kwargs) 1531s attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] 1531s to_remove = data.draw( 1531s lists(elements=sampled_from(attrs_with_defaults), unique=True) 1531s ) 1531s 1531s for a in to_remove: 1531s if isinstance(a.default, Factory): 1531s setattr(obj, a.name, a.default.factory()) 1531s else: 1531s setattr(obj, a.name, a.default) 1531s 1531s dumped = asdict(obj) 1531s 1531s for a in to_remove: 1531s del dumped[a.name] 1531s 1531s > assert obj == converter.structure(dumped, cl) 1531s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 1531s E 1531s E Differing attributes: 1531s E ['a'] 1531s E 1531s E Drill down into differing attribute a: 1531s E a: nan != nan 1531s E Falsifying example: test_structure_simple_from_dict_default( 1531s E cl_and_vals=(tests.untyped.HypClass, (0.0,), {}), 1531s E data=data(...), 1531s E ) 1531s 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')] 1531s 1531s 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') 1531s 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')] 1531s cl = 1531s cl_and_vals = (, (0.0,), {}) 1531s converter = 1531s data = data(...) 1531s dumped = {} 1531s kwargs = {} 1531s obj = HypClass(a=nan) 1531s 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')] 1531s vals = (0.0,) 1531s 1531s tests/test_structure_attrs.py:52: AssertionError 1531s =============================== warnings summary =============================== 1531s tests/typed.py:417 1531s /tmp/autopkgtest.K6x9ez/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) 1531s @composite 1531s 1531s tests/typed.py:826 1531s /tmp/autopkgtest.K6x9ez/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) 1531s @composite 1531s 1531s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 1531s =========================== short test summary info ============================ 1531s FAILED tests/test_baseconverter.py::test_simple_roundtrip_defaults - Assertio... 1531s FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... 1531s FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - AssertionEr... 1531s FAILED tests/test_baseconverter.py::test_union_field_roundtrip - AssertionErr... 1531s FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... 1531s FAILED tests/test_baseconverter.py::test_optional_field_roundtrip - Assertion... 1531s FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... 1531s FAILED tests/test_converter.py::test_simple_roundtrip_tuple - AssertionError:... 1531s FAILED tests/test_converter.py::test_nested_roundtrip - AssertionError: asser... 1531s FAILED tests/test_converter.py::test_union_field_roundtrip - AssertionError: ... 1531s FAILED tests/test_converter.py::test_310_union_field_roundtrip - AssertionErr... 1531s FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... 1531s FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - Assert... 1531s FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default 1531s ===== 14 failed, 563 passed, 15 xfailed, 2 warnings in 1318.09s (0:21:58) ====== 1532s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build; python3.13 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 1532s I: pybuild base:311: cd /tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build; python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 1532s ============================= test session starts ============================== 1532s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 1532s cachedir: .pytest_cache 1532s 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) 1532s hypothesis profile 'tests' -> deadline=None, suppress_health_check=[HealthCheck.too_slow], database=DirectoryBasedExampleDatabase(PosixPath('/tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build/.hypothesis/examples')) 1532s rootdir: /tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build 1532s configfile: pyproject.toml 1532s plugins: benchmark-5.1.0, hypothesis-6.119.3, typeguard-4.4.1 1533s collecting ... collected 592 items 1533s 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_unstructure] PASSED [ 0%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-_undefined] PASSED [ 0%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_structure-None] PASSED [ 0%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_unstructure] PASSED [ 0%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-_undefined] PASSED [ 0%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-_undefined-None] PASSED [ 1%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_unstructure] PASSED [ 1%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-_undefined] PASSED [ 1%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Structure-None-None] PASSED [ 1%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_unstructure] PASSED [ 1%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-_undefined] PASSED [ 1%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_structure-None] PASSED [ 2%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_unstructure] PASSED [ 2%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-_undefined] PASSED [ 2%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-_undefined-None] PASSED [ 2%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_unstructure] PASSED [ 2%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-_undefined] PASSED [ 2%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Unstructure-None-None] PASSED [ 3%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_unstructure] PASSED [ 3%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-_undefined] PASSED [ 3%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_structure-None] PASSED [ 3%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_unstructure] PASSED [ 3%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-_undefined] PASSED [ 3%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-_undefined-None] PASSED [ 4%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_unstructure] PASSED [ 4%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-_undefined] PASSED [ 4%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-True-Both-None-None] PASSED [ 4%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_unstructure] PASSED [ 4%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-_undefined] PASSED [ 4%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_structure-None] PASSED [ 5%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_unstructure] PASSED [ 5%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-_undefined] PASSED [ 5%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-_undefined-None] PASSED [ 5%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_unstructure] PASSED [ 5%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-_undefined] PASSED [ 5%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Structure-None-None] PASSED [ 6%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_unstructure] PASSED [ 6%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-_undefined] PASSED [ 6%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_structure-None] PASSED [ 6%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_unstructure] PASSED [ 6%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-_undefined] PASSED [ 6%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-_undefined-None] PASSED [ 7%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_unstructure] PASSED [ 7%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-_undefined] PASSED [ 7%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Unstructure-None-None] PASSED [ 7%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_unstructure] PASSED [ 7%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-_undefined] PASSED [ 7%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_structure-None] PASSED [ 8%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_unstructure] PASSED [ 8%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-_undefined] PASSED [ 8%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-_undefined-None] PASSED [ 8%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_unstructure] PASSED [ 8%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-_undefined] PASSED [ 8%] 1533s tests/strategies/test_class_methods.py::test_not_nested[BaseConverter-False-Both-None-None] PASSED [ 9%] 1533s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-True] PASSED [ 9%] 1533s tests/strategies/test_native_unions.py::test_only_primitives[BaseConverter-False] PASSED [ 9%] 1533s tests/strategies/test_native_unions.py::test_literals[BaseConverter-True] PASSED [ 9%] 1533s tests/strategies/test_native_unions.py::test_literals[BaseConverter-False] PASSED [ 9%] 1533s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-True] PASSED [ 9%] 1533s tests/strategies/test_native_unions.py::test_spillover[BaseConverter-False] PASSED [ 10%] 1533s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-True] PASSED [ 10%] 1533s tests/strategies/test_native_unions.py::test_multiple_spillover[BaseConverter-False] PASSED [ 10%] 1533s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-True] PASSED [ 10%] 1533s tests/strategies/test_tagged_unions.py::test_defaults[BaseConverter-False] PASSED [ 10%] 1533s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-True] PASSED [ 10%] 1533s tests/strategies/test_tagged_unions.py::test_tag_name[BaseConverter-False] PASSED [ 11%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-True] PASSED [ 11%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator[BaseConverter-False] PASSED [ 11%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-True] PASSED [ 11%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[BaseConverter-False] PASSED [ 11%] 1533s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-True] PASSED [ 11%] 1533s tests/strategies/test_tagged_unions.py::test_default_member[BaseConverter-False] PASSED [ 12%] 1533s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-True] PASSED [ 12%] 1533s tests/strategies/test_tagged_unions.py::test_default_member_validation[BaseConverter-False] PASSED [ 12%] 1533s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-True] PASSED [ 12%] 1533s tests/test_any.py::test_unstructuring_dict_of_any[BaseConverter-False] PASSED [ 12%] 1533s tests/test_converter.py::test_unstructure_fallbacks[BaseConverter] PASSED [ 13%] 1533s tests/test_converter.py::test_structure_fallbacks[BaseConverter] PASSED [ 13%] 1533s tests/test_converter.py::test_fallback_chaining[BaseConverter] PASSED [ 13%] 1533s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-True] PASSED [ 13%] 1533s tests/test_converter_inheritance.py::test_inheritance[BaseConverter-False] PASSED [ 13%] 1533s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-True] PASSED [ 13%] 1533s tests/test_converter_inheritance.py::test_gen_hook_priority[BaseConverter-False] PASSED [ 14%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Hashable] PASSED [ 14%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Iterable] PASSED [ 14%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-True-Reversible] PASSED [ 14%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Hashable] PASSED [ 14%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Iterable] PASSED [ 14%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[BaseConverter-False-Reversible] PASSED [ 15%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Hashable] PASSED [ 15%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Iterable] PASSED [ 15%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-True-Reversible] PASSED [ 15%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Hashable] PASSED [ 15%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Iterable] PASSED [ 15%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[BaseConverter-False-Reversible] PASSED [ 16%] 1533s tests/test_copy.py::test_deepcopy[BaseConverter] PASSED [ 16%] 1533s tests/test_copy.py::test_copy[BaseConverter] PASSED [ 16%] 1533s tests/test_copy.py::test_copy_hooks[BaseConverter] PASSED [ 16%] 1533s tests/test_copy.py::test_copy_func_hooks[BaseConverter] PASSED [ 16%] 1533s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-True] PASSED [ 16%] 1533s tests/test_dataclasses.py::test_dataclasses_in_attrs[BaseConverter-False] PASSED [ 17%] 1533s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-True] PASSED [ 17%] 1533s tests/test_dataclasses.py::test_dataclasses_in_container[BaseConverter-False] PASSED [ 17%] 1533s tests/test_dataclasses.py::test_dataclasses[BaseConverter-True] PASSED [ 17%] 1533s tests/test_dataclasses.py::test_dataclasses[BaseConverter-False] PASSED [ 17%] 1533s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-True] PASSED [ 17%] 1533s tests/test_disambiguators.py::test_converter_no_literals[BaseConverter-False] PASSED [ 18%] 1533s tests/test_factory_hooks.py::test_snake_to_camel[BaseConverter] PASSED [ 18%] 1533s tests/test_gen_dict.py::test_omitting[BaseConverter-True] PASSED [ 18%] 1533s tests/test_gen_dict.py::test_omitting[BaseConverter-False] PASSED [ 18%] 1533s tests/test_gen_dict.py::test_omitting_none[BaseConverter-True] PASSED [ 18%] 1533s tests/test_gen_dict.py::test_omitting_none[BaseConverter-False] PASSED [ 18%] 1533s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-True] PASSED [ 19%] 1533s tests/test_gen_dict.py::test_overriding_struct_hook[BaseConverter-False] PASSED [ 19%] 1533s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-True] PASSED [ 19%] 1533s tests/test_gen_dict.py::test_overriding_unstruct_hook[BaseConverter-False] PASSED [ 19%] 1533s tests/test_gen_dict.py::test_alias_keys[BaseConverter-True] PASSED [ 19%] 1533s tests/test_gen_dict.py::test_alias_keys[BaseConverter-False] PASSED [ 19%] 1533s tests/test_gen_dict.py::test_init_false[BaseConverter-True] PASSED [ 20%] 1533s tests/test_gen_dict.py::test_init_false[BaseConverter-False] PASSED [ 20%] 1533s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-True] PASSED [ 20%] 1533s tests/test_gen_dict.py::test_init_false_overridden[BaseConverter-False] PASSED [ 20%] 1533s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-True] PASSED [ 20%] 1533s tests/test_gen_dict.py::test_init_false_field_override[BaseConverter-False] PASSED [ 20%] 1533s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 21%] 1533s tests/test_gen_dict.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 21%] 1533s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-int-str-result0] PASSED [ 21%] 1533s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-str-str-result1] PASSED [ 21%] 1533s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-True-List-str-result2] PASSED [ 21%] 1533s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-int-str-result0] PASSED [ 21%] 1533s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-str-str-result1] PASSED [ 22%] 1533s tests/test_generics.py::test_able_to_structure_generics[BaseConverter-False-List-str-result2] PASSED [ 22%] 1533s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-TClass-str-result0] PASSED [ 22%] 1533s tests/test_generics.py::test_structure_nested_generics[BaseConverter-True-List-str-result1] PASSED [ 22%] 1533s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-TClass-str-result0] PASSED [ 22%] 1533s tests/test_generics.py::test_structure_nested_generics[BaseConverter-False-List-str-result1] PASSED [ 22%] 1533s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-True] PASSED [ 23%] 1533s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[BaseConverter-False] PASSED [ 23%] 1533s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-True] PASSED [ 23%] 1533s tests/test_generics.py::test_structure_unions_of_generics[BaseConverter-False] PASSED [ 23%] 1533s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-True] PASSED [ 23%] 1533s tests/test_generics.py::test_structure_list_of_generic_unions[BaseConverter-False] PASSED [ 23%] 1533s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-True] PASSED [ 24%] 1533s tests/test_generics.py::test_structure_deque_of_generic_unions[BaseConverter-False] PASSED [ 24%] 1533s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-True] PASSED [ 24%] 1533s tests/test_generics.py::test_raises_if_no_generic_params_supplied[BaseConverter-False] PASSED [ 24%] 1533s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-True] PASSED [ 24%] 1533s tests/test_generics.py::test_nongeneric_protocols[BaseConverter-False] PASSED [ 25%] 1533s tests/test_optionals.py::test_optional_any[BaseConverter-True] PASSED [ 25%] 1533s tests/test_optionals.py::test_optional_any[BaseConverter-False] PASSED [ 25%] 1533s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-True] PASSED [ 25%] 1533s tests/test_typeddicts.py::test_detailed_validation_from_converter[BaseConverter-False] PASSED [ 25%] 1533s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-True] PASSED [ 25%] 1533s tests/test_unstructure.py::test_unstructure_hook_func[BaseConverter-False] PASSED [ 26%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_unstructure] PASSED [ 26%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-_undefined] PASSED [ 26%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_structure-None] PASSED [ 26%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_unstructure] PASSED [ 26%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-_undefined] PASSED [ 26%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-_undefined-None] PASSED [ 27%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_unstructure] PASSED [ 27%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-_undefined] PASSED [ 27%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Structure-None-None] PASSED [ 27%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_unstructure] PASSED [ 27%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-_undefined] PASSED [ 27%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_structure-None] PASSED [ 28%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_unstructure] PASSED [ 28%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-_undefined] PASSED [ 28%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-_undefined-None] PASSED [ 28%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_unstructure] PASSED [ 28%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-_undefined] PASSED [ 28%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Unstructure-None-None] PASSED [ 29%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_unstructure] PASSED [ 29%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-_undefined] PASSED [ 29%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_structure-None] PASSED [ 29%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_unstructure] PASSED [ 29%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-_undefined] PASSED [ 29%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-_undefined-None] PASSED [ 30%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_unstructure] PASSED [ 30%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-_undefined] PASSED [ 30%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-True-Both-None-None] PASSED [ 30%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_unstructure] PASSED [ 30%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-_undefined] PASSED [ 30%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_structure-None] PASSED [ 31%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_unstructure] PASSED [ 31%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-_undefined] PASSED [ 31%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-_undefined-None] PASSED [ 31%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_unstructure] PASSED [ 31%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-_undefined] PASSED [ 31%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Structure-None-None] PASSED [ 32%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_unstructure] PASSED [ 32%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-_undefined] PASSED [ 32%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_structure-None] PASSED [ 32%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_unstructure] PASSED [ 32%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-_undefined] PASSED [ 32%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-_undefined-None] PASSED [ 33%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_unstructure] PASSED [ 33%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-_undefined] PASSED [ 33%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Unstructure-None-None] PASSED [ 33%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_unstructure] PASSED [ 33%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-_undefined] PASSED [ 33%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_structure-None] PASSED [ 34%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_unstructure] PASSED [ 34%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-_undefined] PASSED [ 34%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-_undefined-None] PASSED [ 34%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_unstructure] PASSED [ 34%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-_undefined] PASSED [ 34%] 1533s tests/strategies/test_class_methods.py::test_not_nested[Converter-False-Both-None-None] PASSED [ 35%] 1533s tests/strategies/test_native_unions.py::test_only_primitives[Converter-True] PASSED [ 35%] 1533s tests/strategies/test_native_unions.py::test_only_primitives[Converter-False] PASSED [ 35%] 1533s tests/strategies/test_native_unions.py::test_literals[Converter-True] PASSED [ 35%] 1533s tests/strategies/test_native_unions.py::test_literals[Converter-False] PASSED [ 35%] 1533s tests/strategies/test_native_unions.py::test_spillover[Converter-True] PASSED [ 35%] 1533s tests/strategies/test_native_unions.py::test_spillover[Converter-False] PASSED [ 36%] 1533s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-True] PASSED [ 36%] 1533s tests/strategies/test_native_unions.py::test_multiple_spillover[Converter-False] PASSED [ 36%] 1533s tests/strategies/test_tagged_unions.py::test_defaults[Converter-True] PASSED [ 36%] 1533s tests/strategies/test_tagged_unions.py::test_defaults[Converter-False] PASSED [ 36%] 1533s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-True] PASSED [ 36%] 1533s tests/strategies/test_tagged_unions.py::test_tag_name[Converter-False] PASSED [ 37%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-True] PASSED [ 37%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator[Converter-False] PASSED [ 37%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-True] PASSED [ 37%] 1533s tests/strategies/test_tagged_unions.py::test_tag_generator_dict[Converter-False] PASSED [ 37%] 1533s tests/strategies/test_tagged_unions.py::test_default_member[Converter-True] PASSED [ 38%] 1533s tests/strategies/test_tagged_unions.py::test_default_member[Converter-False] PASSED [ 38%] 1533s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-True] PASSED [ 38%] 1533s tests/strategies/test_tagged_unions.py::test_default_member_validation[Converter-False] PASSED [ 38%] 1533s tests/test_any.py::test_unstructuring_dict_of_any[Converter-True] PASSED [ 38%] 1533s tests/test_any.py::test_unstructuring_dict_of_any[Converter-False] PASSED [ 38%] 1533s tests/test_converter.py::test_unstructure_fallbacks[Converter] PASSED [ 39%] 1533s tests/test_converter.py::test_structure_fallbacks[Converter] PASSED [ 39%] 1533s tests/test_converter.py::test_fallback_chaining[Converter] PASSED [ 39%] 1533s tests/test_converter_inheritance.py::test_inheritance[Converter-True] PASSED [ 39%] 1533s tests/test_converter_inheritance.py::test_inheritance[Converter-False] PASSED [ 39%] 1533s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-True] PASSED [ 39%] 1533s tests/test_converter_inheritance.py::test_gen_hook_priority[Converter-False] PASSED [ 40%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Hashable] PASSED [ 40%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Iterable] PASSED [ 40%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[Converter-True-Reversible] PASSED [ 40%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Hashable] PASSED [ 40%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Iterable] PASSED [ 40%] 1533s tests/test_converter_inheritance.py::test_inherit_typing[Converter-False-Reversible] PASSED [ 41%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Hashable] PASSED [ 41%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Iterable] PASSED [ 41%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-True-Reversible] PASSED [ 41%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Hashable] PASSED [ 41%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Iterable] PASSED [ 41%] 1533s tests/test_converter_inheritance.py::test_inherit_collections_abc[Converter-False-Reversible] PASSED [ 42%] 1533s tests/test_copy.py::test_deepcopy[Converter] PASSED [ 42%] 1534s tests/test_copy.py::test_copy[Converter] PASSED [ 42%] 1534s tests/test_copy.py::test_copy_hooks[Converter] PASSED [ 42%] 1534s tests/test_copy.py::test_copy_func_hooks[Converter] PASSED [ 42%] 1534s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-True] PASSED [ 42%] 1534s tests/test_dataclasses.py::test_dataclasses_in_attrs[Converter-False] PASSED [ 43%] 1534s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-True] PASSED [ 43%] 1534s tests/test_dataclasses.py::test_dataclasses_in_container[Converter-False] PASSED [ 43%] 1534s tests/test_dataclasses.py::test_dataclasses[Converter-True] PASSED [ 43%] 1534s tests/test_dataclasses.py::test_dataclasses[Converter-False] PASSED [ 43%] 1534s tests/test_disambiguators.py::test_converter_no_literals[Converter-True] PASSED [ 43%] 1534s tests/test_disambiguators.py::test_converter_no_literals[Converter-False] PASSED [ 44%] 1534s tests/test_factory_hooks.py::test_snake_to_camel[Converter] PASSED [ 44%] 1534s tests/test_gen_dict.py::test_omitting[Converter-True] PASSED [ 44%] 1534s tests/test_gen_dict.py::test_omitting[Converter-False] PASSED [ 44%] 1534s tests/test_gen_dict.py::test_omitting_none[Converter-True] PASSED [ 44%] 1534s tests/test_gen_dict.py::test_omitting_none[Converter-False] PASSED [ 44%] 1534s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-True] PASSED [ 45%] 1534s tests/test_gen_dict.py::test_overriding_struct_hook[Converter-False] PASSED [ 45%] 1534s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-True] PASSED [ 45%] 1534s tests/test_gen_dict.py::test_overriding_unstruct_hook[Converter-False] PASSED [ 45%] 1534s tests/test_gen_dict.py::test_alias_keys[Converter-True] PASSED [ 45%] 1534s tests/test_gen_dict.py::test_alias_keys[Converter-False] PASSED [ 45%] 1534s tests/test_gen_dict.py::test_init_false[Converter-True] PASSED [ 46%] 1534s tests/test_gen_dict.py::test_init_false[Converter-False] PASSED [ 46%] 1534s tests/test_gen_dict.py::test_init_false_overridden[Converter-True] PASSED [ 46%] 1534s tests/test_gen_dict.py::test_init_false_overridden[Converter-False] PASSED [ 46%] 1534s tests/test_gen_dict.py::test_init_false_field_override[Converter-True] PASSED [ 46%] 1534s tests/test_gen_dict.py::test_init_false_field_override[Converter-False] PASSED [ 46%] 1534s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 47%] 1534s tests/test_gen_dict.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 47%] 1534s tests/test_generics.py::test_able_to_structure_generics[Converter-True-int-str-result0] PASSED [ 47%] 1534s tests/test_generics.py::test_able_to_structure_generics[Converter-True-str-str-result1] PASSED [ 47%] 1534s tests/test_generics.py::test_able_to_structure_generics[Converter-True-List-str-result2] PASSED [ 47%] 1534s tests/test_generics.py::test_able_to_structure_generics[Converter-False-int-str-result0] PASSED [ 47%] 1534s tests/test_generics.py::test_able_to_structure_generics[Converter-False-str-str-result1] PASSED [ 48%] 1534s tests/test_generics.py::test_able_to_structure_generics[Converter-False-List-str-result2] PASSED [ 48%] 1534s tests/test_generics.py::test_structure_nested_generics[Converter-True-TClass-str-result0] PASSED [ 48%] 1534s tests/test_generics.py::test_structure_nested_generics[Converter-True-List-str-result1] PASSED [ 48%] 1534s tests/test_generics.py::test_structure_nested_generics[Converter-False-TClass-str-result0] PASSED [ 48%] 1534s tests/test_generics.py::test_structure_nested_generics[Converter-False-List-str-result1] PASSED [ 48%] 1534s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-True] PASSED [ 49%] 1534s tests/test_generics.py::test_able_to_structure_deeply_nested_generics_gen[Converter-False] PASSED [ 49%] 1534s tests/test_generics.py::test_structure_unions_of_generics[Converter-True] PASSED [ 49%] 1534s tests/test_generics.py::test_structure_unions_of_generics[Converter-False] PASSED [ 49%] 1534s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-True] PASSED [ 49%] 1534s tests/test_generics.py::test_structure_list_of_generic_unions[Converter-False] PASSED [ 50%] 1534s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-True] PASSED [ 50%] 1534s tests/test_generics.py::test_structure_deque_of_generic_unions[Converter-False] PASSED [ 50%] 1534s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-True] PASSED [ 50%] 1534s tests/test_generics.py::test_raises_if_no_generic_params_supplied[Converter-False] PASSED [ 50%] 1534s tests/test_generics.py::test_nongeneric_protocols[Converter-True] PASSED [ 50%] 1534s tests/test_generics.py::test_nongeneric_protocols[Converter-False] PASSED [ 51%] 1534s tests/test_optionals.py::test_optional_any[Converter-True] PASSED [ 51%] 1534s tests/test_optionals.py::test_optional_any[Converter-False] PASSED [ 51%] 1534s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-True] PASSED [ 51%] 1534s tests/test_typeddicts.py::test_detailed_validation_from_converter[Converter-False] PASSED [ 51%] 1534s tests/test_unstructure.py::test_unstructure_hook_func[Converter-True] PASSED [ 51%] 1534s tests/test_unstructure.py::test_unstructure_hook_func[Converter-False] PASSED [ 52%] 1534s tests/strategies/test_class_methods.py::test_nested_roundtrip PASSED [ 52%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] PASSED [ 52%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] PASSED [ 52%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] PASSED [ 52%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 52%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 53%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 53%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 53%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 53%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 53%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 53%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] PASSED [ 54%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 54%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 54%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 54%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 54%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 54%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 55%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 55%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 55%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 55%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 55%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 55%] 1534s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 56%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 56%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 56%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 56%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 56%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 56%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 57%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 57%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 57%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 57%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 57%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 57%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-union-container] PASSED [ 58%] 1535s tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 58%] 1535s tests/strategies/test_include_subclasses.py::test_structure_as_union PASSED [ 58%] 1535s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] PASSED [ 58%] 1535s tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses-and-tagged-union] PASSED [ 58%] 1535s tests/strategies/test_include_subclasses.py::test_circular_reference[wo-subclasses] XFAIL [ 58%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] PASSED [ 59%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] PASSED [ 59%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] PASSED [ 59%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] PASSED [ 59%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] PASSED [ 59%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] PASSED [ 59%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] PASSED [ 60%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] PASSED [ 60%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] PASSED [ 60%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] PASSED [ 60%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] PASSED [ 60%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] PASSED [ 60%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-parent-only] PASSED [ 61%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child1-only] PASSED [ 61%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-child2-only] PASSED [ 61%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-grandchild-only] PASSED [ 61%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-parent] PASSED [ 61%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-child] PASSED [ 61%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-compose-grandchild] PASSED [ 62%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-parent] PASSED [ 62%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-child] PASSED [ 62%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-compose-grandchild] PASSED [ 62%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-union-container] PASSED [ 62%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-and-tagged-union-non-union-container] PASSED [ 63%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-parent-only] PASSED [ 63%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child1-only] XFAIL [ 63%] 1535s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-child2-only] XFAIL [ 63%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-grandchild-only] XFAIL [ 63%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-parent] PASSED [ 63%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-child] PASSED [ 64%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-compose-grandchild] PASSED [ 64%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-parent] XFAIL [ 64%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-child] XFAIL [ 64%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-compose-grandchild] XFAIL [ 64%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-union-container] PASSED [ 64%] 1536s tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[wo-subclasses-non-union-container] XFAIL [ 65%] 1536s tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass PASSED [ 65%] 1536s tests/strategies/test_include_subclasses.py::test_structuring_with_subclasses_argument PASSED [ 65%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-parent-only] PASSED [ 65%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child1-only] PASSED [ 65%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-child2-only] PASSED [ 65%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[with-union-strategy-grandchild-only] PASSED [ 66%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] PASSED [ 66%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] PASSED [ 66%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] PASSED [ 66%] 1536s tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] PASSED [ 66%] 1536s tests/strategies/test_native_unions.py::test_skip_optionals PASSED [ 66%] 1536s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys PASSED [ 67%] 1536s tests/strategies/test_tagged_unions.py::test_forbid_extra_keys_default PASSED [ 67%] 1536s tests/strategies/test_tagged_unions.py::test_nested_sequence_union PASSED [ 67%] 1558s tests/test_baseconverter.py::test_simple_roundtrip FAILED [ 67%] 1558s tests/test_baseconverter.py::test_simple_roundtrip_defaults FAILED [ 67%] 1558s tests/test_baseconverter.py::test_nested_roundtrip FAILED [ 67%] 1558s tests/test_baseconverter.py::test_nested_roundtrip_tuple FAILED [ 68%] 1558s tests/test_baseconverter.py::test_union_field_roundtrip FAILED [ 68%] 1559s tests/test_baseconverter.py::test_310_union_field_roundtrip FAILED [ 68%] 1559s tests/test_baseconverter.py::test_optional_field_roundtrip FAILED [ 68%] 1559s tests/test_baseconverter.py::test_310_optional_field_roundtrip FAILED [ 68%] 1561s tests/test_converter.py::test_simple_roundtrip PASSED [ 68%] 1563s tests/test_converter.py::test_simple_roundtrip_tuple PASSED [ 69%] 1564s tests/test_converter.py::test_simple_roundtrip_defaults PASSED [ 69%] 1564s tests/test_converter.py::test_simple_roundtrip_defaults_tuple PASSED [ 69%] 1569s tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden FAILED [ 69%] 1570s tests/test_converter.py::test_forbid_extra_keys PASSED [ 69%] 1571s tests/test_converter.py::test_forbid_extra_keys_defaults PASSED [ 69%] 1571s tests/test_converter.py::test_forbid_extra_keys_nested_override PASSED [ 70%] 1571s tests/test_converter.py::test_nested_roundtrip FAILED [ 70%] 1879s tests/test_converter.py::test_nested_roundtrip_tuple FAILED [ 70%] 1879s tests/test_converter.py::test_union_field_roundtrip FAILED [ 70%] 1879s tests/test_converter.py::test_310_union_field_roundtrip FAILED [ 70%] 1918s tests/test_converter.py::test_optional_field_roundtrip FAILED [ 70%] 1918s tests/test_converter.py::test_310_optional_field_roundtrip FAILED [ 71%] 1996s tests/test_converter.py::test_omit_default_roundtrip FAILED [ 71%] 1996s tests/test_converter.py::test_dict_roundtrip_with_alias PASSED [ 71%] 1999s tests/test_converter.py::test_type_overrides PASSED [ 71%] 1999s tests/test_converter.py::test_calling_back PASSED [ 71%] 1999s tests/test_converter.py::test_overriding_generated_unstructure PASSED [ 71%] 1999s tests/test_converter.py::test_overriding_generated_unstructure_hook_func PASSED [ 72%] 1999s tests/test_converter.py::test_overriding_generated_structure PASSED [ 72%] 1999s tests/test_converter.py::test_overriding_generated_structure_hook_func PASSED [ 72%] 2004s tests/test_converter.py::test_seq_of_simple_classes_unstructure PASSED [ 72%] 2004s tests/test_converter.py::test_seq_of_bare_classes_structure PASSED [ 72%] 2004s tests/test_converter.py::test_annotated_attrs PASSED [ 72%] 2004s tests/test_converter.py::test_annotated_with_typing_extensions_attrs PASSED [ 73%] 2004s tests/test_copy.py::test_copy_converter PASSED [ 73%] 2004s tests/test_copy.py::test_detailed_validation PASSED [ 73%] 2004s tests/test_copy.py::test_col_overrides PASSED [ 73%] 2004s tests/test_disambiguators.py::test_edge_errors PASSED [ 73%] 2005s tests/test_disambiguators.py::test_fallback PASSED [ 73%] 2028s tests/test_disambiguators.py::test_disambiguation PASSED [ 74%] 2028s tests/test_disambiguators.py::test_disambiguate_from_discriminated_enum PASSED [ 74%] 2028s tests/test_disambiguators.py::test_default_no_literals PASSED [ 74%] 2028s tests/test_final.py::test_unstructure_final[True] PASSED [ 74%] 2028s tests/test_final.py::test_unstructure_final[False] PASSED [ 74%] 2028s tests/test_final.py::test_structure_final[True] PASSED [ 75%] 2028s tests/test_final.py::test_structure_final[False] PASSED [ 75%] 2028s tests/test_final.py::test_unstructure_bare_final[True] PASSED [ 75%] 2028s tests/test_final.py::test_unstructure_bare_final[False] PASSED [ 75%] 2028s tests/test_final.py::test_structure_bare_final[True] PASSED [ 75%] 2028s tests/test_final.py::test_structure_bare_final[False] PASSED [ 75%] 2028s tests/test_function_dispatch.py::test_function_dispatch PASSED [ 76%] 2028s tests/test_function_dispatch.py::test_function_clears_cache_after_function_added PASSED [ 76%] 2028s tests/test_gen.py::test_structure_linecache PASSED [ 76%] 2028s tests/test_gen.py::test_unstructure_linecache PASSED [ 76%] 2028s tests/test_gen.py::test_no_linecache PASSED [ 76%] 2028s tests/test_gen.py::test_linecache_dedup PASSED [ 76%] 2032s tests/test_gen_dict.py::test_unmodified_generated_unstructuring PASSED [ 77%] 2037s tests/test_gen_dict.py::test_nodefs_generated_unstructuring PASSED [ 77%] 2042s tests/test_gen_dict.py::test_nodefs_generated_unstructuring_cl PASSED [ 77%] 2046s tests/test_gen_dict.py::test_individual_overrides PASSED [ 77%] 2046s tests/test_gen_dict.py::test_unmodified_generated_structuring FAILED [ 77%] 2048s tests/test_gen_dict.py::test_renaming PASSED [ 77%] 2048s tests/test_gen_dict.py::test_renaming_forbid_extra_keys PASSED [ 78%] 2048s tests/test_gen_dict.py::test_omitting_structure[True] PASSED [ 78%] 2048s tests/test_gen_dict.py::test_omitting_structure[False] PASSED [ 78%] 2048s tests/test_gen_dict.py::test_type_names_with_quotes PASSED [ 78%] 2048s tests/test_gen_dict.py::test_forbid_extra_keys_from_converter PASSED [ 78%] 2048s tests/test_gen_dict.py::test_forbid_extra_keys_from_baseconverter PASSED [ 78%] 2048s tests/test_gen_dict_563.py::test_roundtrip PASSED [ 79%] 2048s tests/test_gen_dict_563.py::test_roundtrip_dc PASSED [ 79%] 2048s tests/test_generics.py::test_deep_copy PASSED [ 79%] 2048s tests/test_generics.py::test_structure_generics_with_cols[True-int-result0] PASSED [ 79%] 2048s tests/test_generics.py::test_structure_generics_with_cols[True-str-result1] PASSED [ 79%] 2048s tests/test_generics.py::test_structure_generics_with_cols[False-int-result0] PASSED [ 79%] 2048s tests/test_generics.py::test_structure_generics_with_cols[False-str-result1] PASSED [ 80%] 2048s tests/test_generics.py::test_39_structure_generics_with_cols[int-result0] PASSED [ 80%] 2048s tests/test_generics.py::test_39_structure_generics_with_cols[str-result1] PASSED [ 80%] 2048s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result0] PASSED [ 80%] 2048s tests/test_generics.py::test_structure_nested_generics_with_cols[int-result1] PASSED [ 80%] 2048s tests/test_generics.py::test_unstructure_generic_attrs[True] PASSED [ 80%] 2048s tests/test_generics.py::test_unstructure_generic_attrs[False] PASSED [ 81%] 2048s tests/test_generics.py::test_unstructure_optional[True] PASSED [ 81%] 2048s tests/test_generics.py::test_unstructure_optional[False] PASSED [ 81%] 2048s tests/test_generics.py::test_unstructure_deeply_nested_generics[True] PASSED [ 81%] 2048s tests/test_generics.py::test_unstructure_deeply_nested_generics[False] PASSED [ 81%] 2048s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[True] PASSED [ 81%] 2048s tests/test_generics.py::test_unstructure_deeply_nested_generics_list[False] PASSED [ 82%] 2048s tests/test_generics.py::test_unstructure_protocol[True] PASSED [ 82%] 2048s tests/test_generics.py::test_unstructure_protocol[False] PASSED [ 82%] 2048s tests/test_generics.py::test_roundtrip_generic_with_union PASSED [ 82%] 2048s tests/test_generics.py::test_generate_typeddict_mapping PASSED [ 82%] 2048s tests/test_generics_604.py::test_unstructure_optional[True] PASSED [ 82%] 2048s tests/test_generics_604.py::test_unstructure_optional[False] PASSED [ 83%] 2048s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_cls PASSED [ 83%] 2048s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_register_func PASSED [ 83%] 2048s tests/test_multistrategy_dispatch.py::test_multistrategy_dispatch_conflict_class_wins PASSED [ 83%] 2048s tests/test_newtypes.py::test_newtype_structure_hooks[True] PASSED [ 83%] 2048s tests/test_newtypes.py::test_newtype_structure_hooks[False] PASSED [ 83%] 2048s tests/test_newtypes.py::test_newtype_unstructure_hooks[True] PASSED [ 84%] 2048s tests/test_newtypes.py::test_newtype_unstructure_hooks[False] PASSED [ 84%] 2048s tests/test_optionals.py::test_newtype_optionals[True] PASSED [ 84%] 2048s tests/test_optionals.py::test_newtype_optionals[False] PASSED [ 84%] 2048s tests/test_optionals.py::test_newtype_modern_optionals[True] PASSED [ 84%] 2048s tests/test_optionals.py::test_newtype_modern_optionals[False] PASSED [ 84%] 2048s tests/test_recursive.py::test_simple_recursive PASSED [ 85%] 2048s tests/test_structure.py::test_structuring_primitives PASSED [ 85%] 2049s tests/test_structure.py::test_structuring_seqs PASSED [ 85%] 2049s tests/test_structure.py::test_structuring_seqs_to_deque PASSED [ 85%] 2050s tests/test_structure.py::test_structuring_sets PASSED [ 85%] 2051s tests/test_structure.py::test_stringifying_sets PASSED [ 85%] 2051s tests/test_structure.py::test_structuring_hetero_tuples PASSED [ 86%] 2052s tests/test_structure.py::test_stringifying_tuples PASSED [ 86%] 2053s tests/test_structure.py::test_structuring_dicts PASSED [ 86%] 2054s tests/test_structure.py::test_structuring_dicts_opts PASSED [ 86%] 2054s tests/test_structure.py::test_stringifying_dicts PASSED [ 86%] 2054s tests/test_structure.py::test_structuring_optional_primitives PASSED [ 86%] 2055s tests/test_structure.py::test_structuring_lists_of_opt PASSED [ 87%] 2055s tests/test_structure.py::test_stringifying_lists_of_opt PASSED [ 87%] 2056s tests/test_structure.py::test_structuring_primitive_union_hook PASSED [ 87%] 2056s tests/test_structure.py::test_structure_hook_func PASSED [ 87%] 2057s tests/test_structure.py::test_structuring_enums PASSED [ 87%] 2057s tests/test_structure.py::test_structuring_unsupported PASSED [ 88%] 2057s tests/test_structure.py::test_subclass_registration_is_honored PASSED [ 88%] 2057s tests/test_structure.py::test_structure_union_edge_case PASSED [ 88%] 2059s tests/test_structure_attrs.py::test_structure_simple_from_dict PASSED [ 88%] 2059s tests/test_structure_attrs.py::test_structure_simple_from_dict_default FAILED [ 88%] 2060s tests/test_structure_attrs.py::test_roundtrip PASSED [ 88%] 2062s tests/test_structure_attrs.py::test_structure_tuple PASSED [ 89%] 2065s tests/test_structure_attrs.py::test_structure_union PASSED [ 89%] 2067s tests/test_structure_attrs.py::test_structure_union_none PASSED [ 89%] 2069s tests/test_structure_attrs.py::test_structure_union_explicit PASSED [ 89%] 2069s tests/test_structure_attrs.py::test_structure_literal[BaseConverter] PASSED [ 89%] 2069s tests/test_structure_attrs.py::test_structure_literal[Converter] PASSED [ 89%] 2069s tests/test_structure_attrs.py::test_structure_literal_enum[BaseConverter] PASSED [ 90%] 2069s tests/test_structure_attrs.py::test_structure_literal_enum[Converter] PASSED [ 90%] 2069s tests/test_structure_attrs.py::test_structure_literal_multiple[BaseConverter] PASSED [ 90%] 2070s tests/test_structure_attrs.py::test_structure_literal_multiple[Converter] PASSED [ 90%] 2070s tests/test_structure_attrs.py::test_structure_literal_error[BaseConverter] PASSED [ 90%] 2070s tests/test_structure_attrs.py::test_structure_literal_error[Converter] PASSED [ 90%] 2070s tests/test_structure_attrs.py::test_structure_literal_multiple_error[BaseConverter] PASSED [ 91%] 2070s tests/test_structure_attrs.py::test_structure_literal_multiple_error[Converter] PASSED [ 91%] 2070s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[BaseConverter] PASSED [ 91%] 2070s tests/test_structure_attrs.py::test_structure_fallback_to_attrib_converters[Converter] PASSED [ 91%] 2070s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[BaseConverter] PASSED [ 91%] 2070s tests/test_structure_attrs.py::test_structure_prefers_attrib_converters[Converter] PASSED [ 91%] 2070s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[BaseConverter] PASSED [ 92%] 2070s tests/test_structure_attrs.py::test_structure_multitier_discriminator_union[Converter] PASSED [ 92%] 2071s tests/test_typeddicts.py::test_simple_roundtrip PASSED [ 92%] 2072s tests/test_typeddicts.py::test_simple_nontotal PASSED [ 92%] 2074s tests/test_typeddicts.py::test_int_override PASSED [ 92%] 2075s tests/test_typeddicts.py::test_extra_keys PASSED [ 92%] 2076s tests/test_typeddicts.py::test_generics PASSED [ 93%] 2078s tests/test_typeddicts.py::test_not_required PASSED [ 93%] 2079s tests/test_typeddicts.py::test_required PASSED [ 93%] 2081s tests/test_typeddicts.py::test_omit PASSED [ 93%] 2082s tests/test_typeddicts.py::test_rename PASSED [ 93%] 2083s tests/test_typeddicts.py::test_forbid_extra_keys PASSED [ 93%] 2083s tests/test_typeddicts.py::test_recursive_generation PASSED [ 94%] 2083s tests/test_typeddicts.py::test_forwardref[True] PASSED [ 94%] 2083s tests/test_typeddicts.py::test_forwardref[False] PASSED [ 94%] 2083s tests/test_typeddicts.py::test_forbid_extra_keys_from_converter PASSED [ 94%] 2083s tests/test_typeddicts.py::test_forbid_extra_keys_from_baseconverter PASSED [ 94%] 2083s tests/test_unions.py::test_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 94%] 2083s tests/test_unions.py::test_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 2083s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[BaseConverter] PASSED [ 95%] 2083s tests/test_unions.py::test_310_custom_union_toplevel_roundtrip[Converter] PASSED [ 95%] 2083s tests/test_unions.py::test_custom_union_clsfield_roundtrip[BaseConverter] PASSED [ 95%] 2083s tests/test_unions.py::test_custom_union_clsfield_roundtrip[Converter] PASSED [ 95%] 2083s tests/test_unstructure.py::test_seq_unstructure PASSED [ 95%] 2084s tests/test_unstructure.py::test_set_unstructure PASSED [ 96%] 2084s tests/test_unstructure.py::test_mapping_unstructure PASSED [ 96%] 2086s tests/test_unstructure.py::test_enum_unstructure PASSED [ 96%] 2092s tests/test_unstructure.py::test_attrs_asdict_unstructure PASSED [ 96%] 2096s tests/test_unstructure.py::test_attrs_astuple_unstructure PASSED [ 96%] 2098s tests/test_unstructure.py::test_unstructure_hooks PASSED [ 96%] 2103s tests/test_unstructure.py::test_seq_of_simple_classes_unstructure PASSED [ 97%] 2103s tests/test_v.py::test_attribute_errors PASSED [ 97%] 2103s tests/test_v.py::test_class_errors PASSED [ 97%] 2103s tests/test_v.py::test_sequence_errors PASSED [ 97%] 2103s tests/test_v.py::test_mapping_errors PASSED [ 97%] 2103s tests/test_v.py::test_custom_error_fn PASSED [ 97%] 2103s tests/test_v.py::test_custom_error_fn_nested PASSED [ 98%] 2103s tests/test_v.py::test_typeddict_attribute_errors PASSED [ 98%] 2103s tests/test_validation.py::test_class_validation PASSED [ 98%] 2103s tests/test_validation.py::test_external_class_validation PASSED [ 98%] 2103s tests/test_validation.py::test_list_validation PASSED [ 98%] 2103s tests/test_validation.py::test_mapping_validation PASSED [ 98%] 2103s tests/test_validation.py::test_counter_validation PASSED [ 99%] 2103s tests/test_validation.py::test_set_validation PASSED [ 99%] 2103s tests/test_validation.py::test_frozenset_validation PASSED [ 99%] 2103s tests/test_validation.py::test_homo_tuple_validation PASSED [ 99%] 2103s tests/test_validation.py::test_hetero_tuple_validation PASSED [ 99%] 2103s tests/test_validation.py::test_notes_pickling PASSED [100%] 2103s 2103s =================================== FAILURES =================================== 2103s ____________________________ test_simple_roundtrip _____________________________ 2103s 2103s @given(simple_typed_classes(newtypes=False), unstructure_strats) 2103s > def test_simple_roundtrip(cls_and_vals, strat): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773575f80> 2103s 2103s tests/test_baseconverter.py:18: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cls_and_vals = (, ({}, nan), {}) 2103s strat = 2103s 2103s @given(simple_typed_classes(newtypes=False), unstructure_strats) 2103s def test_simple_roundtrip(cls_and_vals, strat): 2103s """ 2103s Simple classes with metadata can be unstructured and restructured. 2103s """ 2103s converter = BaseConverter(unstruct_strat=strat) 2103s cl, vals, kwargs = cls_and_vals 2103s assume(strat is UnstructureStrategy.AS_DICT or not kwargs) 2103s inst = cl(*vals, **kwargs) 2103s > assert inst == converter.structure(converter.unstructure(inst), cl) 2103s E AssertionError: assert HypAttrsClass(a={}, _b=nan) == HypAttrsClass(a={}, _b=nan) 2103s E 2103s E Omitting 1 identical items, use -vv to show 2103s E Differing attributes: 2103s E ['_b'] 2103s E 2103s E Drill down into differing attribute _b: 2103s E _b: nan != nan 2103s 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={})] 2103s 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={})} 2103s E Falsifying example: test_simple_roundtrip( 2103s E cls_and_vals=(tests.typed.HypAttrsClass, ({}, nan), {}), 2103s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 2103s E ) 2103s 2103s cl = 2103s cls_and_vals = (, ({}, nan), {}) 2103s converter = 2103s inst = HypAttrsClass(a={}, _b=nan) 2103s kwargs = {} 2103s strat = 2103s vals = ({}, nan) 2103s 2103s tests/test_baseconverter.py:26: AssertionError 2103s ________________________ test_simple_roundtrip_defaults ________________________ 2103s 2103s @given(simple_typed_attrs(defaults=True, newtypes=False), unstructure_strats) 2103s > def test_simple_roundtrip_defaults(attr_and_strat, strat): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773576980> 2103s 2103s tests/test_baseconverter.py:30: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s attr_and_strat = (_CountingAttr(counter=6114, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 2103s strat = 2103s 2103s @given(simple_typed_attrs(defaults=True, newtypes=False), unstructure_strats) 2103s def test_simple_roundtrip_defaults(attr_and_strat, strat): 2103s """ 2103s Simple classes with metadata can be unstructured and restructured. 2103s """ 2103s a, _ = attr_and_strat 2103s assume(strat is UnstructureStrategy.AS_DICT or not a.kw_only) 2103s cl = make_class("HypClass", {"a": a}) 2103s converter = BaseConverter(unstruct_strat=strat) 2103s inst = cl() 2103s assert converter.unstructure(converter.structure({}, cl)) == converter.unstructure( 2103s inst 2103s ) 2103s > assert inst == converter.structure(converter.unstructure(inst), cl) 2103s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: nan != nan 2103s E Falsifying example: test_simple_roundtrip_defaults( 2103s E attr_and_strat=(_CountingAttr(counter=6114, 2103s E _default=nan, 2103s E repr=True, 2103s E eq=True, 2103s E order=True, 2103s E hash=None, 2103s E init=True, 2103s E on_setattr=None, 2103s E alias=None, 2103s E metadata={}), 2103s E floats()), 2103s E strat=UnstructureStrategy.AS_DICT, 2103s E ) 2103s 2103s _ = floats() 2103s a = _CountingAttr(counter=6114, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}) 2103s attr_and_strat = (_CountingAttr(counter=6114, _default=nan, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), floats()) 2103s cl = 2103s converter = 2103s inst = HypClass(a=nan) 2103s strat = 2103s 2103s tests/test_baseconverter.py:42: AssertionError 2103s ____________________________ test_nested_roundtrip _____________________________ 2103s 2103s @given(nested_typed_classes(newtypes=False)) 2103s > def test_nested_roundtrip(cls_and_vals): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773576ca0> 2103s 2103s tests/test_baseconverter.py:46: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cls_and_vals = (, (nan,), {}) 2103s 2103s @given(nested_typed_classes(newtypes=False)) 2103s def test_nested_roundtrip(cls_and_vals): 2103s """ 2103s Nested classes with metadata can be unstructured and restructured. 2103s """ 2103s converter = BaseConverter() 2103s cl, vals, kwargs = cls_and_vals 2103s # Vals are a tuple, convert into a dictionary. 2103s inst = cl(*vals, **kwargs) 2103s > assert inst == converter.structure(converter.unstructure(inst), cl) 2103s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: nan != nan 2103s E Falsifying example: test_nested_roundtrip( 2103s E cls_and_vals=(tests.typed.HypClass, (nan,), {}), 2103s E ) 2103s 2103s cl = 2103s cls_and_vals = (, (nan,), {}) 2103s converter = 2103s inst = HypClass(a=nan) 2103s kwargs = {} 2103s vals = (nan,) 2103s 2103s tests/test_baseconverter.py:54: AssertionError 2103s _________________________ test_nested_roundtrip_tuple __________________________ 2103s 2103s @given(nested_typed_classes(kw_only=False, newtypes=False)) 2103s > def test_nested_roundtrip_tuple(cls_and_vals): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773577100> 2103s 2103s tests/test_baseconverter.py:58: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cls_and_vals = (, ('', nan, [HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]), {}) 2103s 2103s @given(nested_typed_classes(kw_only=False, newtypes=False)) 2103s def test_nested_roundtrip_tuple(cls_and_vals): 2103s """ 2103s Nested classes with metadata can be unstructured and restructured. 2103s """ 2103s converter = BaseConverter(unstruct_strat=UnstructureStrategy.AS_TUPLE) 2103s cl, vals, kwargs = cls_and_vals 2103s assert not kwargs 2103s # Vals are a tuple, convert into a dictionary. 2103s inst = cl(*vals) 2103s > assert inst == converter.structure(converter.unstructure(inst), cl) 2103s E AssertionError: assert HypClass(a=''...ozenset())])]) == HypClass(a=''...ozenset())])]) 2103s E 2103s E Omitting 2 identical items, use -vv to show 2103s E Differing attributes: 2103s E ['_b'] 2103s E 2103s E Drill down into differing attribute _b: 2103s E _b: nan != nan 2103s E Falsifying example: test_nested_roundtrip_tuple( 2103s E cls_and_vals=(tests.typed.HypClass, 2103s E ('', 2103s E struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0], 2103s E [HypClass(a=[HypClass(a=0, 2103s E _b='', 2103s E c=frozenset(), 2103s E _d=frozenset(), 2103s E e=frozenset(), 2103s E _f=frozenset())])]), 2103s E {}), 2103s E ) 2103s 2103s cl = 2103s cls_and_vals = (, ('', nan, [HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]), {}) 2103s converter = 2103s inst = HypClass(a='', _b=nan, c=[HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]) 2103s kwargs = {} 2103s vals = ('', nan, [HypClass(a=[HypClass(a=0, _b='', c=frozenset(), _d=frozenset(), e=frozenset(), _f=frozenset())])]) 2103s 2103s tests/test_baseconverter.py:67: AssertionError 2103s __________________________ test_union_field_roundtrip __________________________ 2103s 2103s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s > @given( 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s unstructure_strats, 2103s ) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735776a0> 2103s 2103s tests/test_baseconverter.py:71: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals_a = (, (frozenset(), nan, [], []), {'g': 0, 'i': 0, 'j': {}}) 2103s cl_and_vals_b = (, (None,), {}) 2103s strat = 2103s 2103s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s @given( 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s unstructure_strats, 2103s ) 2103s def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 2103s """ 2103s Classes with union fields can be unstructured and structured. 2103s """ 2103s converter = BaseConverter(unstruct_strat=strat) 2103s cl_a, vals_a, kwargs_a = cl_and_vals_a 2103s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 2103s cl_b, vals_b, _ = cl_and_vals_b 2103s a_field_names = {a.name for a in fields(cl_a)} 2103s b_field_names = {a.name for a in fields(cl_b)} 2103s assume(a_field_names) 2103s assume(b_field_names) 2103s 2103s common_names = a_field_names & b_field_names 2103s assume(len(a_field_names) > len(common_names)) 2103s 2103s @define 2103s class C: 2103s a: Union[cl_a, cl_b] 2103s 2103s inst = C(a=cl_a(*vals_a, **kwargs_a)) 2103s 2103s if strat is UnstructureStrategy.AS_DICT: 2103s > assert inst == converter.structure(converter.unstructure(inst), C) 2103s E AssertionError: assert C(a=HypAttrsC... _h=0, _j={})) == C(a=HypAttrsC... _h=0, _j={})) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a=frozenset(), _b=nan, _d=[], e=[], g=0, _h=0, _j={}) != HypAttrsClass(a=frozenset(), _b=nan, _d=[], e=[], g=0, _h=0, _j={}) 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={})] 2103s 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={})} 2103s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Falsifying example: test_union_field_roundtrip( 2103s E cl_and_vals_a=(tests.typed.HypAttrsClass, 2103s E (frozenset(), nan, [], []), 2103s E {'g': 0, 'i': 0, 'j': {}}), 2103s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 2103s E strat=UnstructureStrategy.AS_DICT, 2103s E ) 2103s 2103s C = .C'> 2103s _ = {} 2103s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 2103s b_field_names = {'a'} 2103s cl_a = 2103s cl_and_vals_a = (, (frozenset(), nan, [], []), {'g': 0, 'i': 0, 'j': {}}) 2103s cl_and_vals_b = (, (None,), {}) 2103s cl_b = 2103s common_names = {'a'} 2103s converter = 2103s inst = C(a=HypAttrsClass(a=frozenset(), _b=nan, _d=[], e=[], g=0, _h=0, _j={})) 2103s kwargs_a = {'g': 0, 'i': 0, 'j': {}} 2103s strat = 2103s vals_a = (frozenset(), nan, [], []) 2103s vals_b = (None,) 2103s 2103s tests/test_baseconverter.py:99: AssertionError 2103s ________________________ test_310_union_field_roundtrip ________________________ 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773577880> 2103s 2103s tests/test_baseconverter.py:113: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals_a = (, ('', '', '', '', '', nan, ...), {'s': 0}) 2103s cl_and_vals_b = (, (None,), {}) 2103s strat = 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s @given( 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s unstructure_strats, 2103s ) 2103s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 2103s """ 2103s Classes with union fields can be unstructured and structured. 2103s """ 2103s converter = BaseConverter(unstruct_strat=strat) 2103s cl_a, vals_a, kwargs_a = cl_and_vals_a 2103s cl_b, vals_b, _ = cl_and_vals_b 2103s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 2103s a_field_names = {a.name for a in fields(cl_a)} 2103s b_field_names = {a.name for a in fields(cl_b)} 2103s assume(a_field_names) 2103s assume(b_field_names) 2103s 2103s common_names = a_field_names & b_field_names 2103s assume(len(a_field_names) > len(common_names)) 2103s 2103s @define 2103s class C: 2103s a: cl_a | cl_b 2103s 2103s inst = C(a=cl_a(*vals_a, **kwargs_a)) 2103s 2103s if strat is UnstructureStrategy.AS_DICT: 2103s > assert inst == converter.structure(converter.unstructure(inst), C) 2103s E AssertionError: assert C(a=HypAttrsC...=0, q=0, s=0)) == C(a=HypAttrsC...=0, q=0, s=0)) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a='', _b='', _d='', e='', g='', _h=nan, _j=frozenset(), k=('', '', ''), m=[], _n=[], _p=0, q=0, s=0) != HypAttrsClass(a='', _b='', _d='', e='', g='', _h=nan, _j=frozenset(), k=('', '', ''), m=[], _n=[], _p=0, q=0, s=0) 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s 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={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={}), '_p': _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'q': _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_r', metadata={}), 's': _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Falsifying example: test_310_union_field_roundtrip( 2103s E cl_and_vals_a=(tests.typed.HypAttrsClass, 2103s E ('', '', '', '', '', nan, frozenset(), ('', '', ''), [], [], 0, 0), 2103s E {'s': 0}), 2103s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 2103s E strat=UnstructureStrategy.AS_DICT, 2103s E ) 2103s 2103s C = .C'> 2103s _ = {} 2103s a_field_names = {'_b', '_d', '_h', '_j', '_n', '_p', ...} 2103s b_field_names = {'a'} 2103s cl_a = 2103s cl_and_vals_a = (, ('', '', '', '', '', nan, ...), {'s': 0}) 2103s cl_and_vals_b = (, (None,), {}) 2103s cl_b = 2103s common_names = {'a'} 2103s converter = 2103s inst = C(a=HypAttrsClass(a='', _b='', _d='', e='', g='', _h=nan, _j=frozenset(), k=('', '', ''), m=[], _n=[], _p=0, q=0, s=0)) 2103s kwargs_a = {'s': 0} 2103s strat = 2103s vals_a = ('', '', '', '', '', nan, ...) 2103s vals_b = (None,) 2103s 2103s tests/test_baseconverter.py:142: AssertionError 2103s ________________________ test_optional_field_roundtrip _________________________ 2103s 2103s @given(simple_typed_classes(defaults=False, newtypes=False)) 2103s > def test_optional_field_roundtrip(cl_and_vals): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735763e0> 2103s 2103s tests/test_baseconverter.py:156: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, ('', {}, nan), {}) 2103s 2103s @given(simple_typed_classes(defaults=False, newtypes=False)) 2103s def test_optional_field_roundtrip(cl_and_vals): 2103s """ 2103s Classes with optional fields can be unstructured and structured. 2103s """ 2103s converter = BaseConverter() 2103s cl, vals, kwargs = cl_and_vals 2103s 2103s @define 2103s class C: 2103s a: Optional[cl] 2103s 2103s inst = C(a=cl(*vals, **kwargs)) 2103s > assert inst == converter.structure(converter.unstructure(inst), C) 2103s E AssertionError: assert C(a=HypAttrsC...b={}, _d=nan)) == C(a=HypAttrsC...b={}, _d=nan)) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a='', _b={}, _d=nan) != HypAttrsClass(a='', _b={}, _d=nan) 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={})] 2103s 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={})} 2103s E Falsifying example: test_optional_field_roundtrip( 2103s E cl_and_vals=(tests.typed.HypAttrsClass, ('', {}, nan), {}), 2103s E ) 2103s 2103s C = .C'> 2103s cl = 2103s cl_and_vals = (, ('', {}, nan), {}) 2103s converter = 2103s inst = C(a=HypAttrsClass(a='', _b={}, _d=nan)) 2103s kwargs = {} 2103s vals = ('', {}, nan) 2103s 2103s tests/test_baseconverter.py:168: AssertionError 2103s ______________________ test_310_optional_field_roundtrip _______________________ 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s > @given(simple_typed_classes(defaults=False, newtypes=False)) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a00e0> 2103s 2103s tests/test_baseconverter.py:177: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, ('', nan), {}) 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s @given(simple_typed_classes(defaults=False, newtypes=False)) 2103s def test_310_optional_field_roundtrip(cl_and_vals): 2103s """ 2103s Classes with optional fields can be unstructured and structured. 2103s """ 2103s converter = BaseConverter() 2103s cl, vals, kwargs = cl_and_vals 2103s 2103s @define 2103s class C: 2103s a: cl | None 2103s 2103s inst = C(a=cl(*vals, **kwargs)) 2103s > assert inst == converter.structure(converter.unstructure(inst), C) 2103s E AssertionError: assert C(a=HypAttrsC...a='', _b=nan)) == C(a=HypAttrsC...a='', _b=nan)) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a='', _b=nan) != HypAttrsClass(a='', _b=nan) 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={})] 2103s 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={})} 2103s E Falsifying example: test_310_optional_field_roundtrip( 2103s E cl_and_vals=(tests.typed.HypAttrsClass, ('', nan), {}), 2103s E ) 2103s 2103s C = .C'> 2103s cl = 2103s cl_and_vals = (, ('', nan), {}) 2103s converter = 2103s inst = C(a=HypAttrsClass(a='', _b=nan)) 2103s kwargs = {} 2103s vals = ('', nan) 2103s 2103s tests/test_baseconverter.py:190: AssertionError 2103s _______________ test_simple_roundtrip_with_extra_keys_forbidden ________________ 2103s 2103s @given( 2103s > simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False), 2103s unstructure_strats, 2103s ) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a2a20> 2103s 2103s tests/test_converter.py:103: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cls_and_vals = (, ({}, nan), {}) 2103s strat = 2103s 2103s @given( 2103s simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False), 2103s unstructure_strats, 2103s ) 2103s def test_simple_roundtrip_with_extra_keys_forbidden(cls_and_vals, strat): 2103s """ 2103s Simple classes can be unstructured and restructured with forbid_extra_keys=True. 2103s """ 2103s converter = Converter(unstruct_strat=strat, forbid_extra_keys=True) 2103s cl, vals, kwargs = cls_and_vals 2103s assume(strat is UnstructureStrategy.AS_DICT or not kwargs) 2103s inst = cl(*vals, **kwargs) 2103s unstructured = converter.unstructure(inst) 2103s assert "Hyp" not in repr(unstructured) 2103s > assert inst == converter.structure(unstructured, cl) 2103s E AssertionError: assert HypAttrsClass(a={}, _b=nan) == HypAttrsClass(a={}, _b=nan) 2103s E 2103s E Omitting 1 identical items, use -vv to show 2103s E Differing attributes: 2103s E ['_b'] 2103s E 2103s E Drill down into differing attribute _b: 2103s E _b: nan != nan 2103s 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={})] 2103s 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={})} 2103s E Falsifying example: test_simple_roundtrip_with_extra_keys_forbidden( 2103s E cls_and_vals=(tests.typed.HypAttrsClass, ({}, nan), {}), 2103s E strat=UnstructureStrategy.AS_DICT, # or any other generated value 2103s E ) 2103s 2103s cl = 2103s cls_and_vals = (, ({}, nan), {}) 2103s converter = 2103s inst = HypAttrsClass(a={}, _b=nan) 2103s kwargs = {} 2103s strat = 2103s unstructured = {'_b': nan, 'a': {}} 2103s vals = ({}, nan) 2103s 2103s tests/test_converter.py:116: AssertionError 2103s ____________________________ test_nested_roundtrip _____________________________ 2103s 2103s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 2103s > def test_nested_roundtrip(cls_and_vals, omit_if_default): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a2de0> 2103s 2103s tests/test_converter.py:203: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cls_and_vals = (, (None, None, None, None, None, None, ...), {}) 2103s omit_if_default = False 2103s 2103s @given(nested_typed_classes(defaults=True, min_attrs=1), booleans()) 2103s def test_nested_roundtrip(cls_and_vals, omit_if_default): 2103s """ 2103s Nested classes with metadata can be unstructured and restructured. 2103s """ 2103s converter = Converter(omit_if_default=omit_if_default) 2103s cl, vals, kwargs = cls_and_vals 2103s # Vals are a tuple, convert into a dictionary. 2103s inst = cl(*vals, **kwargs) 2103s unstructured = converter.unstructure(inst) 2103s > assert inst == converter.structure(unstructured, cl) 2103s E AssertionError: assert HypClass(a=No...ozenset())])]) == HypClass(a=No...ozenset())])]) 2103s E 2103s E Omitting 15 identical items, use -vv to show 2103s E Differing attributes: 2103s E ['_p'] 2103s E 2103s E Drill down into differing attribute _p: 2103s E _p: [HypClass(a=None, _b=None, c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])] != [HypClass(a=None, _b=None, c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])]... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s E Falsifying example: test_nested_roundtrip( 2103s E cls_and_vals=(tests.typed.HypClass, 2103s E (None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E None, 2103s E ('', '', ''), 2103s E [HypClass(a=None, 2103s E _b=None, 2103s E c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])]), 2103s E {}), 2103s E omit_if_default=False, 2103s E ) 2103s 2103s cl = 2103s cls_and_vals = (, (None, None, None, None, None, None, ...), {}) 2103s converter = 2103s inst = HypClass(a=None, _b=None, c=None, _d=None, e=None, _f=None, g=None, _h=None, i=None, _j=None, k=None, _l=None, m=None,...e, o=('', '', ''), _p=[HypClass(a=None, _b=None, c=[HypClass(a=None, _b=0, c=0, _d={}, e=nan, _f={}, g=frozenset())])]) 2103s kwargs = {} 2103s omit_if_default = False 2103s unstructured = {'_b': None, '_d': None, '_f': None, '_h': None, ...} 2103s vals = (None, None, None, None, None, None, ...) 2103s 2103s tests/test_converter.py:212: AssertionError 2103s _________________________ test_nested_roundtrip_tuple __________________________ 2103s 2103s @given( 2103s > nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 2103s booleans(), 2103s ) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a3240> 2103s 2103s tests/test_converter.py:216: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cls_and_vals = (, ([HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})])],), {}) 2103s omit_if_default = False 2103s 2103s @given( 2103s nested_typed_classes(defaults=True, min_attrs=1, kw_only=False, newtypes=False), 2103s booleans(), 2103s ) 2103s def test_nested_roundtrip_tuple(cls_and_vals, omit_if_default: bool): 2103s """ 2103s Nested classes with metadata can be unstructured and restructured. 2103s """ 2103s converter = Converter( 2103s unstruct_strat=UnstructureStrategy.AS_TUPLE, omit_if_default=omit_if_default 2103s ) 2103s cl, vals, _ = cls_and_vals 2103s # Vals are a tuple, convert into a dictionary. 2103s inst = cl(*vals) 2103s unstructured = converter.unstructure(inst) 2103s > assert inst == converter.structure(unstructured, cl) 2103s E AssertionError: assert HypClass(a=[H...={}, i={})])]) == HypClass(a=[H...={}, i={})])]) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: [HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})])] != [HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})])] 2103s E At index 0 diff: HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})]) != HypClass(a=0, _b={}, c=nan, _d=[], e='', ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s E Falsifying example: test_nested_roundtrip_tuple( 2103s E cls_and_vals=(tests.typed.HypClass, 2103s E ([HypClass(a=0, 2103s E _b={}, 2103s E c=struct.unpack('d', struct.pack('Q', 0x7ff8000000000001))[0], 2103s E _d=[], 2103s E e='', 2103s E _f=[], 2103s E g=[HypClass(a=0, 2103s E _b=frozenset(), 2103s E c=frozenset(), 2103s E _d=frozenset(), 2103s E e={}, 2103s E _f={}, 2103s E g={}, 2103s E _h={}, 2103s E i={})])],), 2103s E {}), 2103s E omit_if_default=False, 2103s E ) 2103s E Explanation: 2103s E These lines were always and only run by failing examples: 2103s E /usr/lib/python3.12/difflib.py:490 2103s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:103 2103s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:112 2103s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:474 2103s E /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py:250 2103s 2103s _ = {} 2103s cl = 2103s cls_and_vals = (, ([HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})])],), {}) 2103s converter = 2103s inst = HypClass(a=[HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})])]) 2103s omit_if_default = False 2103s unstructured = ([(0, {}, nan, [], '', [], ...)],) 2103s vals = ([HypClass(a=0, _b={}, c=nan, _d=[], e='', _f=[], g=[HypClass(a=0, _b=frozenset(), c=frozenset(), _d=frozenset(), e={}, _f={}, g={}, _h={}, i={})])],) 2103s 2103s tests/test_converter.py:230: AssertionError 2103s ---------------------------------- Hypothesis ---------------------------------- 2103s 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. 2103s PLEASE REPORT THIS if you can provide a reproducing example, so that we can improve shrinking performance for everyone. 2103s __________________________ test_union_field_roundtrip __________________________ 2103s 2103s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s > @given( 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s unstructure_strats, 2103s ) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a3740> 2103s 2103s tests/test_converter.py:234: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals_a = (, (nan, {}, [], [], []), {'i': '', 'j': ''}) 2103s cl_and_vals_b = (, (None,), {}) 2103s strat = 2103s 2103s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s @given( 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s unstructure_strats, 2103s ) 2103s def test_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 2103s """ 2103s Classes with union fields can be unstructured and structured. 2103s """ 2103s converter = Converter(unstruct_strat=strat) 2103s cl_a, vals_a, kwargs_a = cl_and_vals_a 2103s cl_b, _, _ = cl_and_vals_b 2103s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 2103s a_field_names = {a.name for a in fields(cl_a)} 2103s b_field_names = {a.name for a in fields(cl_b)} 2103s assume(a_field_names) 2103s assume(b_field_names) 2103s 2103s common_names = a_field_names & b_field_names 2103s assume(len(a_field_names) > len(common_names)) 2103s 2103s @define 2103s class C: 2103s a: Union[cl_a, cl_b] 2103s 2103s inst = C(a=cl_a(*vals_a, **kwargs_a)) 2103s 2103s if strat is UnstructureStrategy.AS_DICT: 2103s unstructured = converter.unstructure(inst) 2103s > assert inst == converter.structure(converter.unstructure(unstructured), C) 2103s E AssertionError: assert C(a=HypAttrsC..._h='', _j='')) == C(a=HypAttrsC..._h='', _j='')) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h='', _j='') != HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h='', _j='') 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={})] 2103s 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={})} 2103s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Falsifying example: test_union_field_roundtrip( 2103s E cl_and_vals_a=(tests.typed.HypAttrsClass, 2103s E (nan, {}, [], [], []), 2103s E {'i': '', 'j': ''}), 2103s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 2103s E strat=UnstructureStrategy.AS_DICT, 2103s E ) 2103s 2103s C = .C'> 2103s _ = {} 2103s a_field_names = {'_b', '_d', '_h', '_j', 'a', 'e', ...} 2103s b_field_names = {'a'} 2103s cl_a = 2103s cl_and_vals_a = (, (nan, {}, [], [], []), {'i': '', 'j': ''}) 2103s cl_and_vals_b = (, (None,), {}) 2103s cl_b = 2103s common_names = {'a'} 2103s converter = 2103s inst = C(a=HypAttrsClass(a=nan, _b={}, _d=[], e=[], g=[], _h='', _j='')) 2103s kwargs_a = {'i': '', 'j': ''} 2103s strat = 2103s unstructured = {'a': {'_b': {}, '_d': [], '_h': '', '_j': '', ...}} 2103s vals_a = (nan, {}, [], [], []) 2103s 2103s tests/test_converter.py:263: AssertionError 2103s ________________________ test_310_union_field_roundtrip ________________________ 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s > @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a37e0> 2103s 2103s tests/test_converter.py:278: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals_a = (, (0, 0, 0, 0, 0, 0, ...), {'_x': [], 'u': nan, 'v': {}, 'y': 0}) 2103s cl_and_vals_b = (, (None,), {}) 2103s strat = 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s @settings(suppress_health_check=[HealthCheck.filter_too_much, HealthCheck.too_slow]) 2103s @given( 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s simple_typed_classes(defaults=False, newtypes=False), 2103s unstructure_strats, 2103s ) 2103s def test_310_union_field_roundtrip(cl_and_vals_a, cl_and_vals_b, strat): 2103s """ 2103s Classes with union fields can be unstructured and structured. 2103s """ 2103s converter = Converter(unstruct_strat=strat) 2103s cl_a, vals_a, kwargs_a = cl_and_vals_a 2103s cl_b, _, _ = cl_and_vals_b 2103s assume(strat is UnstructureStrategy.AS_DICT or not kwargs_a) 2103s a_field_names = {a.name for a in fields(cl_a)} 2103s b_field_names = {a.name for a in fields(cl_b)} 2103s assume(a_field_names) 2103s assume(b_field_names) 2103s 2103s common_names = a_field_names & b_field_names 2103s assume(len(a_field_names) > len(common_names)) 2103s 2103s @define 2103s class C: 2103s a: cl_a | cl_b 2103s 2103s inst = C(a=cl_a(*vals_a, **kwargs_a)) 2103s 2103s if strat is UnstructureStrategy.AS_DICT: 2103s unstructured = converter.unstructure(inst) 2103s > assert inst == converter.structure(converter.unstructure(unstructured), C) 2103s E AssertionError: assert C(a=HypAttrsC...}, w=[], y=0)) == C(a=HypAttrsC...}, w=[], y=0)) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a=0, _b=0, _d=0, e=0, g=0, _h=0, _j=0, k=0, m=frozenset(), _n=frozenset(), _p=('', '', ''), q={}, s={}, _t=nan, _v={}, w=[], y=0) != HypAttrsClass(a=0, _b=0, _d=0, e=0, g=0, _h=0, _j=0, k=0, m=frozenset(), _n=frozenset(), _p=('', '', ''), q={}, s={}, _t=nan, _v={}, w=[], y=0) 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={}), _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s 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={}), 'm': _CountingAttr(counter=8, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={}), '_p': _CountingAttr(counter=10, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'q': _CountingAttr(counter=11, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_r', metadata={}), 's': _CountingAttr(counter=12, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_t': _CountingAttr(counter=13, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='u', metadata={}), '_v': _CountingAttr(counter=14, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'w': _CountingAttr(counter=15, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_x', metadata={}), 'y': _CountingAttr(counter=16, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Falsifying example: test_310_union_field_roundtrip( 2103s E cl_and_vals_a=(tests.typed.HypAttrsClass, 2103s E (0, 0, 0, 0, 0, 0, 0, 0, frozenset(), frozenset(), ('', '', ''), {}, {}), 2103s E {'u': nan, 'v': {}, '_x': [], 'y': 0}), 2103s E cl_and_vals_b=(tests.typed.HypAttrsClass, (None,), {}), 2103s E strat=UnstructureStrategy.AS_DICT, 2103s E ) 2103s 2103s C = .C'> 2103s _ = {} 2103s a_field_names = {'_b', '_d', '_h', '_j', '_n', '_p', ...} 2103s b_field_names = {'a'} 2103s cl_a = 2103s cl_and_vals_a = (, (0, 0, 0, 0, 0, 0, ...), {'_x': [], 'u': nan, 'v': {}, 'y': 0}) 2103s cl_and_vals_b = (, (None,), {}) 2103s cl_b = 2103s common_names = {'a'} 2103s converter = 2103s inst = C(a=HypAttrsClass(a=0, _b=0, _d=0, e=0, g=0, _h=0, _j=0, k=0, m=frozenset(), _n=frozenset(), _p=('', '', ''), q={}, s={}, _t=nan, _v={}, w=[], y=0)) 2103s kwargs_a = {'_x': [], 'u': nan, 'v': {}, 'y': 0} 2103s strat = 2103s unstructured = {'a': {'_b': 0, '_d': 0, '_h': 0, '_j': 0, ...}} 2103s vals_a = (0, 0, 0, 0, 0, 0, ...) 2103s 2103s tests/test_converter.py:308: AssertionError 2103s ________________________ test_optional_field_roundtrip _________________________ 2103s 2103s @given(simple_typed_classes(defaults=False)) 2103s > def test_optional_field_roundtrip(cl_and_vals): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77735a3560> 2103s 2103s tests/test_converter.py:323: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, ('', '', '', frozenset(), [], nan), {}) 2103s 2103s @given(simple_typed_classes(defaults=False)) 2103s def test_optional_field_roundtrip(cl_and_vals): 2103s """ 2103s Classes with optional fields can be unstructured and structured. 2103s """ 2103s converter = Converter() 2103s cl, vals, kwargs = cl_and_vals 2103s 2103s @define 2103s class C: 2103s a: Optional[cl] 2103s 2103s inst = C(a=cl(*vals, **kwargs)) 2103s > assert inst == converter.structure(converter.unstructure(inst), C) 2103s E AssertionError: assert C(a=HypAttrsC...g=[], _h=nan)) == C(a=HypAttrsC...g=[], _h=nan)) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a='', _b='', _d='', e=frozenset(), g=[], _h=nan) != HypAttrsClass(a='', _b='', _d='', e=frozenset(), g=[], _h=nan) 2103s E ... 2103s E 2103s E ...Full output truncated (6 lines hidden), use '-vv' to show 2103s 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={})] 2103s 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={})} 2103s E Falsifying example: test_optional_field_roundtrip( 2103s E cl_and_vals=(tests.typed.HypAttrsClass, 2103s E ('', '', '', frozenset(), [], nan), 2103s E {}), 2103s E ) 2103s 2103s C = .C'> 2103s cl = 2103s cl_and_vals = (, ('', '', '', frozenset(), [], nan), {}) 2103s converter = 2103s inst = C(a=HypAttrsClass(a='', _b='', _d='', e=frozenset(), g=[], _h=nan)) 2103s kwargs = {} 2103s vals = ('', '', '', frozenset(), [], nan) 2103s 2103s tests/test_converter.py:335: AssertionError 2103s ______________________ test_310_optional_field_roundtrip _______________________ 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s > @given(simple_typed_classes(defaults=False)) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773628220> 2103s 2103s tests/test_converter.py:344: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, (nan,), {}) 2103s 2103s @pytest.mark.skipif(not is_py310_plus, reason="3.10+ union syntax") 2103s @given(simple_typed_classes(defaults=False)) 2103s def test_310_optional_field_roundtrip(cl_and_vals): 2103s """ 2103s Classes with optional fields can be unstructured and structured. 2103s """ 2103s converter = Converter() 2103s cl, vals, kwargs = cl_and_vals 2103s 2103s @define 2103s class C: 2103s a: cl | None 2103s 2103s inst = C(a=cl(*vals, **kwargs)) 2103s > assert inst == converter.structure(converter.unstructure(inst), C) 2103s E AssertionError: assert C(a=HypAttrsClass(a=nan)) == C(a=HypAttrsClass(a=nan)) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: HypAttrsClass(a=nan) != HypAttrsClass(a=nan) 2103s E ... 2103s E 2103s E ...Full output truncated (5 lines hidden), use '-vv' to show 2103s E Class fields: [_CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s E Attributes: {'a': _CountingAttr(counter=0, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})} 2103s E Falsifying example: test_310_optional_field_roundtrip( 2103s E cl_and_vals=(tests.typed.HypAttrsClass, (nan,), {}), 2103s E ) 2103s 2103s C = .C'> 2103s cl = 2103s cl_and_vals = (, (nan,), {}) 2103s converter = 2103s inst = C(a=HypAttrsClass(a=nan)) 2103s kwargs = {} 2103s vals = (nan,) 2103s 2103s tests/test_converter.py:357: AssertionError 2103s _________________________ test_omit_default_roundtrip __________________________ 2103s 2103s @given(simple_typed_classes(defaults=True)) 2103s > def test_omit_default_roundtrip(cl_and_vals): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f7773628400> 2103s 2103s tests/test_converter.py:366: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, (0, 0, 0, 0, '', frozenset(), ...), {'o': nan}) 2103s 2103s @given(simple_typed_classes(defaults=True)) 2103s def test_omit_default_roundtrip(cl_and_vals): 2103s """ 2103s Omit default on the converter works. 2103s """ 2103s converter = Converter(omit_if_default=True) 2103s cl, vals, kwargs = cl_and_vals 2103s 2103s @define 2103s class C: 2103s a: int = 1 2103s b: cl = Factory(lambda: cl(*vals, **kwargs)) 2103s 2103s inst = C() 2103s unstructured = converter.unstructure(inst) 2103s > assert unstructured == {} 2103s E AssertionError: assert {'b': {'_n': nan}} == {} 2103s E 2103s E Left contains 1 more item: 2103s E {'b': {'_n': nan}} 2103s E 2103s E Full diff: 2103s E - {} 2103s E + {... 2103s E 2103s E ...Full output truncated (4 lines hidden), use '-vv' to show 2103s E Class fields: [_CountingAttr(counter=0, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=1, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=2, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=3, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=4, _default='', repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=5, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=6, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=7, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=8, _default=[], repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), _CountingAttr(counter=9, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={})] 2103s E Attributes: {'a': _CountingAttr(counter=0, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_b': _CountingAttr(counter=1, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='c', metadata={}), '_d': _CountingAttr(counter=2, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'e': _CountingAttr(counter=3, _default=0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_f', metadata={}), 'g': _CountingAttr(counter=4, _default='', repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_h': _CountingAttr(counter=5, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='i', metadata={}), '_j': _CountingAttr(counter=6, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), 'k': _CountingAttr(counter=7, _default=frozenset(), repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='_l', metadata={}), 'm': _CountingAttr(counter=8, _default=[], repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={}), '_n': _CountingAttr(counter=9, _default=0.0, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias='o', metadata={})} 2103s E Falsifying example: test_omit_default_roundtrip( 2103s E cl_and_vals=(tests.typed.HypAttrsClass, 2103s E (0, 0, 0, 0, '', frozenset(), frozenset(), frozenset(), []), 2103s E {'o': nan}), 2103s E ) 2103s E Explanation: 2103s E These lines were always and only run by failing examples: 2103s E /usr/lib/python3/dist-packages/_pytest/_io/pprint.py:128 2103s 2103s C = .C'> 2103s cl = 2103s cl_and_vals = (, (0, 0, 0, 0, '', frozenset(), ...), {'o': nan}) 2103s converter = 2103s inst = C(a=1, b=HypAttrsClass(a=0, _b=0, _d=0, e=0, g='', _h=frozenset(), _j=frozenset(), k=frozenset(), m=[], _n=nan)) 2103s kwargs = {'o': nan} 2103s unstructured = {'b': {'_n': nan}} 2103s vals = (0, 0, 0, 0, '', frozenset(), ...) 2103s 2103s tests/test_converter.py:380: AssertionError 2103s ____________________ test_unmodified_generated_structuring _____________________ 2103s 2103s @given( 2103s > cl_and_vals=nested_typed_classes() 2103s | simple_typed_classes() 2103s | simple_typed_dataclasses(), 2103s dv=..., 2103s ) 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f777327fba0> 2103s 2103s tests/test_gen_dict.py:166: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, (frozenset(), frozenset(), frozenset(), nan), {}) 2103s dv = False 2103s 2103s @given( 2103s cl_and_vals=nested_typed_classes() 2103s | simple_typed_classes() 2103s | simple_typed_dataclasses(), 2103s dv=..., 2103s ) 2103s def test_unmodified_generated_structuring(cl_and_vals, dv: bool): 2103s converter = Converter(detailed_validation=dv) 2103s cl, vals, kwargs = cl_and_vals 2103s fn = make_dict_structure_fn(cl, converter, _cattrs_detailed_validation=dv) 2103s 2103s inst = cl(*vals, **kwargs) 2103s 2103s unstructured = converter.unstructure(inst) 2103s 2103s assert "Hyp" not in repr(unstructured) 2103s 2103s converter.register_structure_hook(cl, fn) 2103s 2103s res = converter.structure(unstructured, cl) 2103s 2103s > assert inst == res 2103s E AssertionError: assert HypAttrsClass...nset(), e=nan) == HypAttrsClass...nset(), e=nan) 2103s E 2103s E Omitting 3 identical items, use -vv to show 2103s E Differing attributes: 2103s E ['e'] 2103s E 2103s E Drill down into differing attribute e: 2103s E e: nan != nan 2103s 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={})] 2103s 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={})} 2103s E Falsifying example: test_unmodified_generated_structuring( 2103s E cl_and_vals=(tests.typed.HypAttrsClass, 2103s E (frozenset(), 2103s E frozenset(), 2103s E frozenset(), 2103s E struct.unpack('d', struct.pack('Q', 0x7ff7ffffffffffff))[0]), 2103s E {}), 2103s E dv=False, 2103s E ) 2103s 2103s cl = 2103s cl_and_vals = (, (frozenset(), frozenset(), frozenset(), nan), {}) 2103s converter = 2103s dv = False 2103s fn = 2103s inst = HypAttrsClass(a=frozenset(), _b=frozenset(), _d=frozenset(), e=nan) 2103s kwargs = {} 2103s res = HypAttrsClass(a=frozenset(), _b=frozenset(), _d=frozenset(), e=nan) 2103s unstructured = {'_b': frozenset(), '_d': frozenset(), 'a': frozenset(), 'e': nan} 2103s vals = (frozenset(), frozenset(), frozenset(), nan) 2103s 2103s tests/test_gen_dict.py:186: AssertionError 2103s ___________________ test_structure_simple_from_dict_default ____________________ 2103s 2103s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 2103s > def test_structure_simple_from_dict_default(cl_and_vals, data): 2103s 2103s f = .run_test_as_given..wrapped_test at 0x7f77734b82c0> 2103s 2103s tests/test_structure_attrs.py:31: 2103s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2103s 2103s cl_and_vals = (, (0.0,), {}), data = data(...) 2103s 2103s @given(simple_classes(defaults=True, min_attrs=1, frozen=False), data()) 2103s def test_structure_simple_from_dict_default(cl_and_vals, data): 2103s """Test structuring non-nested attrs classes with default value.""" 2103s converter = BaseConverter() 2103s cl, vals, kwargs = cl_and_vals 2103s obj = cl(*vals, **kwargs) 2103s attrs_with_defaults = [a for a in fields(cl) if a.default is not NOTHING] 2103s to_remove = data.draw( 2103s lists(elements=sampled_from(attrs_with_defaults), unique=True) 2103s ) 2103s 2103s for a in to_remove: 2103s if isinstance(a.default, Factory): 2103s setattr(obj, a.name, a.default.factory()) 2103s else: 2103s setattr(obj, a.name, a.default) 2103s 2103s dumped = asdict(obj) 2103s 2103s for a in to_remove: 2103s del dumped[a.name] 2103s 2103s > assert obj == converter.structure(dumped, cl) 2103s E AssertionError: assert HypClass(a=nan) == HypClass(a=nan) 2103s E 2103s E Differing attributes: 2103s E ['a'] 2103s E 2103s E Drill down into differing attribute a: 2103s E a: nan != nan 2103s E Falsifying example: test_structure_simple_from_dict_default( 2103s E cl_and_vals=(tests.untyped.HypClass, (0.0,), {}), 2103s E data=data(...), 2103s E ) 2103s 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')] 2103s 2103s 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') 2103s 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')] 2103s cl = 2103s cl_and_vals = (, (0.0,), {}) 2103s converter = 2103s data = data(...) 2103s dumped = {} 2103s kwargs = {} 2103s obj = HypClass(a=nan) 2103s 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')] 2103s vals = (0.0,) 2103s 2103s tests/test_structure_attrs.py:52: AssertionError 2103s =============================== warnings summary =============================== 2103s tests/typed.py:417 2103s /tmp/autopkgtest.K6x9ez/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) 2103s @composite 2103s 2103s tests/typed.py:826 2103s /tmp/autopkgtest.K6x9ez/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) 2103s @composite 2103s 2103s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2103s =========================== short test summary info ============================ 2103s FAILED tests/test_baseconverter.py::test_simple_roundtrip - AssertionError: a... 2103s FAILED tests/test_baseconverter.py::test_simple_roundtrip_defaults - Assertio... 2103s FAILED tests/test_baseconverter.py::test_nested_roundtrip - AssertionError: a... 2103s FAILED tests/test_baseconverter.py::test_nested_roundtrip_tuple - AssertionEr... 2103s FAILED tests/test_baseconverter.py::test_union_field_roundtrip - AssertionErr... 2103s FAILED tests/test_baseconverter.py::test_310_union_field_roundtrip - Assertio... 2103s FAILED tests/test_baseconverter.py::test_optional_field_roundtrip - Assertion... 2103s FAILED tests/test_baseconverter.py::test_310_optional_field_roundtrip - Asser... 2103s FAILED tests/test_converter.py::test_simple_roundtrip_with_extra_keys_forbidden 2103s FAILED tests/test_converter.py::test_nested_roundtrip - AssertionError: asser... 2103s FAILED tests/test_converter.py::test_nested_roundtrip_tuple - AssertionError:... 2103s FAILED tests/test_converter.py::test_union_field_roundtrip - AssertionError: ... 2103s FAILED tests/test_converter.py::test_310_union_field_roundtrip - AssertionErr... 2103s FAILED tests/test_converter.py::test_optional_field_roundtrip - AssertionErro... 2103s FAILED tests/test_converter.py::test_310_optional_field_roundtrip - Assertion... 2103s FAILED tests/test_converter.py::test_omit_default_roundtrip - AssertionError:... 2103s FAILED tests/test_gen_dict.py::test_unmodified_generated_structuring - Assert... 2103s FAILED tests/test_structure_attrs.py::test_structure_simple_from_dict_default 2103s ====== 18 failed, 559 passed, 15 xfailed, 2 warnings in 570.87s (0:09:30) ====== 2103s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.K6x9ez/autopkgtest_tmp/build; python3.12 -m pytest -v --ignore tests/test_unstructure_collections.py --ignore tests/test_preconf.py -k 'not test_orjson' 2103s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 2103s make: *** [/tmp/kxxzKJtEVM/run:4: pybuild-autopkgtest] Error 25 2103s pybuild-autopkgtest: error: /tmp/kxxzKJtEVM/run pybuild-autopkgtest returned exit code 2 2104s autopkgtest [20:38:52]: test pybuild-autopkgtest: -----------------------] 2104s autopkgtest [20:38:52]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 2104s pybuild-autopkgtest FAIL non-zero exit status 25 2105s autopkgtest [20:38:53]: @@@@@@@@@@@@@@@@@@@@ summary 2105s pybuild-autopkgtest FAIL non-zero exit status 25 2118s virt: nova [W] Using flock in prodstack6-ppc64el 2118s virt: Creating nova instance adt-plucky-ppc64el-python-cattrs-20241123-191850-juju-7f2275-prod-proposed-migration-environment-2-4b3c2e92-ff21-45ca-9289-a6c452f0543a from image adt/ubuntu-plucky-ppc64el-server-20241119.img (UUID dcc6a44c-21fb-45bb-821a-d64a8784c175)...