0s autopkgtest [11:38:01]: starting date and time: 2025-11-17 11:38:01+0000 0s autopkgtest [11:38:01]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [11:38:01]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.resw30ys/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python3-defaults --apt-upgrade dataclass-wizard --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.13.7-2 -- lxd -r lxd-armhf-10.145.243.254 lxd-armhf-10.145.243.254:autopkgtest/ubuntu/resolute/armhf 21s autopkgtest [11:38:22]: testbed dpkg architecture: armhf 23s autopkgtest [11:38:24]: testbed apt version: 3.1.11 27s autopkgtest [11:38:28]: @@@@@@@@@@@@@@@@@@@@ test bed setup 29s autopkgtest [11:38:30]: testbed release detected to be: None 37s autopkgtest [11:38:38]: updating testbed package index (apt update) 39s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 40s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [87.8 kB] 40s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 40s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 40s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [868 kB] 41s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.1 kB] 41s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.9 kB] 41s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9848 B] 41s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [138 kB] 41s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted armhf Packages [940 B] 41s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [536 kB] 41s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [9684 B] 41s Get:13 http://ftpmaster.internal/ubuntu resolute/main Sources [1416 kB] 42s Get:14 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 45s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1369 kB] 45s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.2 MB] 49s Fetched 41.1 MB in 9s (4412 kB/s) 50s Reading package lists... 56s autopkgtest [11:38:57]: upgrading testbed (apt dist-upgrade and autopurge) 58s Reading package lists... 58s Building dependency tree... 58s Reading state information... 59s Calculating upgrade... 60s The following packages will be upgraded: 60s libpython3-stdlib python3 python3-minimal usbutils 60s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Need to get 140 kB of archives. 60s After this operation, 0 B of additional disk space will be used. 60s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-minimal armhf 3.13.7-2 [27.8 kB] 61s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3 armhf 3.13.7-2 [23.9 kB] 61s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf libpython3-stdlib armhf 3.13.7-2 [10.6 kB] 61s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf usbutils armhf 1:019-1 [77.7 kB] 61s Fetched 140 kB in 0s (319 kB/s) 62s (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 ... 65904 files and directories currently installed.) 62s Preparing to unpack .../python3-minimal_3.13.7-2_armhf.deb ... 62s Unpacking python3-minimal (3.13.7-2) over (3.13.7-1) ... 62s Setting up python3-minimal (3.13.7-2) ... 62s (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 ... 65904 files and directories currently installed.) 62s Preparing to unpack .../python3_3.13.7-2_armhf.deb ... 62s Unpacking python3 (3.13.7-2) over (3.13.7-1) ... 62s Preparing to unpack .../libpython3-stdlib_3.13.7-2_armhf.deb ... 62s Unpacking libpython3-stdlib:armhf (3.13.7-2) over (3.13.7-1) ... 62s Preparing to unpack .../usbutils_1%3a019-1_armhf.deb ... 62s Unpacking usbutils (1:019-1) over (1:018-2) ... 62s Setting up usbutils (1:019-1) ... 62s Setting up libpython3-stdlib:armhf (3.13.7-2) ... 62s Setting up python3 (3.13.7-2) ... 62s Processing triggers for man-db (2.13.1-1) ... 65s Reading package lists... 66s Building dependency tree... 66s Reading state information... 66s Solving dependencies... 67s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 69s autopkgtest [11:39:10]: rebooting testbed after setup commands that affected boot 113s autopkgtest [11:39:54]: testbed running kernel: Linux 6.8.0-86-generic #87~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 29 09:26:46 UTC 2 139s autopkgtest [11:40:20]: @@@@@@@@@@@@@@@@@@@@ apt-source dataclass-wizard 150s Get:1 http://ftpmaster.internal/ubuntu resolute/universe dataclass-wizard 0.35.1-1 (dsc) [2577 B] 150s Get:2 http://ftpmaster.internal/ubuntu resolute/universe dataclass-wizard 0.35.1-1 (tar) [320 kB] 150s Get:3 http://ftpmaster.internal/ubuntu resolute/universe dataclass-wizard 0.35.1-1 (diff) [4216 B] 150s gpgv: Signature made Wed Jul 30 07:31:38 2025 UTC 150s gpgv: using RSA key FB8ACFA78C726089C38AD0269605A1098C63B92A 150s gpgv: Can't check signature: No public key 150s dpkg-source: warning: cannot verify inline signature for ./dataclass-wizard_0.35.1-1.dsc: no acceptable signature found 150s autopkgtest [11:40:31]: testing package dataclass-wizard version 0.35.1-1 152s autopkgtest [11:40:33]: build not needed 155s autopkgtest [11:40:36]: test pybuild-autopkgtest: preparing testbed 156s Reading package lists... 157s Building dependency tree... 157s Reading state information... 157s Solving dependencies... 158s The following NEW packages will be installed: 158s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 158s cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 158s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz g++ 158s g++-15 g++-15-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-15 158s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 158s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 158s libdebhelper-perl libdw1t64 libfile-stripnondeterminism-perl libgcc-15-dev 158s libgomp1 libisl23 libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 158s libjs-jquery-metadata libjs-jquery-tablesorter 158s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libjson-perl 158s libmpc3 libpython3.14-minimal libpython3.14-stdlib libstdc++-15-dev libtool 158s libubsan1 linux-libc-dev m4 po-debconf pybuild-plugin-autopkgtest 159s pybuild-plugin-pyproject python3-alabaster python3-all python3-build 159s python3-coverage python3-dataclass-wizard python3-defusedxml 159s python3-docutils python3-dotenv python3-imagesize python3-iniconfig 159s python3-installer python3-pluggy python3-pyproject-hooks python3-pytest 159s python3-pytest-cov python3-pytest-mock python3-pytimeparse python3-roman 159s python3-snowballstemmer python3-sphinx python3-sphinx-autodoc-typehints 159s python3-sphinx-copybutton python3-sphinx-issues python3-tomli-w 159s python3-wheel python3.14 python3.14-minimal rpcsvc-proto sgml-base 159s sphinx-common tzdata-legacy xml-core 159s 0 upgraded, 90 newly installed, 0 to remove and 0 not upgraded. 159s Need to get 68.3 MB of archives. 159s After this operation, 214 MB of additional disk space will be used. 159s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.0-4 [892 kB] 160s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.0-4 [2146 kB] 160s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.20-2 [212 kB] 161s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu1 [384 kB] 161s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1 [43.4 kB] 161s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-2 [581 kB] 161s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 161s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu2 [21.8 kB] 161s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.17.0-5.5 [1771 kB] 161s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.4.38-1build1 [120 kB] 161s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1 [62.3 kB] 161s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu2 [1416 kB] 162s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1 [546 kB] 162s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 162s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [10.1 MB] 163s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-7ubuntu1 [1030 B] 163s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 163s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 163s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-7ubuntu1 [43.5 kB] 163s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-7ubuntu1 [129 kB] 163s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-7ubuntu1 [2950 kB] 163s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-7ubuntu1 [1187 kB] 164s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-7ubuntu1 [898 kB] 164s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [19.5 MB] 166s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-7ubuntu1 [493 kB] 166s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 166s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 166s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf libstdc++-15-dev armhf 15.2.0-7ubuntu1 [2637 kB] 166s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15-arm-linux-gnueabihf armhf 15.2.0-7ubuntu1 [11.4 MB] 168s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15 armhf 15.2.0-7ubuntu1 [23.7 kB] 168s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf g++-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [968 B] 168s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf g++ armhf 4:15.2.0-4ubuntu1 [1086 B] 168s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf build-essential armhf 12.12ubuntu1 [5088 B] 168s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.24.2ubuntu1 [95.7 kB] 168s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-7 [169 kB] 168s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21 [12.5 kB] 168s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 168s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1 [20.5 kB] 168s Get:39 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1 [5090 B] 168s Get:40 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 168s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3 [48.9 kB] 168s Get:42 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2 [114 kB] 168s Get:43 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 168s Get:44 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 168s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 168s Get:46 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.24.2ubuntu1 [896 kB] 168s Get:47 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-python all 6.20250414 [119 kB] 168s Get:48 http://ftpmaster.internal/ubuntu resolute/main armhf sgml-base all 1.31+nmu1 [11.0 kB] 168s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf xml-core all 0.19 [20.3 kB] 168s Get:50 http://ftpmaster.internal/ubuntu resolute/main armhf docutils-common all 0.21.2+dfsg-2 [131 kB] 168s Get:51 http://ftpmaster.internal/ubuntu resolute/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 168s Get:52 http://ftpmaster.internal/ubuntu resolute/universe armhf libjs-jquery-metadata all 12-4 [6582 B] 168s Get:53 http://ftpmaster.internal/ubuntu resolute/universe armhf libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 168s Get:54 http://ftpmaster.internal/ubuntu resolute/universe armhf libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 168s Get:55 http://ftpmaster.internal/ubuntu resolute/main armhf libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 168s Get:56 http://ftpmaster.internal/ubuntu resolute/main armhf libjs-sphinxdoc all 8.2.3-1ubuntu2 [28.0 kB] 168s Get:57 http://ftpmaster.internal/ubuntu resolute/main armhf libjson-perl all 4.10000-1 [81.9 kB] 168s Get:58 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.0-4 [2270 kB] 168s Get:59 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-autopkgtest all 6.20250414 [1746 B] 168s Get:60 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 168s Get:61 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-wheel all 0.46.1-2 [22.1 kB] 168s Get:62 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-build all 1.2.2-4 [31.0 kB] 168s Get:63 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 168s Get:64 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-pyproject all 6.20250414 [1728 B] 168s Get:65 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.0-4 [805 kB] 168s Get:66 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-all armhf 3.13.7-2 [890 B] 168s Get:67 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-coverage armhf 7.8.2+dfsg1-1 [156 kB] 168s Get:68 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-dataclass-wizard all 0.35.1-1 [446 kB] 168s Get:69 http://ftpmaster.internal/ubuntu resolute/main armhf python3-defusedxml all 0.7.1-3 [42.2 kB] 168s Get:70 http://ftpmaster.internal/ubuntu resolute/main armhf python3-roman all 5.1-1 [10.6 kB] 168s Get:71 http://ftpmaster.internal/ubuntu resolute/main armhf python3-docutils all 0.21.2+dfsg-2 [409 kB] 168s Get:72 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-dotenv all 1.0.1-1 [22.3 kB] 168s Get:73 http://ftpmaster.internal/ubuntu resolute/main armhf python3-imagesize all 1.4.1-1 [6844 B] 168s Get:74 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-1 [6840 B] 168s Get:75 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-1 [21.0 kB] 168s Get:76 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 8.3.5-2 [252 kB] 168s Get:77 http://ftpmaster.internal/ubuntu resolute/universe armhf libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 169s Get:78 http://ftpmaster.internal/ubuntu resolute/universe armhf libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 169s Get:79 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest-cov all 5.0.0-1 [21.3 kB] 169s Get:80 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest-mock all 3.15.1-1 [11.9 kB] 169s Get:81 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytimeparse all 1.1.5-4 [8500 B] 169s Get:82 http://ftpmaster.internal/ubuntu resolute/main armhf python3-snowballstemmer all 3.0.1-1 [65.9 kB] 169s Get:83 http://ftpmaster.internal/ubuntu resolute/main armhf sphinx-common all 8.2.3-1ubuntu2 [656 kB] 169s Get:84 http://ftpmaster.internal/ubuntu resolute/main armhf python3-alabaster all 0.7.16-0.1 [18.5 kB] 169s Get:85 http://ftpmaster.internal/ubuntu resolute/main armhf python3-sphinx all 8.2.3-1ubuntu2 [482 kB] 169s Get:86 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-sphinx-autodoc-typehints all 3.2.0-1 [22.2 kB] 169s Get:87 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-sphinx-copybutton all 0.5.2-3 [16.7 kB] 169s Get:88 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-sphinx-issues all 5.0.1-1 [10.4 kB] 169s Get:89 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-tomli-w all 1.2.0-1 [8120 B] 169s Get:90 http://ftpmaster.internal/ubuntu resolute/main armhf tzdata-legacy all 2025b-5ubuntu1 [99.3 kB] 170s Fetched 68.3 MB in 10s (6761 kB/s) 170s Selecting previously unselected package libpython3.14-minimal:armhf. 170s (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 ... 65904 files and directories currently installed.) 170s Preparing to unpack .../00-libpython3.14-minimal_3.14.0-4_armhf.deb ... 170s Unpacking libpython3.14-minimal:armhf (3.14.0-4) ... 170s Selecting previously unselected package python3.14-minimal. 170s Preparing to unpack .../01-python3.14-minimal_3.14.0-4_armhf.deb ... 170s Unpacking python3.14-minimal (3.14.0-4) ... 170s Selecting previously unselected package m4. 170s Preparing to unpack .../02-m4_1.4.20-2_armhf.deb ... 170s Unpacking m4 (1.4.20-2) ... 170s Selecting previously unselected package autoconf. 170s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 170s Unpacking autoconf (2.72-3.1ubuntu1) ... 170s Selecting previously unselected package autotools-dev. 170s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 170s Unpacking autotools-dev (20240727.1) ... 170s Selecting previously unselected package automake. 170s Preparing to unpack .../05-automake_1%3a1.18.1-2_all.deb ... 170s Unpacking automake (1:1.18.1-2) ... 170s Selecting previously unselected package autopoint. 170s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 170s Unpacking autopoint (0.23.2-1) ... 170s Selecting previously unselected package libc-dev-bin. 170s Preparing to unpack .../07-libc-dev-bin_2.42-2ubuntu2_armhf.deb ... 170s Unpacking libc-dev-bin (2.42-2ubuntu2) ... 170s Selecting previously unselected package linux-libc-dev:armhf. 170s Preparing to unpack .../08-linux-libc-dev_6.17.0-5.5_armhf.deb ... 170s Unpacking linux-libc-dev:armhf (6.17.0-5.5) ... 170s Selecting previously unselected package libcrypt-dev:armhf. 170s Preparing to unpack .../09-libcrypt-dev_1%3a4.4.38-1build1_armhf.deb ... 170s Unpacking libcrypt-dev:armhf (1:4.4.38-1build1) ... 170s Selecting previously unselected package rpcsvc-proto. 170s Preparing to unpack .../10-rpcsvc-proto_1.4.3-1_armhf.deb ... 170s Unpacking rpcsvc-proto (1.4.3-1) ... 170s Selecting previously unselected package libc6-dev:armhf. 170s Preparing to unpack .../11-libc6-dev_2.42-2ubuntu2_armhf.deb ... 170s Unpacking libc6-dev:armhf (2.42-2ubuntu2) ... 171s Selecting previously unselected package libisl23:armhf. 171s Preparing to unpack .../12-libisl23_0.27-1_armhf.deb ... 171s Unpacking libisl23:armhf (0.27-1) ... 171s Selecting previously unselected package libmpc3:armhf. 171s Preparing to unpack .../13-libmpc3_1.3.1-2_armhf.deb ... 171s Unpacking libmpc3:armhf (1.3.1-2) ... 171s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 171s Preparing to unpack .../14-cpp-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package cpp-15. 171s Preparing to unpack .../15-cpp-15_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking cpp-15 (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package cpp-arm-linux-gnueabihf. 171s Preparing to unpack .../16-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 171s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 171s Selecting previously unselected package cpp. 171s Preparing to unpack .../17-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 171s Unpacking cpp (4:15.2.0-4ubuntu1) ... 171s Selecting previously unselected package libcc1-0:armhf. 171s Preparing to unpack .../18-libcc1-0_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking libcc1-0:armhf (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package libgomp1:armhf. 171s Preparing to unpack .../19-libgomp1_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking libgomp1:armhf (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package libasan8:armhf. 171s Preparing to unpack .../20-libasan8_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking libasan8:armhf (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package libubsan1:armhf. 171s Preparing to unpack .../21-libubsan1_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking libubsan1:armhf (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package libgcc-15-dev:armhf. 171s Preparing to unpack .../22-libgcc-15-dev_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 171s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 171s Preparing to unpack .../23-gcc-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 171s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 172s Selecting previously unselected package gcc-15. 172s Preparing to unpack .../24-gcc-15_15.2.0-7ubuntu1_armhf.deb ... 172s Unpacking gcc-15 (15.2.0-7ubuntu1) ... 172s Selecting previously unselected package gcc-arm-linux-gnueabihf. 172s Preparing to unpack .../25-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 172s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 172s Selecting previously unselected package gcc. 172s Preparing to unpack .../26-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 172s Unpacking gcc (4:15.2.0-4ubuntu1) ... 172s Selecting previously unselected package libstdc++-15-dev:armhf. 172s Preparing to unpack .../27-libstdc++-15-dev_15.2.0-7ubuntu1_armhf.deb ... 172s Unpacking libstdc++-15-dev:armhf (15.2.0-7ubuntu1) ... 172s Selecting previously unselected package g++-15-arm-linux-gnueabihf. 172s Preparing to unpack .../28-g++-15-arm-linux-gnueabihf_15.2.0-7ubuntu1_armhf.deb ... 172s Unpacking g++-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 173s Selecting previously unselected package g++-15. 173s Preparing to unpack .../29-g++-15_15.2.0-7ubuntu1_armhf.deb ... 173s Unpacking g++-15 (15.2.0-7ubuntu1) ... 173s Selecting previously unselected package g++-arm-linux-gnueabihf. 173s Preparing to unpack .../30-g++-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 173s Unpacking g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 173s Selecting previously unselected package g++. 173s Preparing to unpack .../31-g++_4%3a15.2.0-4ubuntu1_armhf.deb ... 173s Unpacking g++ (4:15.2.0-4ubuntu1) ... 173s Selecting previously unselected package build-essential. 173s Preparing to unpack .../32-build-essential_12.12ubuntu1_armhf.deb ... 173s Unpacking build-essential (12.12ubuntu1) ... 173s Selecting previously unselected package libdebhelper-perl. 173s Preparing to unpack .../33-libdebhelper-perl_13.24.2ubuntu1_all.deb ... 173s Unpacking libdebhelper-perl (13.24.2ubuntu1) ... 173s Selecting previously unselected package libtool. 173s Preparing to unpack .../34-libtool_2.5.4-7_all.deb ... 173s Unpacking libtool (2.5.4-7) ... 173s Selecting previously unselected package dh-autoreconf. 173s Preparing to unpack .../35-dh-autoreconf_21_all.deb ... 173s Unpacking dh-autoreconf (21) ... 173s Selecting previously unselected package libarchive-zip-perl. 173s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 173s Unpacking libarchive-zip-perl (1.68-1) ... 173s Selecting previously unselected package libfile-stripnondeterminism-perl. 173s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... 173s Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... 173s Selecting previously unselected package dh-strip-nondeterminism. 173s Preparing to unpack .../38-dh-strip-nondeterminism_1.15.0-1_all.deb ... 173s Unpacking dh-strip-nondeterminism (1.15.0-1) ... 173s Selecting previously unselected package libdw1t64:armhf. 173s Preparing to unpack .../39-libdw1t64_0.194-1_armhf.deb ... 173s Unpacking libdw1t64:armhf (0.194-1) ... 173s Selecting previously unselected package debugedit. 173s Preparing to unpack .../40-debugedit_1%3a5.2-3_armhf.deb ... 173s Unpacking debugedit (1:5.2-3) ... 173s Selecting previously unselected package dwz. 173s Preparing to unpack .../41-dwz_0.16-2_armhf.deb ... 173s Unpacking dwz (0.16-2) ... 173s Selecting previously unselected package gettext. 173s Preparing to unpack .../42-gettext_0.23.2-1_armhf.deb ... 173s Unpacking gettext (0.23.2-1) ... 173s Selecting previously unselected package intltool-debian. 173s Preparing to unpack .../43-intltool-debian_0.35.0+20060710.6_all.deb ... 173s Unpacking intltool-debian (0.35.0+20060710.6) ... 173s Selecting previously unselected package po-debconf. 173s Preparing to unpack .../44-po-debconf_1.0.21+nmu1_all.deb ... 173s Unpacking po-debconf (1.0.21+nmu1) ... 173s Selecting previously unselected package debhelper. 173s Preparing to unpack .../45-debhelper_13.24.2ubuntu1_all.deb ... 173s Unpacking debhelper (13.24.2ubuntu1) ... 174s Selecting previously unselected package dh-python. 174s Preparing to unpack .../46-dh-python_6.20250414_all.deb ... 174s Unpacking dh-python (6.20250414) ... 174s Selecting previously unselected package sgml-base. 174s Preparing to unpack .../47-sgml-base_1.31+nmu1_all.deb ... 174s Unpacking sgml-base (1.31+nmu1) ... 174s Selecting previously unselected package xml-core. 174s Preparing to unpack .../48-xml-core_0.19_all.deb ... 174s Unpacking xml-core (0.19) ... 174s Selecting previously unselected package docutils-common. 174s Preparing to unpack .../49-docutils-common_0.21.2+dfsg-2_all.deb ... 174s Unpacking docutils-common (0.21.2+dfsg-2) ... 174s Selecting previously unselected package libjs-jquery. 174s Preparing to unpack .../50-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 174s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 174s Selecting previously unselected package libjs-jquery-metadata. 174s Preparing to unpack .../51-libjs-jquery-metadata_12-4_all.deb ... 174s Unpacking libjs-jquery-metadata (12-4) ... 174s Selecting previously unselected package libjs-jquery-tablesorter. 174s Preparing to unpack .../52-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 174s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 174s Selecting previously unselected package libjs-jquery-throttle-debounce. 174s Preparing to unpack .../53-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 174s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 174s Selecting previously unselected package libjs-underscore. 174s Preparing to unpack .../54-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 174s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 174s Selecting previously unselected package libjs-sphinxdoc. 174s Preparing to unpack .../55-libjs-sphinxdoc_8.2.3-1ubuntu2_all.deb ... 174s Unpacking libjs-sphinxdoc (8.2.3-1ubuntu2) ... 174s Selecting previously unselected package libjson-perl. 174s Preparing to unpack .../56-libjson-perl_4.10000-1_all.deb ... 174s Unpacking libjson-perl (4.10000-1) ... 174s Selecting previously unselected package libpython3.14-stdlib:armhf. 174s Preparing to unpack .../57-libpython3.14-stdlib_3.14.0-4_armhf.deb ... 174s Unpacking libpython3.14-stdlib:armhf (3.14.0-4) ... 174s Selecting previously unselected package pybuild-plugin-autopkgtest. 174s Preparing to unpack .../58-pybuild-plugin-autopkgtest_6.20250414_all.deb ... 174s Unpacking pybuild-plugin-autopkgtest (6.20250414) ... 175s Selecting previously unselected package python3-pyproject-hooks. 175s Preparing to unpack .../59-python3-pyproject-hooks_1.2.0-1_all.deb ... 175s Unpacking python3-pyproject-hooks (1.2.0-1) ... 175s Selecting previously unselected package python3-wheel. 175s Preparing to unpack .../60-python3-wheel_0.46.1-2_all.deb ... 175s Unpacking python3-wheel (0.46.1-2) ... 175s Selecting previously unselected package python3-build. 175s Preparing to unpack .../61-python3-build_1.2.2-4_all.deb ... 175s Unpacking python3-build (1.2.2-4) ... 175s Selecting previously unselected package python3-installer. 175s Preparing to unpack .../62-python3-installer_0.7.0+dfsg1-3_all.deb ... 175s Unpacking python3-installer (0.7.0+dfsg1-3) ... 175s Selecting previously unselected package pybuild-plugin-pyproject. 175s Preparing to unpack .../63-pybuild-plugin-pyproject_6.20250414_all.deb ... 175s Unpacking pybuild-plugin-pyproject (6.20250414) ... 175s Selecting previously unselected package python3.14. 175s Preparing to unpack .../64-python3.14_3.14.0-4_armhf.deb ... 175s Unpacking python3.14 (3.14.0-4) ... 175s Selecting previously unselected package python3-all. 175s Preparing to unpack .../65-python3-all_3.13.7-2_armhf.deb ... 175s Unpacking python3-all (3.13.7-2) ... 175s Selecting previously unselected package python3-coverage. 175s Preparing to unpack .../66-python3-coverage_7.8.2+dfsg1-1_armhf.deb ... 175s Unpacking python3-coverage (7.8.2+dfsg1-1) ... 175s Selecting previously unselected package python3-dataclass-wizard. 175s Preparing to unpack .../67-python3-dataclass-wizard_0.35.1-1_all.deb ... 175s Unpacking python3-dataclass-wizard (0.35.1-1) ... 175s Selecting previously unselected package python3-defusedxml. 175s Preparing to unpack .../68-python3-defusedxml_0.7.1-3_all.deb ... 175s Unpacking python3-defusedxml (0.7.1-3) ... 175s Selecting previously unselected package python3-roman. 175s Preparing to unpack .../69-python3-roman_5.1-1_all.deb ... 175s Unpacking python3-roman (5.1-1) ... 175s Selecting previously unselected package python3-docutils. 175s Preparing to unpack .../70-python3-docutils_0.21.2+dfsg-2_all.deb ... 175s Unpacking python3-docutils (0.21.2+dfsg-2) ... 175s Selecting previously unselected package python3-dotenv. 175s Preparing to unpack .../71-python3-dotenv_1.0.1-1_all.deb ... 175s Unpacking python3-dotenv (1.0.1-1) ... 175s Selecting previously unselected package python3-imagesize. 175s Preparing to unpack .../72-python3-imagesize_1.4.1-1_all.deb ... 175s Unpacking python3-imagesize (1.4.1-1) ... 175s Selecting previously unselected package python3-iniconfig. 175s Preparing to unpack .../73-python3-iniconfig_2.1.0-1_all.deb ... 175s Unpacking python3-iniconfig (2.1.0-1) ... 175s Selecting previously unselected package python3-pluggy. 175s Preparing to unpack .../74-python3-pluggy_1.6.0-1_all.deb ... 175s Unpacking python3-pluggy (1.6.0-1) ... 175s Selecting previously unselected package python3-pytest. 175s Preparing to unpack .../75-python3-pytest_8.3.5-2_all.deb ... 175s Unpacking python3-pytest (8.3.5-2) ... 176s Selecting previously unselected package libjs-jquery-hotkeys. 176s Preparing to unpack .../76-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 176s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 176s Selecting previously unselected package libjs-jquery-isonscreen. 176s Preparing to unpack .../77-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 176s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 176s Selecting previously unselected package python3-pytest-cov. 176s Preparing to unpack .../78-python3-pytest-cov_5.0.0-1_all.deb ... 176s Unpacking python3-pytest-cov (5.0.0-1) ... 176s Selecting previously unselected package python3-pytest-mock. 176s Preparing to unpack .../79-python3-pytest-mock_3.15.1-1_all.deb ... 176s Unpacking python3-pytest-mock (3.15.1-1) ... 176s Selecting previously unselected package python3-pytimeparse. 176s Preparing to unpack .../80-python3-pytimeparse_1.1.5-4_all.deb ... 176s Unpacking python3-pytimeparse (1.1.5-4) ... 176s Selecting previously unselected package python3-snowballstemmer. 176s Preparing to unpack .../81-python3-snowballstemmer_3.0.1-1_all.deb ... 176s Unpacking python3-snowballstemmer (3.0.1-1) ... 176s Selecting previously unselected package sphinx-common. 176s Preparing to unpack .../82-sphinx-common_8.2.3-1ubuntu2_all.deb ... 176s Unpacking sphinx-common (8.2.3-1ubuntu2) ... 176s Selecting previously unselected package python3-alabaster. 176s Preparing to unpack .../83-python3-alabaster_0.7.16-0.1_all.deb ... 176s Unpacking python3-alabaster (0.7.16-0.1) ... 176s Selecting previously unselected package python3-sphinx. 176s Preparing to unpack .../84-python3-sphinx_8.2.3-1ubuntu2_all.deb ... 176s Unpacking python3-sphinx (8.2.3-1ubuntu2) ... 176s Selecting previously unselected package python3-sphinx-autodoc-typehints. 176s Preparing to unpack .../85-python3-sphinx-autodoc-typehints_3.2.0-1_all.deb ... 176s Unpacking python3-sphinx-autodoc-typehints (3.2.0-1) ... 176s Selecting previously unselected package python3-sphinx-copybutton. 176s Preparing to unpack .../86-python3-sphinx-copybutton_0.5.2-3_all.deb ... 176s Unpacking python3-sphinx-copybutton (0.5.2-3) ... 176s Selecting previously unselected package python3-sphinx-issues. 176s Preparing to unpack .../87-python3-sphinx-issues_5.0.1-1_all.deb ... 176s Unpacking python3-sphinx-issues (5.0.1-1) ... 176s Selecting previously unselected package python3-tomli-w. 176s Preparing to unpack .../88-python3-tomli-w_1.2.0-1_all.deb ... 176s Unpacking python3-tomli-w (1.2.0-1) ... 176s Selecting previously unselected package tzdata-legacy. 176s Preparing to unpack .../89-tzdata-legacy_2025b-5ubuntu1_all.deb ... 176s Unpacking tzdata-legacy (2025b-5ubuntu1) ... 177s Setting up python3-dotenv (1.0.1-1) ... 177s Setting up dh-python (6.20250414) ... 177s Setting up python3-iniconfig (2.1.0-1) ... 178s Setting up python3-defusedxml (0.7.1-3) ... 178s Setting up libarchive-zip-perl (1.68-1) ... 178s Setting up python3-alabaster (0.7.16-0.1) ... 178s Setting up libdebhelper-perl (13.24.2ubuntu1) ... 178s Setting up libpython3.14-minimal:armhf (3.14.0-4) ... 178s Setting up linux-libc-dev:armhf (6.17.0-5.5) ... 178s Setting up m4 (1.4.20-2) ... 178s Setting up python3-coverage (7.8.2+dfsg1-1) ... 179s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 179s Setting up libgomp1:armhf (15.2.0-7ubuntu1) ... 179s Setting up python3-wheel (0.46.1-2) ... 179s Setting up python3-pytimeparse (1.1.5-4) ... 179s Setting up tzdata-legacy (2025b-5ubuntu1) ... 179s Setting up libdw1t64:armhf (0.194-1) ... 179s Setting up python3-roman (5.1-1) ... 180s Setting up autotools-dev (20240727.1) ... 180s Setting up rpcsvc-proto (1.4.3-1) ... 180s Setting up python3-pyproject-hooks (1.2.0-1) ... 180s Setting up python3-snowballstemmer (3.0.1-1) ... 181s Setting up libmpc3:armhf (1.3.1-2) ... 181s Setting up autopoint (0.23.2-1) ... 181s Setting up python3-installer (0.7.0+dfsg1-3) ... 181s Setting up autoconf (2.72-3.1ubuntu1) ... 181s Setting up python3-pluggy (1.6.0-1) ... 181s Setting up libubsan1:armhf (15.2.0-7ubuntu1) ... 181s Setting up dwz (0.16-2) ... 181s Setting up libcrypt-dev:armhf (1:4.4.38-1build1) ... 181s Setting up libasan8:armhf (15.2.0-7ubuntu1) ... 181s Setting up libjson-perl (4.10000-1) ... 181s Setting up debugedit (1:5.2-3) ... 181s Setting up sgml-base (1.31+nmu1) ... 182s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 182s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 182s Setting up libisl23:armhf (0.27-1) ... 182s Setting up python3-build (1.2.2-4) ... 182s Setting up libc-dev-bin (2.42-2ubuntu2) ... 182s Setting up python3-tomli-w (1.2.0-1) ... 182s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 182s Setting up python3.14-minimal (3.14.0-4) ... 184s Setting up libcc1-0:armhf (15.2.0-7ubuntu1) ... 184s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 184s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 184s Setting up python3-imagesize (1.4.1-1) ... 184s Setting up automake (1:1.18.1-2) ... 184s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 184s Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... 184s Setting up gettext (0.23.2-1) ... 184s Setting up libgcc-15-dev:armhf (15.2.0-7ubuntu1) ... 184s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 184s Setting up libpython3.14-stdlib:armhf (3.14.0-4) ... 184s Setting up pybuild-plugin-pyproject (6.20250414) ... 184s Setting up python3-pytest (8.3.5-2) ... 185s Setting up intltool-debian (0.35.0+20060710.6) ... 185s Setting up libjs-jquery-metadata (12-4) ... 185s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 185s Setting up libjs-sphinxdoc (8.2.3-1ubuntu2) ... 185s Setting up dh-strip-nondeterminism (1.15.0-1) ... 185s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 185s Setting up python3-pytest-mock (3.15.1-1) ... 186s Setting up cpp-15 (15.2.0-7ubuntu1) ... 186s Setting up cpp (4:15.2.0-4ubuntu1) ... 186s Setting up xml-core (0.19) ... 187s Setting up libc6-dev:armhf (2.42-2ubuntu2) ... 187s Setting up python3.14 (3.14.0-4) ... 187s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 187s Setting up po-debconf (1.0.21+nmu1) ... 187s Setting up python3-dataclass-wizard (0.35.1-1) ... 188s Setting up python3-all (3.13.7-2) ... 188s Setting up python3-pytest-cov (5.0.0-1) ... 188s Setting up gcc-15 (15.2.0-7ubuntu1) ... 188s Setting up libstdc++-15-dev:armhf (15.2.0-7ubuntu1) ... 188s Setting up sphinx-common (8.2.3-1ubuntu2) ... 188s Setting up libtool (2.5.4-7) ... 188s Setting up g++-15-arm-linux-gnueabihf (15.2.0-7ubuntu1) ... 188s Setting up gcc (4:15.2.0-4ubuntu1) ... 188s Setting up dh-autoreconf (21) ... 188s Setting up g++-15 (15.2.0-7ubuntu1) ... 188s Setting up g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 188s Setting up debhelper (13.24.2ubuntu1) ... 188s Setting up g++ (4:15.2.0-4ubuntu1) ... 188s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 188s Setting up build-essential (12.12ubuntu1) ... 188s Setting up pybuild-plugin-autopkgtest (6.20250414) ... 188s Processing triggers for install-info (7.2-5) ... 189s Processing triggers for libc-bin (2.42-2ubuntu2) ... 189s Processing triggers for systemd (257.9-0ubuntu2) ... 189s Processing triggers for man-db (2.13.1-1) ... 191s Processing triggers for sgml-base (1.31+nmu1) ... 191s Setting up docutils-common (0.21.2+dfsg-2) ... 191s Processing triggers for sgml-base (1.31+nmu1) ... 191s Setting up python3-docutils (0.21.2+dfsg-2) ... 192s Setting up python3-sphinx (8.2.3-1ubuntu2) ... 194s Setting up python3-sphinx-copybutton (0.5.2-3) ... 194s Setting up python3-sphinx-autodoc-typehints (3.2.0-1) ... 195s Setting up python3-sphinx-issues (5.0.1-1) ... 203s autopkgtest [11:41:24]: test pybuild-autopkgtest: pybuild-autopkgtest 203s autopkgtest [11:41:24]: test pybuild-autopkgtest: [----------------------- 206s pybuild-autopkgtest 206s I: pybuild base:311: cd /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build; python3.14 -m pytest --no-cov -k "not test_toml_wizard_methods and not test_catch_all and not test_load_with_tuple_of_dotenv_and_env_file_param_to_init and not test_load_with_dotenv_file" 207s ============================= test session starts ============================== 207s platform linux -- Python 3.14.0, pytest-8.3.5, pluggy-1.6.0 207s rootdir: /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build 207s configfile: pytest.ini 207s plugins: typeguard-4.4.2, cov-5.0.0, mock-3.15.1 207s collected 685 items / 11 deselected / 674 selected 207s 207s tests/unit/environ/test_dumpers.py::test_dump_with_excluded_fields_and_skip_defaults FAILED 207s tests/unit/environ/test_loaders.py::test_load_to_bytes PASSED 207s tests/unit/environ/test_loaders.py::test_load_to_bytearray[testing 123-expected0] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_bytearray[test-expected1] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_bytearray[input2-expected2] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_tuple_and_named_tuple PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_dataclass PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_datetime[2021-11-28T17:35:55-expected0] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_datetime[1577952245-expected1] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_datetime[input2-expected2] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_date[2021-11-28-expected0] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_date[1577952245-expected1] PASSED 208s tests/unit/environ/test_loaders.py::test_load_to_date[input2-expected2] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[device_type-devicetype] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[isACamelCasedWORD-isacamelcasedword] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[ATitledWordToTESTWith-atitledwordtotestwith] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[not-a-tester-notatester] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[helloworld-helloworld] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[A-a] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[TESTing_if_thisWorks-testingifthisworks] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[a_B_Cde_fG_hi-abcdefghi] PASSED 208s tests/unit/environ/test_lookups.py::test_clean[How_-Are-_YoUDoing__TeST-howareyoudoingtest] PASSED 208s tests/unit/environ/test_lookups.py::test_lookup_exact PASSED 208s tests/unit/environ/test_lookups.py::test_reload_when_not_accessed_cleaned_to_env PASSED 208s tests/unit/environ/test_lookups.py::test_with_snake_case PASSED 208s tests/unit/environ/test_lookups.py::test_with_pascal_or_camel_case PASSED 208s tests/unit/environ/test_wizard.py::test_load_and_dump PASSED 208s tests/unit/environ/test_wizard.py::test_load_and_dump_with_dict PASSED 208s tests/unit/environ/test_wizard.py::test_load_and_dump_with_aliases FAILED 208s tests/unit/environ/test_wizard.py::test_load_with_missing_env_variables PASSED 208s tests/unit/environ/test_wizard.py::test_load_with_parse_error 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard.bases_meta - [INFO] DEBUG Mode is enabled 208s PASSED 208s tests/unit/environ/test_wizard.py::test_load_with_parse_error_when_env_var_is_specified FAILED 208s tests/unit/environ/test_wizard.py::test_load_when_constructor_kwargs_are_passed PASSED 208s tests/unit/environ/test_wizard.py::test_init_method_declaration_is_logged_when_debug_mode_is_enabled FAILED 208s tests/unit/environ/test_wizard.py::test_load_with_tuple_of_dotenv_and_env_prefix_param_to_init PASSED 208s tests/unit/environ/test_wizard.py::test_env_prefix_with_env_file PASSED 208s tests/unit/environ/test_wizard.py::test_secrets_dir_and_override PASSED 208s tests/unit/environ/test_wizard.py::test_env_wizard_handles_nested_dataclass_field_with_multiple_input_types PASSED 208s tests/unit/test_bases_meta.py::test_merge_meta_with_or PASSED 208s tests/unit/test_bases_meta.py::test_merge_meta_with_and PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_runs_as_expected FAILED 208s tests/unit/test_bases_meta.py::test_json_key_to_field_when_add_is_a_falsy_value PASSED 208s tests/unit/test_bases_meta.py::test_meta_config_is_not_implicitly_shared_between_dataclasses PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_is_called_when_meta_is_an_inner_class PASSED 208s tests/unit/test_bases_meta.py::test_env_meta_initializer_not_called_when_meta_is_not_an_inner_class 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard.bases_meta - [WARNING] The 'test_env_meta_initializer_not_called_when_meta_is_not_an_inner_class.._' class is not declared as an Inner Class, so these are global settings that will apply to all EnvWizard sub-classes. 208s PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_not_called_when_meta_is_not_an_inner_class 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard.bases_meta - [WARNING] The 'test_meta_initializer_not_called_when_meta_is_not_an_inner_class.._' class is not declared as an Inner Class, so these are global settings that will apply to all JSONSerializable sub-classes. 208s PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_errors_when_key_transform_with_load_is_invalid PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_errors_when_key_transform_with_dump_is_invalid PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_errors_when_marshal_date_time_as_is_invalid PASSED 208s tests/unit/test_bases_meta.py::test_meta_initializer_is_noop_when_marshal_date_time_as_is_iso_format PASSED 208s tests/unit/test_dump.py::test_asdict_and_fromdict PASSED 208s tests/unit/test_dump.py::test_asdict_with_nested_dataclass PASSED 208s tests/unit/test_dump.py::test_tag_field_is_used_in_dump_process PASSED 208s tests/unit/test_dump.py::test_to_dict_key_transform_with_json_field FAILED 208s tests/unit/test_dump.py::test_to_dict_key_transform_with_json_key PASSED 208s tests/unit/test_dump.py::test_to_dict_with_skip_defaults PASSED 208s tests/unit/test_dump.py::test_to_dict_with_excluded_fields FAILED 208s tests/unit/test_dump.py::test_set[input0-expected0-expectation0] PASSED 208s tests/unit/test_dump.py::test_set[input1-expected1-expectation1] PASSED 208s tests/unit/test_dump.py::test_frozenset[input0-expected0-expectation0] PASSED 208s tests/unit/test_dump.py::test_frozenset[input1-expected1-expectation1] PASSED 208s tests/unit/test_dump.py::test_deque[input0-expected0-expectation0] PASSED 208s tests/unit/test_dump.py::test_deque[input1-expected1-expectation1] PASSED 208s tests/unit/test_dump.py::test_literal[testing-expectation0] XFAIL (s...) 208s tests/unit/test_dump.py::test_literal[e1-expectation1] XPASS (still ...) 208s tests/unit/test_dump.py::test_literal[False-expectation2] XFAIL (sti...) 208s tests/unit/test_dump.py::test_literal[0-expectation3] XPASS (still n...) 208s tests/unit/test_dump.py::test_uuid[input0-expectation0] PASSED 208s tests/unit/test_dump.py::test_uuid[input1-expectation1] PASSED 208s tests/unit/test_dump.py::test_uuid[input2-expectation2] PASSED 208s tests/unit/test_dump.py::test_uuid[input3-expectation3] PASSED 208s tests/unit/test_dump.py::test_timedelta[input0-expectation0] PASSED 208s tests/unit/test_dump.py::test_timedelta[input1-expectation1] PASSED 208s tests/unit/test_dump.py::test_timedelta[input2-expectation2] PASSED 208s tests/unit/test_dump.py::test_typed_dict[input0-expectation0] XFAIL 208s tests/unit/test_dump.py::test_typed_dict[input1-expectation1] XFAIL 208s tests/unit/test_dump.py::test_typed_dict[input2-expectation2] XPASS 208s tests/unit/test_dump.py::test_typed_dict[input3-expectation3] XFAIL 208s tests/unit/test_dump.py::test_typed_dict[input4-expectation4] XFAIL 208s tests/unit/test_dump.py::test_typed_dict[input5-expectation5] XPASS 208s tests/unit/test_dump.py::test_using_dataclass_in_dict PASSED 208s tests/unit/test_dump.py::test_bytes_and_bytes_array_are_supported PASSED 208s tests/unit/test_load.py::test_fromdict PASSED 208s tests/unit/test_load.py::test_fromdict_raises_on_unknown_json_fields 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard. - [WARNING] JSON field 'my_string' missing from dataclass schema, class=.MyClass'>, parsed field='my_string' 208s PASSED 208s tests/unit/test_load.py::test_fromdict_with_nested_dataclass PASSED 208s tests/unit/test_load.py::test_invalid_types_with_debug_mode_enabled PASSED 208s tests/unit/test_load.py::test_from_dict_called_with_incorrect_type PASSED 208s tests/unit/test_load.py::test_date_times_with_custom_pattern PASSED 208s tests/unit/test_load.py::test_date_times_with_custom_pattern_when_input_is_invalid PASSED 208s tests/unit/test_load.py::test_date_times_with_custom_pattern_when_annotation_is_invalid PASSED 208s tests/unit/test_load.py::test_tag_field_is_used_in_load_process PASSED 208s tests/unit/test_load.py::test_e2e_process_with_init_only_fields 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard. - [WARNING] JSON field 'myFloat' missing from dataclass schema, class=.MyClass'>, parsed field='my_float' 208s PASSED 208s tests/unit/test_load.py::test_bool[True-True] PASSED 208s tests/unit/test_load.py::test_bool[TrUe-True] PASSED 208s tests/unit/test_load.py::test_bool[y-True] PASSED 208s tests/unit/test_load.py::test_bool[T-True] PASSED 208s tests/unit/test_load.py::test_bool[1-True] PASSED 208s tests/unit/test_load.py::test_bool[False-False0] PASSED 208s tests/unit/test_load.py::test_bool[False-False1] PASSED 208s tests/unit/test_load.py::test_bool[testing-False] PASSED 208s tests/unit/test_load.py::test_bool[0-False] PASSED 208s tests/unit/test_load.py::test_from_dict_handles_identical_cased_json_keys PASSED 208s tests/unit/test_load.py::test_from_dict_with_missing_fields 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard. - [WARNING] JSON field 'myBool' missing from dataclass schema, class=.MyClass'>, parsed field='my_bool' 208s PASSED 208s tests/unit/test_load.py::test_from_dict_with_missing_fields_with_resolution 208s -------------------------------- live log call --------------------------------- 208s dataclass_wizard. - [WARNING] JSON field 'myBool' missing from dataclass schema, class=.MyClass'>, parsed field='my_bool' 208s PASSED 208s tests/unit/test_load.py::test_from_dict_key_transform_with_json_field FAILED 208s tests/unit/test_load.py::test_from_dict_key_transform_with_json_key PASSED 208s tests/unit/test_load.py::test_set[input0-expected0-expectation0] PASSED 208s tests/unit/test_load.py::test_set[TrUe-True-expectation1] PASSED 208s tests/unit/test_load.py::test_set[input2-expected2-expectation2] PASSED 208s tests/unit/test_load.py::test_frozenset[input0-expected0-expectation0] PASSED 208s tests/unit/test_load.py::test_frozenset[TrUe-True-expectation1] PASSED 208s tests/unit/test_load.py::test_frozenset[input2-expected2-expectation2] PASSED 208s tests/unit/test_load.py::test_literal[testing-expectation0] PASSED 208s tests/unit/test_load.py::test_literal[e1-expectation1] PASSED 208s tests/unit/test_load.py::test_literal[False-expectation2] PASSED 208s tests/unit/test_load.py::test_literal[0-expectation3] PASSED 208s tests/unit/test_load.py::test_annotated[True-True] PASSED 208s tests/unit/test_load.py::test_annotated[None-None] PASSED 208s tests/unit/test_load.py::test_annotated[TrUe-True] PASSED 208s tests/unit/test_load.py::test_annotated[y-True] PASSED 208s tests/unit/test_load.py::test_annotated[T-True] PASSED 208s tests/unit/test_load.py::test_annotated[F-False] PASSED 208s tests/unit/test_load.py::test_annotated[1-True] PASSED 208s tests/unit/test_load.py::test_annotated[False-False] PASSED 208s tests/unit/test_load.py::test_annotated[0-False] PASSED 208s tests/unit/test_load.py::test_uuid[12345678-1234-1234-1234-1234567abcde] PASSED 208s tests/unit/test_load.py::test_uuid[{12345678-1234-5678-1234-567812345678}] PASSED 208s tests/unit/test_load.py::test_uuid[12345678123456781234567812345678] PASSED 208s tests/unit/test_load.py::test_uuid[urn:uuid:12345678-1234-5678-1234-567812345678] PASSED 208s tests/unit/test_load.py::test_optional[testing-expectation0-testing] PASSED 208s tests/unit/test_load.py::test_optional[False-expectation1-False] PASSED 208s tests/unit/test_load.py::test_optional[0-expectation2-0] PASSED 208s tests/unit/test_load.py::test_optional[None-expectation3-None] PASSED 208s tests/unit/test_load.py::test_union[testing-expectation0-testing] PASSED 208s tests/unit/test_load.py::test_union[False-expectation1-False] PASSED 208s tests/unit/test_load.py::test_union[0-expectation2-0] PASSED 208s tests/unit/test_load.py::test_union[None-expectation3-None] PASSED 208s tests/unit/test_load.py::test_union[1.2-expectation4-None] PASSED 208s tests/unit/test_load.py::test_forward_refs_are_resolved PASSED 208s tests/unit/test_load.py::test_datetime[testing-expectation0] PASSED 208s tests/unit/test_load.py::test_datetime[2020-01-02T01:02:03Z-expectation1] PASSED 208s tests/unit/test_load.py::test_datetime[2010-12-31 23:59:59-04:00-expectation2] PASSED 208s tests/unit/test_load.py::test_datetime[123456789-expectation3] PASSED 208s tests/unit/test_load.py::test_datetime[True-expectation4] PASSED 208s tests/unit/test_load.py::test_datetime[input5-expectation5] PASSED 208s tests/unit/test_load.py::test_date[testing-expectation0] PASSED 208s tests/unit/test_load.py::test_date[2020-01-02-expectation1] PASSED 208s tests/unit/test_load.py::test_date[2010-12-31-expectation2] PASSED 208s tests/unit/test_load.py::test_date[123456789-expectation3] PASSED 208s tests/unit/test_load.py::test_date[True-expectation4] PASSED 208s tests/unit/test_load.py::test_date[input5-expectation5] PASSED 208s tests/unit/test_load.py::test_time[testing-expectation0] PASSED 208s tests/unit/test_load.py::test_time[01:02:03Z-expectation1] PASSED 208s tests/unit/test_load.py::test_time[23:59:59-04:00-expectation2] PASSED 208s tests/unit/test_load.py::test_time[123456789-expectation3] PASSED 208s tests/unit/test_load.py::test_time[True-expectation4] PASSED 208s tests/unit/test_load.py::test_time[input5-expectation5] PASSED 208s tests/unit/test_load.py::test_timedelta[testing-expectation0-ValueError] PASSED 208s tests/unit/test_load.py::test_timedelta[23:59:59-04:00-expectation1-ValueError] PASSED 208s tests/unit/test_load.py::test_timedelta[32-expectation2-None] PASSED 208s tests/unit/test_load.py::test_timedelta[32.7-expectation3-None] PASSED 208s tests/unit/test_load.py::test_timedelta[32m-expectation4-None] PASSED 208s tests/unit/test_load.py::test_timedelta[2h32m-expectation5-None] PASSED 208s tests/unit/test_load.py::test_timedelta[4:13-expectation6-None] PASSED 208s tests/unit/test_load.py::test_timedelta[5hr34m56s-expectation7-None] PASSED 208s tests/unit/test_load.py::test_timedelta[1.2 minutes-expectation8-None] PASSED 208s tests/unit/test_load.py::test_timedelta[12345-expectation9-None] PASSED 208s tests/unit/test_load.py::test_timedelta[True-expectation10-TypeError] PASSED 208s tests/unit/test_load.py::test_timedelta[input11-expectation11-None] PASSED 208s tests/unit/test_load.py::test_list[input0-expectation0-expected0] PASSED 208s tests/unit/test_load.py::test_list[input1-expectation1-None] PASSED 208s tests/unit/test_load.py::test_list[input2-expectation2-None] PASSED 208s tests/unit/test_load.py::test_list[input3-expectation3-None] PASSED 208s tests/unit/test_load.py::test_list[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_list[testing-expectation5-None] PASSED 208s tests/unit/test_load.py::test_deque[input0-expectation0-None] PASSED 208s tests/unit/test_load.py::test_deque[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_list_without_type_hinting[input0-expectation0-expected0] PASSED 208s tests/unit/test_load.py::test_list_without_type_hinting[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_list_without_type_hinting[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_list_without_type_hinting[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_list_without_type_hinting[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_list_without_type_hinting[testing-expectation5-expected5] PASSED 208s tests/unit/test_load.py::test_tuple[input0-expectation0-None] PASSED 208s tests/unit/test_load.py::test_tuple[input1-expectation1-None] PASSED 208s tests/unit/test_load.py::test_tuple[input2-expectation2-None] PASSED 208s tests/unit/test_load.py::test_tuple[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_tuple[testing-expectation4-None] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[input0-expectation0-None] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[input1-expectation1-None] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[input5-expectation5-expected5] PASSED 208s tests/unit/test_load.py::test_tuple_with_optional_args[testing-expectation6-None] PASSED 208s tests/unit/test_load.py::test_tuple_without_type_hinting[input0-expectation0-expected0] PASSED 208s tests/unit/test_load.py::test_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_tuple_without_type_hinting[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_tuple_without_type_hinting[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_tuple_without_type_hinting[testing-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input0-expectation0-expected0] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input2-expectation2-None] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input3-expectation3-None] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input5-expectation5-expected5] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[input6-expectation6-expected6] PASSED 208s tests/unit/test_load.py::test_tuple_with_variadic_args[testing-expectation7-None] PASSED 208s tests/unit/test_load.py::test_dict[None-expectation0-None] PASSED 208s tests/unit/test_load.py::test_dict[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_dict[input2-expectation2-None] PASSED 208s tests/unit/test_load.py::test_dict[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_dict[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_dict[input5-expectation5-None] PASSED 208s tests/unit/test_load.py::test_default_dict[None-expectation0-None] PASSED 208s tests/unit/test_load.py::test_default_dict[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_default_dict[input2-expectation2-None] PASSED 208s tests/unit/test_load.py::test_default_dict[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_default_dict[input4-expectation4-None] PASSED 208s tests/unit/test_load.py::test_default_dict[input5-expectation5-None] PASSED 208s tests/unit/test_load.py::test_dict_without_type_hinting[None-expectation0-None] PASSED 208s tests/unit/test_load.py::test_dict_without_type_hinting[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_dict_without_type_hinting[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_dict_without_type_hinting[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_dict_without_type_hinting[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_dict_without_type_hinting[input5-expectation5-None] PASSED 208s tests/unit/test_load.py::test_typed_dict[input0-expectation0-None] PASSED 208s tests/unit/test_load.py::test_typed_dict[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_typed_dict[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_typed_dict[input3-expectation3-None] PASSED 208s tests/unit/test_load.py::test_typed_dict[input4-expectation4-None] PASSED 208s tests/unit/test_load.py::test_typed_dict[input5-expectation5-expected5] PASSED 208s tests/unit/test_load.py::test_typed_dict[input6-expectation6-None] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input0-expectation0-expected0] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input3-expectation3-expected3] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input4-expectation4-expected4] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input5-expectation5-expected5] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input0-expectation0-None] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input1-expectation1-expected1] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input2-expectation2-expected2] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input3-expectation3-None] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input4-expectation4-None] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input5-expectation5-expected5] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input6-expectation6-expected6] PASSED 208s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input7-expectation7-None] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input0-expectation0-None] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input1-expectation1-expected1] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input2-expectation2-None] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input3-expectation3-expected3] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input4-expectation4-expected4] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input5-expectation5-None] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input6-expectation6-expected6] PASSED 209s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input7-expectation7-expected7] PASSED 209s tests/unit/test_load.py::test_named_tuple[input0-expectation0-None] PASSED 209s tests/unit/test_load.py::test_named_tuple[input1-expectation1-expected1] PASSED 209s tests/unit/test_load.py::test_named_tuple[input2-expectation2-None] PASSED 209s tests/unit/test_load.py::test_named_tuple[input3-expectation3-None] PASSED 209s tests/unit/test_load.py::test_named_tuple[input4-expectation4-None] PASSED 209s tests/unit/test_load.py::test_named_tuple[input5-expectation5-expected5] PASSED 209s tests/unit/test_load.py::test_named_tuple[input6-expectation6-expected6] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input0-expectation0-None] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input2-expectation2-None] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input3-expectation3-expected3] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input4-expectation4-expected4] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input5-expectation5-expected5] PASSED 209s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input6-expectation6-expected6] PASSED 209s tests/unit/test_load.py::test_optional_parser_contains[None-True] PASSED 209s tests/unit/test_load.py::test_optional_parser_contains[NoneType-False] PASSED 209s tests/unit/test_load.py::test_optional_parser_contains[hello world-True] PASSED 209s tests/unit/test_load.py::test_optional_parser_contains[123-False] PASSED 209s tests/unit/test_load.py::test_single_arg_parser_without_hook PASSED 209s tests/unit/test_load.py::test_parser_with_unsupported_type 209s -------------------------------- live log call --------------------------------- 209s dataclass_wizard.loaders - [WARNING] Using default loader, type=None 209s PASSED 209s tests/unit/test_load.py::test_load_with_inner_model_when_data_is_null PASSED 209s tests/unit/test_load.py::test_load_with_inner_model_when_data_is_wrong_type PASSED 209s tests/unit/test_load.py::test_load_with_python_3_11_regression PASSED 209s tests/unit/test_load.py::test_with_self_referential_dataclasses_1 PASSED 209s tests/unit/test_load.py::test_with_self_referential_dataclasses_2 PASSED 209s tests/unit/test_load.py::test_from_dict_with_nested_object_key_path FAILED 209s tests/unit/test_load.py::test_from_dict_with_nested_object_key_path_with_skip_defaults FAILED 209s tests/unit/test_load.py::test_auto_assign_tags_and_raise_on_unknown_json_key PASSED 209s tests/unit/test_load.py::test_auto_assign_tags_and_catch_all 209s -------------------------------- live log call --------------------------------- 209s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 209s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 209s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 209s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 209s PASSED 209s tests/unit/test_load.py::test_skip_if PASSED 209s tests/unit/test_load.py::test_skip_defaults_if PASSED 209s tests/unit/test_load.py::test_per_field_skip_if FAILED 209s tests/unit/test_load.py::test_is_truthy_and_is_falsy_conditions FAILED 209s tests/unit/test_load.py::test_skip_if_truthy_or_falsy FAILED 209s tests/unit/test_load.py::test_invalid_condition_annotation_raises_error PASSED 209s tests/unit/test_load.py::test_dataclass_in_union_when_tag_key_is_field PASSED 209s tests/unit/test_load.py::test_sequence_and_mutable_sequence_are_supported PASSED 209s tests/unit/test_load.py::test_dataclass_decorator_is_automatically_applied SKIPPED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input0-expectation0] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input1-expectation1] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input2-expectation2] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input3-expectation3] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input4-expectation4] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input5-expectation5] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input6-expectation6] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input0-expectation0] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input1-expectation1] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input2-expectation2] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input3-expectation3] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input4-expectation4] PASSED 209s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input5-expectation5] SKIPPED 209s tests/unit/test_load_with_future_import.py::test_dataclasses_in_union_types PASSED 209s tests/unit/test_load_with_future_import.py::test_dataclasses_in_union_types_with_auto_assign_tags 209s -------------------------------- live log call --------------------------------- 209s dataclass_wizard. - [WARNING] JSON field 'type' missing from dataclass schema, class=.D'>, parsed field='type' 209s dataclass_wizard. - [WARNING] JSON field 'type' missing from dataclass schema, class=.C'>, parsed field='type' 209s dataclass_wizard. - [WARNING] JSON field 'type' missing from dataclass schema, class=.A'>, parsed field='type' 209s PASSED 209s tests/unit/test_models.py::test_json_field_does_not_allow_both_default_and_default_factory PASSED 209s tests/unit/test_models.py::test_container_with_incorrect_usage PASSED 209s tests/unit/test_models.py::test_container_methods PASSED 209s tests/unit/test_parsers.py::TestLiteralParser::test_literal_parser_dunder_contains_succeeds_if_item_in_keys_of_base_type PASSED 209s tests/unit/test_parsers.py::TestLiteralParser::test_literal_parser_dunder_contains_fails_if_item_not_in_keys_of_base_type PASSED 209s tests/unit/test_property_wizard.py::test_property_wizard_does_not_affect_normal_properties PASSED 209s tests/unit/test_property_wizard.py::test_property_wizard_does_not_affect_read_only_properties PASSED 209s tests/unit/test_property_wizard.py::test_property_wizard_does_not_error_when_forward_refs_are_declared FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_field FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_field_with_or FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_field FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_annotated_field FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_private_property_and_annotated_field_with_no_useful_extras FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_multiple_inheritance FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_without_default_value FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_with_default_factory FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_without_default_or_default_factory FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_without_default_value FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_public_field_is_property FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_with_default FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_with_default_factory FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_without_default_or_default_factory FAILED 209s tests/unit/test_property_wizard.py::test_property_wizard_where_annotated_type_contains_none FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_literal_type FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_concrete_type FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_concrete_type_and_default_factory_raises_type_error FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_generic_type_which_is_not_supported FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_v1 FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_v2 FAILED 210s tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_with_parameterized_standard_collections FAILED 210s tests/unit/test_property_wizard_with_future_import.py::test_property_wizard_with_public_property_and_field_with_or PASSED 210s tests/unit/test_property_wizard_with_future_import.py::test_property_wizard_with_unresolvable_forward_ref PASSED 210s tests/unit/test_wizard_cli.py::test_call_py_code_generator_with_file_name FAILED 210s tests/unit/test_wizard_cli.py::test_call_py_code_generator_with_experimental_features FAILED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_without_subcommand usage: python3.14 -m pytest [-h] [-V] {gen-schema,gs} ... 210s 210s A companion CLI tool for the Dataclass Wizard, which simplifies interaction 210s with the Python `dataclasses` module. 210s 210s positional arguments: 210s {gen-schema,gs} Supported sub-commands 210s gen-schema (gs) Generates a Python dataclass schema, given a JSON input. 210s 210s options: 210s -h, --help show this help message and exit 210s -V, --version Display the version of this tool. 210s PASSED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_invalid_json_input PASSED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_invalid_json_type PASSED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_when_double_quotes_are_used_to_wrap_input PASSED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_mock_stdout PASSED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_output_filename_without_ext Successfully generated the Python code for the JSON schema. 210s __________________________________________________ 210s 210s Wrote out the Python Code to: /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/testing 210s Saved the JSON Input to: /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/testing.json 210s PASSED 210s tests/unit/test_wizard_cli.py::test_call_wiz_cli_when_open_raises_error PASSED 210s tests/unit/test_wizard_cli.py::test_star_wars usage: python3.14 -m pytest gen-schema [-h] [-n] [-f] [-x] 210s [in-file] [out-file] 210s python3.14 -m pytest gen-schema: error: argument out-file: can't open 'testing.py': 210s FAILED 210s tests/unit/test_wizard_cli.py::test_input_1 FAILED 210s tests/unit/test_wizard_cli.py::test_input_2 FAILED 210s tests/unit/test_wizard_cli.py::test_input_3 FAILED 210s tests/unit/test_wizard_cli.py::test_input_4 FAILED 210s tests/unit/test_wizard_cli.py::test_input_5 FAILED 210s tests/unit/test_wizard_cli.py::test_input_6 FAILED 210s tests/unit/test_wizard_cli.py::test_input_7 FAILED 210s tests/unit/test_wizard_cli.py::test_input_8 FAILED 210s tests/unit/test_wizard_mixins.py::test_json_list_wizard_methods PASSED 210s tests/unit/test_wizard_mixins.py::test_json_file_wizard_methods PASSED 210s tests/unit/test_wizard_mixins.py::test_yaml_wizard_methods PASSED 210s tests/unit/test_wizard_mixins.py::test_yaml_wizard_list_to_json PASSED 210s tests/unit/test_wizard_mixins.py::test_yaml_wizard_for_branch_coverage PASSED 210s tests/unit/test_wizard_mixins.py::test_toml_wizard_list_to_toml PASSED 210s tests/unit/test_wizard_mixins.py::test_toml_wizard_for_branch_coverage PASSED 210s tests/unit/utils/test_lazy_loader.py::test_lazy_loader_when_module_not_found PASSED 210s tests/unit/utils/test_lazy_loader.py::test_lazy_loader_with_warning PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[device_type-deviceType0] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[io_error-ioError] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[isACamelCasedWORD-isACamelCasedWORD] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[ATitledWordToTESTWith-aTitledWordToTESTWith] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[not-a-tester-notATester] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[device_type-deviceType1] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[helloworld-helloworld] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[A-a] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[TESTing_if_thisWorks-tESTingIfThisWorks] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[a_B_Cde_fG_hi-aBCdeFGHi] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[ALL_CAPS-aLLCAPS] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[WoRd-woRd] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[HIThereHOWIsItGoinG-hIThereHOWIsItGoinG] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[How_-Are-_YoUDoing__TeST-howAreYoUDoingTeST] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[thisIsWithANumber42ToTEST-thisIsWithANumber42ToTEST] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_camel_case[Number 42 With spaces-number42WithSpaces] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[device_type-DeviceType0] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[io_error-IoError] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[isACamelCasedWORD-IsACamelCasedWORD] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[ATitledWordToTESTWith-ATitledWordToTESTWith] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[not-a-tester-NotATester] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[device_type-DeviceType1] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[helloworld-Helloworld] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[A-A] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[TESTing_if_thisWorks-TESTingIfThisWorks] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[a_B_Cde_fG_hi-ABCdeFGHi] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[ALL_CAPS-ALLCAPS] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[WoRd-WoRd] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[HIThereHOWIsItGoinG-HIThereHOWIsItGoinG] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[How_-Are-_YoUDoing__TeST-HowAreYoUDoingTeST] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[thisIsWithANumber42ToTEST-ThisIsWithANumber42ToTEST] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_pascal_case[Number 42 With spaces-Number42WithSpaces] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[device_type-device-type] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[IO_Error-io-error] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[isACamelCasedWORD-is-a-camel-cased-word] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[ATitledWordToTESTWith-a-titled-word-to-test-with] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[not-a-tester-not-a-tester] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[helloworld-helloworld] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[A-a] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[TESTing_if_thisWorks-tes-ting-if-this-works] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[a_B_Cde_fG_hi-a-b-cde-f-g-hi] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[ALL_CAPS-all-caps] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[WoRd-wo-rd] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[HIThereHOWIsItGoinG-hi-there-how-is-it-goin-g] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[How_-Are-_YoUDoing__TeST-how-are-yo-u-doing-te-st] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[thisIsWithANumber42ToTEST-this-is-with-a-number42-to-test] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_lisp_case[Number 42 With spaces-number-42-with-spaces] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[device_type-device_type] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[IO_Error-io_error] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[isACamelCasedWORD-is_a_camel_cased_word] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[ATitledWordToTESTWith-a_titled_word_to_test_with] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[not-a-tester-not_a_tester] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[helloworld-helloworld] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[A-a] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[TESTing_if_thisWorks-tes_ting_if_this_works] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[a_B_Cde_fG_hi-a_b_cde_f_g_hi] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[ALL_CAPS-all_caps] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[WoRd-wo_rd] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[HIThereHOWIsItGoinG-hi_there_how_is_it_goin_g] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[How_-Are-_YoUDoing__TeST-how_are_yo_u_doing_te_st] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[thisIsWithANumber42ToTEST-this_is_with_a_number42_to_test] PASSED 210s tests/unit/utils/test_string_conv.py::test_to_snake_case[Number 42 With spaces-number_42_with_spaces] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[Literal-Literal] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[int-int] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[ClassVar-ClassVar] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[Generic-Generic0] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[Generic-Generic1] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[Union-Union] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_origin[List-list] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_args[Dict-expected0] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_args[int-expected1] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_args[Callable-expected2] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_args[Union-expected3] PASSED 210s tests/unit/utils/test_typing_compat.py::test_get_args[Union-expected4] PASSED 210s tests/unit/v1/test_loaders.py::test_missing_fields_is_raised PASSED 210s tests/unit/v1/test_loaders.py::test_auto_key_casing PASSED 210s tests/unit/v1/test_loaders.py::test_auto_key_casing_with_optional_fields PASSED 210s tests/unit/v1/test_loaders.py::test_alias_mapping FAILED 210s tests/unit/v1/test_loaders.py::test_alias_mapping_with_load_or_dump FAILED 210s tests/unit/v1/test_loaders.py::test_alias_with_multiple_mappings FAILED 210s tests/unit/v1/test_loaders.py::test_fromdict PASSED 210s tests/unit/v1/test_loaders.py::test_fromdict_raises_on_unknown_json_fields PASSED 210s tests/unit/v1/test_loaders.py::test_from_dict_raises_on_unknown_keys_nested FAILED 210s tests/unit/v1/test_loaders.py::test_from_dict_raises_on_unknown_keys_with_key_case_auto FAILED 210s tests/unit/v1/test_loaders.py::test_fromdict_with_key_case_auto PASSED 210s tests/unit/v1/test_loaders.py::test_fromdict_with_nested_dataclass PASSED 210s tests/unit/v1/test_loaders.py::test_invalid_types_with_debug_mode_enabled PASSED 210s tests/unit/v1/test_loaders.py::test_from_dict_called_with_incorrect_type PASSED 210s tests/unit/v1/test_loaders.py::test_date_times_with_custom_pattern PASSED 210s tests/unit/v1/test_loaders.py::test_date_times_with_subclass_of_time_and_plus_or_minus_in_pattern PASSED 210s tests/unit/v1/test_loaders.py::test_date_times_with_custom_pattern_when_input_is_invalid PASSED 210s tests/unit/v1/test_loaders.py::test_date_times_with_custom_pattern_when_annotation_is_invalid PASSED 211s tests/unit/v1/test_loaders.py::test_aware_and_utc_date_times_with_custom_pattern FAILED 211s tests/unit/v1/test_loaders.py::test_tag_field_is_used_in_load_process PASSED 211s tests/unit/v1/test_loaders.py::test_e2e_process_with_init_only_fields PASSED 211s tests/unit/v1/test_loaders.py::test_bool[True-True] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[TrUe-True] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[y-True] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[T-True] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[1-True] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[False-False0] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[False-False1] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[testing-False] PASSED 211s tests/unit/v1/test_loaders.py::test_bool[0-False] PASSED 211s tests/unit/v1/test_loaders.py::test_from_dict_handles_identical_cased_keys PASSED 211s tests/unit/v1/test_loaders.py::test_from_dict_with_missing_fields PASSED 211s tests/unit/v1/test_loaders.py::test_from_dict_with_missing_fields_with_resolution PASSED 211s tests/unit/v1/test_loaders.py::test_from_dict_key_transform_with_multiple_alias FAILED 211s tests/unit/v1/test_loaders.py::test_from_dict_key_transform_with_alias FAILED 211s tests/unit/v1/test_loaders.py::test_set[input0-expected0-expectation0] PASSED 211s tests/unit/v1/test_loaders.py::test_set[TrUe-True-expectation1] PASSED 211s tests/unit/v1/test_loaders.py::test_set[input2-expected2-expectation2] PASSED 211s tests/unit/v1/test_loaders.py::test_set[input3-expected3-expectation3] PASSED 211s tests/unit/v1/test_loaders.py::test_frozenset[input0-expected0-expectation0] PASSED 211s tests/unit/v1/test_loaders.py::test_frozenset[TrUe-True-expectation1] PASSED 211s tests/unit/v1/test_loaders.py::test_frozenset[input2-expected2-expectation2] PASSED 211s tests/unit/v1/test_loaders.py::test_frozenset[input3-expected3-expectation3] PASSED 211s tests/unit/v1/test_loaders.py::test_literal[testing-expectation0] PASSED 211s tests/unit/v1/test_loaders.py::test_literal[e1-expectation1] PASSED 211s tests/unit/v1/test_loaders.py::test_literal[0-expectation2] PASSED 211s tests/unit/v1/test_loaders.py::test_literal_recursive PASSED 211s tests/unit/v1/test_loaders.py::test_union_recursive PASSED 211s tests/unit/v1/test_loaders.py::test_multiple_union PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[True-True] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[None-None] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[TrUe-True] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[y-True] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[T-True] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[F-False] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[On-True] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[OFF-False] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[1-True] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[False-False] PASSED 211s tests/unit/v1/test_loaders.py::test_annotated[0-False] PASSED 211s tests/unit/v1/test_loaders.py::test_uuid[12345678-1234-1234-1234-1234567abcde] PASSED 211s tests/unit/v1/test_loaders.py::test_uuid[{12345678-1234-5678-1234-567812345678}] PASSED 211s tests/unit/v1/test_loaders.py::test_uuid[12345678123456781234567812345678] PASSED 211s tests/unit/v1/test_loaders.py::test_uuid[urn:uuid:12345678-1234-5678-1234-567812345678] PASSED 211s tests/unit/v1/test_loaders.py::test_optional[testing-expectation0-testing] PASSED 211s tests/unit/v1/test_loaders.py::test_optional[False-expectation1-False] PASSED 211s tests/unit/v1/test_loaders.py::test_optional[0-expectation2-0] PASSED 211s tests/unit/v1/test_loaders.py::test_optional[None-expectation3-None] PASSED 211s tests/unit/v1/test_loaders.py::test_union[testing-expectation0-testing] PASSED 211s tests/unit/v1/test_loaders.py::test_union[False-expectation1-False] PASSED 211s tests/unit/v1/test_loaders.py::test_union[0-expectation2-0] PASSED 211s tests/unit/v1/test_loaders.py::test_union[None-expectation3-None] PASSED 211s tests/unit/v1/test_loaders.py::test_union[1.2-expectation4-1.2] PASSED 211s tests/unit/v1/test_loaders.py::test_forward_refs_are_resolved PASSED 211s tests/unit/v1/test_loaders.py::test_datetime[testing-expectation0] PASSED 211s tests/unit/v1/test_loaders.py::test_datetime[2020-01-02T01:02:03Z-expectation1] PASSED 211s tests/unit/v1/test_loaders.py::test_datetime[2010-12-31 23:59:59-04:00-expectation2] PASSED 211s tests/unit/v1/test_loaders.py::test_datetime[123456789-expectation3] PASSED 211s tests/unit/v1/test_loaders.py::test_datetime[True-expectation4] PASSED 211s tests/unit/v1/test_loaders.py::test_datetime[input5-expectation5] PASSED 211s tests/unit/v1/test_loaders.py::test_date[testing-expectation0] PASSED 211s tests/unit/v1/test_loaders.py::test_date[2020-01-02-expectation1] PASSED 211s tests/unit/v1/test_loaders.py::test_date[2010-12-31-expectation2] PASSED 211s tests/unit/v1/test_loaders.py::test_date[123456789-expectation3] PASSED 211s tests/unit/v1/test_loaders.py::test_date[True-expectation4] PASSED 211s tests/unit/v1/test_loaders.py::test_date[input5-expectation5] PASSED 211s tests/unit/v1/test_loaders.py::test_time[testing-expectation0] PASSED 211s tests/unit/v1/test_loaders.py::test_time[01:02:03Z-expectation1] PASSED 211s tests/unit/v1/test_loaders.py::test_time[23:59:59-04:00-expectation2] PASSED 211s tests/unit/v1/test_loaders.py::test_time[123456789-expectation3] PASSED 211s tests/unit/v1/test_loaders.py::test_time[True-expectation4] PASSED 211s tests/unit/v1/test_loaders.py::test_time[input5-expectation5] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[testing-expectation0-ValueError] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[23:59:59-04:00-expectation1-ValueError] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[32-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[32.7-expectation3-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[32m-expectation4-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[2h32m-expectation5-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[4:13-expectation6-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[5hr34m56s-expectation7-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[1.2 minutes-expectation8-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[12345-expectation9-None] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[True-expectation10-TypeError] PASSED 211s tests/unit/v1/test_loaders.py::test_timedelta[input11-expectation11-None] PASSED 211s tests/unit/v1/test_loaders.py::test_list[input0-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_list[input1-expectation1-None] PASSED 211s tests/unit/v1/test_loaders.py::test_list[input2-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_list[input3-expectation3-None] PASSED 211s tests/unit/v1/test_loaders.py::test_list[input4-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_list[testing-expectation5-None] PASSED 211s tests/unit/v1/test_loaders.py::test_deque[input0-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_deque[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input0-expectation0-expected0] PASSED 211s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input2-expectation2-expected2] PASSED 211s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input3-expectation3-expected3] PASSED 211s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input4-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[testing-expectation5-expected5] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple[input0-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple[input1-expectation1-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple[input2-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple[input3-expectation3-expected3] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple[testing-expectation4-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input0-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input1-expectation1-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input2-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input3-expectation3-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input4-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input5-expectation5-expected5] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[testing-expectation6-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input0-expectation0-expected0] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input2-expectation2-expected2] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input3-expectation3-expected3] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[testing-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input0-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input2-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input3-expectation3-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input4-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input5-expectation5-expected5] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input6-expectation6-None] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input7-expectation7-expected7] PASSED 211s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[testing-expectation8-None] PASSED 211s tests/unit/v1/test_loaders.py::test_dict[None-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_dict[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_dict[input2-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_dict[input3-expectation3-expected3] PASSED 211s tests/unit/v1/test_loaders.py::test_dict[input4-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_dict[input5-expectation5-None] PASSED 211s tests/unit/v1/test_loaders.py::test_default_dict[None-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_default_dict[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_default_dict[input2-expectation2-None] PASSED 211s tests/unit/v1/test_loaders.py::test_default_dict[input3-expectation3-expected3] PASSED 211s tests/unit/v1/test_loaders.py::test_default_dict[input4-expectation4-None] PASSED 211s tests/unit/v1/test_loaders.py::test_default_dict[input5-expectation5-None] PASSED 211s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[None-expectation0-None] PASSED 211s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input1-expectation1-expected1] PASSED 211s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input2-expectation2-expected2] PASSED 211s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input3-expectation3-expected3] PASSED 211s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input4-expectation4-expected4] PASSED 211s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input5-expectation5-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input0-expectation0-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input1-expectation1-expected1] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input2-expectation2-expected2] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input3-expectation3-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input4-expectation4-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input5-expectation5-expected5] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict[input6-expectation6-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input0-expectation0-expected0] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input1-expectation1-expected1] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input2-expectation2-expected2] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input3-expectation3-expected3] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input4-expectation4-expected4] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input5-expectation5-expected5] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input0-expectation0-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input1-expectation1-expected1] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input2-expectation2-expected2] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input3-expectation3-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input4-expectation4-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input5-expectation5-expected5] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input6-expectation6-expected6] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input7-expectation7-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input0-expectation0-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input1-expectation1-expected1] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input2-expectation2-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input3-expectation3-expected3] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input4-expectation4-expected4] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input5-expectation5-None] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input6-expectation6-expected6] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input7-expectation7-expected7] PASSED 212s tests/unit/v1/test_loaders.py::test_typed_dict_recursive test_typed_dict_recursive..MyContainer(test1={'key_one': 'S1', 'key_two': {'key_one': 'S2', 'key_two': None}, 'key_four': [{'key_one': 'test', 'key_two': {'key_one': 'S5', 'key_two': {'key_one': 'S6', 'key_two': None}}}], 'key_three': {123: [{'key_one': 'S3', 'key_two': {'key_one': 'S4', 'key_two': None}, 'key_three': {}}]}}) 212s PASSED 212s tests/unit/v1/test_loaders.py::test_named_tuple[input0-expectation0-None] PASSED 212s tests/unit/v1/test_loaders.py::test_named_tuple[input1-expectation1-expected1] PASSED 212s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input0-expectation0-None] SKIPPED 212s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input1-expectation1-expected1] SKIPPED 212s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input2-expectation2-None] SKIPPED 212s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input3-expectation3-None] SKIPPED 212s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input4-expectation4-expected4] SKIPPED 212s tests/unit/v1/test_loaders.py::test_named_tuple_recursive test_named_tuple_recursive..MyContainer(test1=NT(field_one='S1', field_two=NT(field_one='S2', field_two=None, field_three={}, field_four=[]), field_three={123: [NT(field_one='S3', field_two=NT(field_one='S4', field_two=None, field_three={}, field_four=[]), field_three={}, field_four=[])]}, field_four=[NT(field_one='test', field_two=NT(field_one='S5', field_two=NT(field_one='S6', field_two=None, field_three={}, field_four=[]), field_three={}, field_four=[]), field_three={}, field_four=[])])) 212s PASSED 212s tests/unit/v1/test_loaders.py::test_named_tuple_without_type_hinting[input0-expectation0-expected0] PASSED 212s tests/unit/v1/test_loaders.py::test_named_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 212s tests/unit/v1/test_loaders.py::test_named_tuple_without_type_hinting[input2-expectation2-expected2] PASSED 212s tests/unit/v1/test_loaders.py::test_load_with_inner_model_when_data_is_null PASSED 212s tests/unit/v1/test_loaders.py::test_load_with_inner_model_when_data_is_wrong_type PASSED 212s tests/unit/v1/test_loaders.py::test_load_with_python_3_11_regression PASSED 212s tests/unit/v1/test_loaders.py::test_with_self_referential_dataclasses_1 PASSED 212s tests/unit/v1/test_loaders.py::test_with_self_referential_dataclasses_2 PASSED 212s tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path FAILED 212s tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path_with_skip_defaults FAILED 212s tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path_with_dump_alias_and_skip FAILED 212s tests/unit/v1/test_loaders.py::test_from_dict_with_multiple_nested_object_alias_paths FAILED 212s tests/unit/v1/test_loaders.py::test_auto_assign_tags_and_raise_on_unknown_keys PASSED 212s tests/unit/v1/test_loaders.py::test_auto_assign_tags_and_catch_all PASSED 212s tests/unit/v1/test_loaders.py::test_skip_if PASSED 212s tests/unit/v1/test_loaders.py::test_skip_defaults_if PASSED 212s tests/unit/v1/test_loaders.py::test_per_field_skip_if FAILED 212s tests/unit/v1/test_loaders.py::test_is_truthy_and_is_falsy_conditions FAILED 212s tests/unit/v1/test_loaders.py::test_skip_if_truthy_or_falsy FAILED 212s tests/unit/v1/test_loaders.py::test_invalid_condition_annotation_raises_error PASSED 212s tests/unit/v1/test_loaders.py::test_dataclass_in_union_when_tag_key_is_field PASSED 212s tests/unit/v1/test_loaders.py::test_sequence_and_mutable_sequence_are_supported PASSED 212s tests/unit/v1/test_loaders.py::test_dataclass_decorator_is_automatically_applied SKIPPED 212s tests/unit/v1/test_loaders.py::test_bytes_and_bytes_array_are_supported PASSED 212s tests/unit/v1/test_loaders.py::test_literal_string PASSED 212s tests/unit/v1/test_loaders.py::test_decimal PASSED 212s tests/unit/v1/test_loaders.py::test_path 212s -------------------------------- live log call --------------------------------- 212s dataclass_wizard.dumpers - [WARNING] Using default dumper, object=PosixPath('a/b/c'), type= 212s PASSED 212s tests/unit/v1/test_loaders.py::test_none PASSED 212s tests/unit/v1/test_loaders.py::test_enum PASSED 212s tests/unit/v1/test_loaders.py::test_str_and_int_enum PASSED 212s tests/unit/v1/test_union_as_type_alias_recursive.py::test_union_as_type_alias_recursive PASSED 212s 212s =================================== FAILURES =================================== 212s _______________ test_dump_with_excluded_fields_and_skip_defaults _______________ 212s 212s def test_dump_with_excluded_fields_and_skip_defaults(): 212s 212s os.environ['MY_FIRST_STR'] = 'hello' 212s os.environ['my-second-str'] = 'world' 212s 212s > class TestClass(EnvWizard, reload_env=True): 212s 212s tests/unit/environ/test_dumpers.py:11: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/environ/test_dumpers.py:13: in TestClass 212s my_second_str: str = json_field(..., dump=False) 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeba660b8> 212s keys = Ellipsis, all = False, dump = False 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s _______________________ test_load_and_dump_with_aliases ________________________ 212s 212s def test_load_and_dump_with_aliases(): 212s """ 212s Example with fields that are aliased to differently-named env variables 212s in the Environment. 212s """ 212s 212s os.environ.update({ 212s 'hello_world': 'Test', 212s 'MY_TEST_VALUE123': '11', 212s 'the_number': '42', 212s 'my_list': '3, 2, 1,0', 212s 'My_Other_List': 'rob@test.org, this@email.com , hello-world_123@tst.org,z@ab.c' 212s }) 212s 212s > class MyClass(EnvWizard, reload_env=True): 212s 212s tests/unit/environ/test_wizard.py:143: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/environ/test_wizard.py:150: in MyClass 212s my_str: str = env_field(('the_string', 'hello_world')) 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb738148> 212s keys = ('the_string', 'hello_world'), all = False, dump = True 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s _____________ test_load_with_parse_error_when_env_var_is_specified _____________ 212s 212s def test_load_with_parse_error_when_env_var_is_specified(): 212s """ 212s Raising `ParseError` when a dataclass field to env var mapping is 212s specified. Added for code coverage. 212s """ 212s 212s os.environ.update(MY_STR='abc') 212s 212s > class MyClass(EnvWizard, reload_env=True): 212s 212s tests/unit/environ/test_wizard.py:248: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/environ/test_wizard.py:252: in MyClass 212s a_string: int = env_field('MY_STR') 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb47db20> 212s keys = 'MY_STR', all = False, dump = True 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s ______ test_init_method_declaration_is_logged_when_debug_mode_is_enabled _______ 212s 212s mock_debug_log = <_pytest.logging.LogCaptureFixture object at 0xeb1888d0> 212s 212s def test_init_method_declaration_is_logged_when_debug_mode_is_enabled(mock_debug_log): 212s 212s > class _EnvSettings(EnvWizard): 212s 212s tests/unit/environ/test_wizard.py:431: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/environ/test_wizard.py:437: in _EnvSettings 212s auth_key: str = env_field('my_auth_key') 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb490a48> 212s keys = 'my_auth_key', all = False, dump = True 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s ____________________ test_meta_initializer_runs_as_expected ____________________ 212s 212s mock_log = <_pytest.logging.LogCaptureFixture object at 0xeb5b7450> 212s 212s def test_meta_initializer_runs_as_expected(mock_log): 212s """ 212s Optional flags passed in when subclassing :class:`JSONWizard.Meta` 212s are correctly applied as expected. 212s """ 212s 212s @dataclass 212s class MyClass(JSONWizard): 212s 212s class Meta(JSONWizard.Meta): 212s debug_enabled = True 212s json_key_to_field = { 212s '__all__': True, 212s 'my_json_str': 'myCustomStr', 212s 'anotherJSONField': 'myCustomStr' 212s } 212s marshal_date_time_as = DateTimeTo.TIMESTAMP 212s key_transform_with_load = 'Camel' 212s key_transform_with_dump = LetterCase.SNAKE 212s 212s myStr: Optional[str] 212s myCustomStr: str 212s myDate: date 212s listOfInt: List[int] = field(default_factory=list) 212s isActive: bool = False 212s myDt: Optional[datetime] = None 212s 212s > assert 'DEBUG Mode is enabled' in mock_log.text 212s E AssertionError: assert 'DEBUG Mode is enabled' in '' 212s E + where '' = <_pytest.logging.LogCaptureFixture object at 0xeb5b7450>.text 212s 212s tests/unit/test_bases_meta.py:154: AssertionError 212s __________________ test_to_dict_key_transform_with_json_field __________________ 212s 212s def test_to_dict_key_transform_with_json_field(): 212s """ 212s Specifying a custom mapping of JSON key to dataclass field, via the 212s `json_field` helper function. 212s """ 212s 212s @dataclass 212s > class MyClass(JSONSerializable): 212s 212s tests/unit/test_dump.py:173: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_dump.py:174: in MyClass 212s my_str: str = json_field('myCustomStr', all=True) 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb9a4340> 212s keys = 'myCustomStr', all = True, dump = True 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s ______________________ test_to_dict_with_excluded_fields _______________________ 212s 212s def test_to_dict_with_excluded_fields(): 212s """ 212s Excluding dataclass fields from the serialization process works 212s as expected. 212s """ 212s 212s @dataclass 212s > class MyClass(JSONWizard): 212s 212s tests/unit/test_dump.py:246: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_dump.py:250: in MyClass 212s my_bool: bool = json_field('TestBool', dump=False) 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb9a42f8> 212s keys = 'TestBool', all = False, dump = False 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s _________________ test_from_dict_key_transform_with_json_field _________________ 212s 212s def test_from_dict_key_transform_with_json_field(): 212s """ 212s Specifying a custom mapping of JSON key to dataclass field, via the 212s `json_field` helper function. 212s """ 212s 212s @dataclass 212s > class MyClass(JSONSerializable): 212s 212s tests/unit/test_load.py:540: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_load.py:541: in MyClass 212s my_str: str = json_field('myCustomStr') 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:65: in json_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb617340> 212s keys = 'myCustomStr', all = False, dump = True 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = False 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s __________________ test_from_dict_with_nested_object_key_path __________________ 212s 212s def test_from_dict_with_nested_object_key_path(): 212s """ 212s Specifying a custom mapping of "nested" JSON key to dataclass field, 212s via the `KeyPath` and `path_field` helper functions. 212s """ 212s 212s @dataclass 212s > class A(JSONWizard): 212s 212s tests/unit/test_load.py:2037: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_load.py:2040: in A 212s my_str: str = path_field(['a', 'b', 'c', -1], default='xyz') 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:311: in path_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb34ac40> 212s keys = ['a', 'b', 'c', -1], all = True, dump = True, default = 'xyz' 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = True 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s ________ test_from_dict_with_nested_object_key_path_with_skip_defaults _________ 212s 212s def test_from_dict_with_nested_object_key_path_with_skip_defaults(): 212s """ 212s Specifying a custom mapping of "nested" JSON key to dataclass field, 212s via the `KeyPath` and `path_field` helper functions. 212s 212s Test with `skip_defaults=True` and `dump=False`. 212s """ 212s 212s @dataclass 212s > class A(JSONWizard): 212s 212s tests/unit/test_load.py:2126: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_load.py:2133: in A 212s other_bool: bool = path_field('x.y."z z"', default=True) 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:311: in path_field 212s return JSONField(keys, all, dump, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.models.JSONField' object has no attribute 'name'") raised in repr()] JSONField object at 0xeb79b220> 212s keys = 'x.y."z z"', all = True, dump = True, default = True 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, path = True 212s 212s def __init__(self, keys, all: bool, dump: bool, 212s default, default_factory, init, repr, hash, compare, 212s metadata, path: bool = False): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, False) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:103: TypeError 212s ____________________________ test_per_field_skip_if ____________________________ 212s 212s def test_per_field_skip_if(): 212s """ 212s Test per-field `skip_if` functionality, with the ``SkipIf`` 212s condition in type annotation, and also specified in 212s ``skip_if_field()`` which wraps ``dataclasses.Field``. 212s """ 212s @dataclass 212s > class Example(JSONWizard): 212s 212s tests/unit/test_load.py:2358: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_load.py:2364: in Example 212s third_str: 'str | None' = skip_if_field(EQ(''), default=None) 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s condition = 212s 212s def skip_if_field(condition, *, default=MISSING, default_factory=MISSING, init=True, repr=True, 212s hash=None, compare=True, metadata=None, kw_only=MISSING): 212s 212s if default is not MISSING and default_factory is not MISSING: 212s raise ValueError('cannot specify both default and default_factory') 212s 212s if metadata is None: 212s metadata = {} 212s 212s metadata['__skip_if__'] = condition 212s 212s > return Field(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:331: TypeError 212s ____________________ test_is_truthy_and_is_falsy_conditions ____________________ 212s 212s def test_is_truthy_and_is_falsy_conditions(): 212s """ 212s Test both IS_TRUTHY and IS_FALSY conditions within a single test case. 212s """ 212s 212s # Define the Example class within the test case and apply the conditions 212s @dataclass 212s > class Example(JSONPyWizard): 212s 212s tests/unit/test_load.py:2393: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_load.py:2395: in Example 212s my_bool: bool = skip_if_field(IS_FALSY()) # Skip if falsy 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s condition = 212s 212s def skip_if_field(condition, *, default=MISSING, default_factory=MISSING, init=True, repr=True, 212s hash=None, compare=True, metadata=None, kw_only=MISSING): 212s 212s if default is not MISSING and default_factory is not MISSING: 212s raise ValueError('cannot specify both default and default_factory') 212s 212s if metadata is None: 212s metadata = {} 212s 212s metadata['__skip_if__'] = condition 212s 212s > return Field(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:331: TypeError 212s _________________________ test_skip_if_truthy_or_falsy _________________________ 212s 212s def test_skip_if_truthy_or_falsy(): 212s """ 212s Test skip if condition is truthy or falsy for individual fields. 212s """ 212s 212s # Use of SkipIf with IS_TRUTHY 212s @dataclass 212s > class SkipExample(JSONWizard): 212s 212s tests/unit/test_load.py:2420: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/test_load.py:2422: in SkipExample 212s my_bool: bool = skip_if_field(IS_FALSY()) 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s condition = 212s 212s def skip_if_field(condition, *, default=MISSING, default_factory=MISSING, init=True, repr=True, 212s hash=None, compare=True, metadata=None, kw_only=MISSING): 212s 212s if default is not MISSING and default_factory is not MISSING: 212s raise ValueError('cannot specify both default and default_factory') 212s 212s if metadata is None: 212s metadata = {} 212s 212s metadata['__skip_if__'] = condition 212s 212s > return Field(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:331: TypeError 212s ______ test_property_wizard_does_not_error_when_forward_refs_are_declared ______ 212s 212s def test_property_wizard_does_not_error_when_forward_refs_are_declared(): 212s """ 212s Using `property_wizard` when the dataclass has a forward reference 212s defined in a type annotation. 212s 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s fire_truck: 'Truck' 212s cars: List['Car'] = field(default_factory=list) 212s 212s _wheels: Union[int, str] = 4 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s @dataclass 212s class Car: 212s tires: int 212s 212s @dataclass 212s class Truck: 212s color: str 212s 212s truck = Truck('red') 212s 212s v = Vehicle(fire_truck=truck) 212s log.debug(v) 212s assert v.wheels == 4 212s 212s > v = Vehicle(fire_truck=truck, wheels=3) 212s E TypeError: test_property_wizard_does_not_error_when_forward_refs_are_declared..Vehicle.__init__() got an unexpected keyword argument 'wheels'. Did you mean '_wheels'? 212s 212s tests/unit/test_property_wizard.py:135: TypeError 212s _______ test_property_wizard_with_public_property_and_underscored_field ________ 212s 212s def test_property_wizard_with_public_property_and_underscored_field(): 212s """ 212s Using `property_wizard` when the dataclass has an public property and an 212s underscored field name. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s _wheels: Union[int, str] = 4 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s v = Vehicle() 212s log.debug(v) 212s assert v.wheels == 4 212s 212s # Note that my IDE complains here, and suggests `_wheels` as a possible 212s # keyword argument to the constructor method; however, that's wrong and 212s # will error if you try it way. 212s > v = Vehicle(wheels=3) 212s E TypeError: test_property_wizard_with_public_property_and_underscored_field..Vehicle.__init__() got an unexpected keyword argument 'wheels'. Did you mean '_wheels'? 212s 212s tests/unit/test_property_wizard.py:172: TypeError 212s _____________ test_property_wizard_with_public_property_and_field ______________ 212s 212s def test_property_wizard_with_public_property_and_field(): 212s """ 212s Using `property_wizard` when the dataclass has both a property and field 212s name *without* a leading underscore. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # The value of `wheels` here will be ignored, since `wheels` is simply 212s # re-assigned on the following property definition. 212s wheels: Union[int, str] = 4 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s 212s tests/unit/test_property_wizard.py:204: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'Vehicle' object has no attribute '_wheels'") raised in repr()] Vehicle object at 0xeb386030> 212s wheels = 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s > self._wheels = int(wheels) 212s E TypeError: int() argument must be a string, a bytes-like object or a real number, not 'property' 212s 212s tests/unit/test_property_wizard.py:202: TypeError 212s _________ test_property_wizard_with_public_property_and_field_with_or __________ 212s 212s @pytest.mark.skipif(not PY310_OR_ABOVE, reason='requires Python 3.10 or higher') 212s def test_property_wizard_with_public_property_and_field_with_or(): 212s """ 212s Using `property_wizard` when the dataclass has both a property and field 212s name *without* a leading underscore, and using the OR ("|") operator in 212s Python 3.10+, instead of the `typing.Union` usage. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # The value of `wheels` here will be ignored, since `wheels` is simply 212s # re-assigned on the following property definition. 212s wheels: int | str = 4 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s 212s tests/unit/test_property_wizard.py:242: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'Vehicle' object has no attribute '_wheels'") raised in repr()] Vehicle object at 0xeb3863c8> 212s wheels = 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s > self._wheels = int(wheels) 212s E TypeError: int() argument must be a string, a bytes-like object or a real number, not 'property' 212s 212s tests/unit/test_property_wizard.py:240: TypeError 212s _______ test_property_wizard_with_underscored_property_and_public_field ________ 212s 212s def test_property_wizard_with_underscored_property_and_public_field(): 212s """ 212s Using `property_wizard` when the dataclass has an underscored property and 212s a public field name. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: Union[int, str] = 4 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s v = Vehicle() 212s log.debug(v) 212s assert v.wheels == 4 212s 212s v = Vehicle(wheels=3) 212s log.debug(v) 212s assert v.wheels == 3 212s 212s v = Vehicle('6') 212s log.debug(v) 212s > assert v.wheels == 6, 'The constructor should use our setter method' 212s E AssertionError: The constructor should use our setter method 212s E assert '6' == 6 212s E + where '6' = test_property_wizard_with_underscored_property_and_public_field..Vehicle(wheels='6').wheels 212s 212s tests/unit/test_property_wizard.py:286: AssertionError 212s ___________ test_property_wizard_with_underscored_property_and_field ___________ 212s 212s def test_property_wizard_with_underscored_property_and_field(): 212s """ 212s Using `property_wizard` when the dataclass has both a property and field 212s name with a leading underscore. 212s 212s Note: this approach is generally *not* recommended, because the IDE won't 212s know that the property or field name will be transformed to a public field 212s name without the leading underscore, so it won't offer the desired type 212s hints and auto-completion here. 212s 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # The value of `_wheels` here will be ignored, since `_wheels` is 212s # simply re-assigned on the following property definition. 212s _wheels: Union[int, str] = 4 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s 212s tests/unit/test_property_wizard.py:318: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[RecursionError('maximum recursion depth exceeded') raised in repr()] Vehicle object at 0xeb3865f0> 212s wheels = 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s > self._wheels = int(wheels) 212s E TypeError: int() argument must be a string, a bytes-like object or a real number, not 'property' 212s 212s tests/unit/test_property_wizard.py:316: TypeError 212s ________ test_property_wizard_with_public_property_and_annotated_field _________ 212s 212s def test_property_wizard_with_public_property_and_annotated_field(): 212s """ 212s Using `property_wizard` when the dataclass has both a property and field 212s name *without* a leading underscore, and the field is a 212s :class:`typing.Annotated` type. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # The value of `wheels` here will be ignored, since `wheels` is simply 212s # re-assigned on the following property definition. 212s wheels: Annotated[Union[int, str], field(default=4)] = None 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s 212s tests/unit/test_property_wizard.py:358: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'Vehicle' object has no attribute '_wheels'") raised in repr()] Vehicle object at 0xeb3866a8> 212s wheels = 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s > self._wheels = int(wheels) 212s E TypeError: int() argument must be a string, a bytes-like object or a real number, not 'property' 212s 212s tests/unit/test_property_wizard.py:356: TypeError 212s _ test_property_wizard_with_private_property_and_annotated_field_with_no_useful_extras _ 212s 212s def test_property_wizard_with_private_property_and_annotated_field_with_no_useful_extras(): 212s """ 212s Using `property_wizard` when the dataclass has both a property and field 212s name with a leading underscore, and the field is a 212s :class:`typing.Annotated` type without any extras that are a 212s :class:`dataclasses.Field` type. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # The value of `wheels` here will be ignored, since `wheels` is simply 212s # re-assigned on the following property definition. 212s _wheels: Annotated[Union[int, str], 'Hello world!', 123] = None 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s 212s tests/unit/test_property_wizard.py:396: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[RecursionError('maximum recursion depth exceeded') raised in repr()] Vehicle object at 0xeb386760> 212s wheels = 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s > self._wheels = int(wheels) 212s E TypeError: int() argument must be a string, a bytes-like object or a real number, not 'property' 212s 212s tests/unit/test_property_wizard.py:394: TypeError 212s ________________ test_property_wizard_with_multiple_inheritance ________________ 212s 212s def test_property_wizard_with_multiple_inheritance(): 212s """ 212s When using multiple inheritance or when extending from more than one 212s class, and if any of the super classes define properties that should also 212s be `dataclass` fields, then the recommended approach is to define the 212s `property_wizard` metaclass on each class that has such properties. Note 212s that the last class in the below example (Car) doesn't need to use this 212s metaclass, as it doesn't have any properties that meet this condition. 212s 212s """ 212s @dataclass 212s class VehicleWithWheels(metaclass=property_wizard): 212s _wheels: Union[int, str] = field(default=4) 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s @dataclass 212s class Vehicle(VehicleWithWheels, metaclass=property_wizard): 212s _windows: Union[int, str] = field(default=6) 212s 212s @property 212s def windows(self) -> int: 212s return self._windows 212s 212s @windows.setter 212s def windows(self, windows: Union[int, str]): 212s self._windows = int(windows) 212s 212s @dataclass 212s class Car(Vehicle): 212s my_list: List[str] = field(default_factory=list) 212s 212s v = Car() 212s log.debug(v) 212s assert v.wheels == 4 212s assert v.windows == 6 212s assert v.my_list == [] 212s 212s # Note that my IDE complains here, and suggests `_wheels` as a possible 212s # keyword argument to the constructor method; however, that's wrong and 212s # will error if you try it way. 212s > v = Car(wheels=3, windows=5, my_list=['hello', 'world']) 212s E TypeError: test_property_wizard_with_multiple_inheritance..Car.__init__() got an unexpected keyword argument 'wheels'. Did you mean '_wheels'? 212s 212s tests/unit/test_property_wizard.py:459: TypeError 212s _ test_property_wizard_with_public_property_and_underscored_field_without_default_value _ 212s 212s def test_property_wizard_with_public_property_and_underscored_field_without_default_value(): 212s """ 212s Using `property_wizard` when the dataclass has a public property, and an 212s underscored field *without* a default value explicitly set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s _wheels: Union[int, str] 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s E TypeError: test_property_wizard_with_public_property_and_underscored_field_without_default_value..Vehicle.__init__() missing 1 required positional argument: '_wheels' 212s 212s tests/unit/test_property_wizard.py:497: TypeError 212s _ test_property_wizard_with_public_property_and_underscored_field_with_default_factory _ 212s 212s def test_property_wizard_with_public_property_and_underscored_field_with_default_factory(): 212s """ 212s Using `property_wizard` when the dataclass has a public property, and an 212s underscored field has only `default_factory` set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s _wheels: Union[int, str] = field(default_factory=str) 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > with pytest.raises(ValueError): 212s E Failed: DID NOT RAISE 212s 212s tests/unit/test_property_wizard.py:531: Failed 212s _ test_property_wizard_with_public_property_and_underscored_field_without_default_or_default_factory _ 212s 212s def test_property_wizard_with_public_property_and_underscored_field_without_default_or_default_factory(): 212s """ 212s Using `property_wizard` when the dataclass has a public property, and an 212s underscored field has neither `default` or `default_factory` set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s _wheels: Union[int, str] = field() 212s 212s @property 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s E TypeError: test_property_wizard_with_public_property_and_underscored_field_without_default_or_default_factory..Vehicle.__init__() missing 1 required positional argument: '_wheels' 212s 212s tests/unit/test_property_wizard.py:565: TypeError 212s _ test_property_wizard_with_underscored_property_and_public_field_without_default_value _ 212s 212s def test_property_wizard_with_underscored_property_and_public_field_without_default_value(): 212s """ 212s Using `property_wizard` when the dataclass has an underscored property, 212s and a public field *without* a default value explicitly set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: Union[int, str] 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s E TypeError: test_property_wizard_with_underscored_property_and_public_field_without_default_value..Vehicle.__init__() missing 1 required positional argument: 'wheels' 212s 212s tests/unit/test_property_wizard.py:599: TypeError 212s ____ test_property_wizard_with_public_property_and_public_field_is_property ____ 212s 212s def test_property_wizard_with_public_property_and_public_field_is_property(): 212s """ 212s Using `property_wizard` when the dataclass has an underscored property, 212s and a public field is also defined as a property. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # The value of `wheels` here will be ignored, since `wheels` is simply 212s # re-assigned on the following property definition. 212s wheels = property 212s # Defines the default value for `wheels`, since it won't work if we 212s # define it above. The `init=False` is needed since otherwise IDEs 212s # seem to suggest `_wheels` as a parameter to the constructor method, 212s # which shouldn't be the case. 212s # 212s # Note: if are *ok* with the default value for the type (0 in this 212s # case), then you can remove the below line and annotate the above 212s # line instead as `wheels: Union[int, str] = property` 212s _wheels: Union[int, str] = field(default=4, init=False) 212s 212s @wheels 212s def wheels(self) -> int: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s v = Vehicle() 212s log.debug(v) 212s assert v.wheels == 4 212s 212s > v = Vehicle(wheels=3) 212s E TypeError: test_property_wizard_with_public_property_and_public_field_is_property..Vehicle.__init__() got an unexpected keyword argument 'wheels' 212s 212s tests/unit/test_property_wizard.py:648: TypeError 212s _ test_property_wizard_with_underscored_property_and_public_field_with_default _ 212s 212s def test_property_wizard_with_underscored_property_and_public_field_with_default(): 212s """ 212s Using `property_wizard` when the dataclass has an underscored property, 212s and the public field has `default` set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: Union[int, str] = field(default=2) 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s v = Vehicle() 212s log.debug(v) 212s assert v.wheels == 2 212s 212s v = Vehicle(wheels=3) 212s log.debug(v) 212s assert v.wheels == 3 212s 212s v = Vehicle('6') 212s log.debug(v) 212s > assert v.wheels == 6, 'The constructor should use our setter method' 212s E AssertionError: The constructor should use our setter method 212s E assert '6' == 6 212s E + where '6' = test_property_wizard_with_underscored_property_and_public_field_with_default..Vehicle(wheels='6').wheels 212s 212s tests/unit/test_property_wizard.py:688: AssertionError 212s _ test_property_wizard_with_underscored_property_and_public_field_with_default_factory _ 212s 212s def test_property_wizard_with_underscored_property_and_public_field_with_default_factory(): 212s """ 212s Using `property_wizard` when the dataclass has an underscored property, 212s and the public field has only `default_factory` set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: Union[int, str] = field(default_factory=str) 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > with pytest.raises(ValueError): 212s E Failed: DID NOT RAISE 212s 212s tests/unit/test_property_wizard.py:712: Failed 212s _ test_property_wizard_with_underscored_property_and_public_field_without_default_or_default_factory _ 212s 212s def test_property_wizard_with_underscored_property_and_public_field_without_default_or_default_factory(): 212s """ 212s Using `property_wizard` when the dataclass has an underscored property, 212s and the public field has neither `default` or `default_factory` set. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: Union[int, str] = field() 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s E TypeError: test_property_wizard_with_underscored_property_and_public_field_without_default_or_default_factory..Vehicle.__init__() missing 1 required positional argument: 'wheels' 212s 212s tests/unit/test_property_wizard.py:746: TypeError 212s ___________ test_property_wizard_where_annotated_type_contains_none ____________ 212s 212s def test_property_wizard_where_annotated_type_contains_none(): 212s """ 212s Using `property_wizard` when the annotated type for the dataclass field 212s associated with a property is here a :class:`Union` type that contains 212s `None`. As such, the field is technically an `Optional` so the default 212s value will be `None` if no value is specified via the constructor. 212s 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: Union[int, str, None] 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s # TypeError: int() argument is `None` 212s with pytest.raises(TypeError): 212s _ = Vehicle() 212s 212s v = Vehicle(wheels=3) 212s log.debug(v) 212s assert v.wheels == 3 212s 212s v = Vehicle('6') 212s log.debug(v) 212s > assert v.wheels == 6, 'The constructor should use our setter method' 212s E AssertionError: The constructor should use our setter method 212s E assert '6' == 6 212s E + where '6' = test_property_wizard_where_annotated_type_contains_none..Vehicle(wheels='6').wheels 212s 212s tests/unit/test_property_wizard.py:793: AssertionError 212s ____________________ test_property_wizard_with_literal_type ____________________ 212s 212s def test_property_wizard_with_literal_type(): 212s """ 212s Using `property_wizard` when the dataclass field associated with a 212s property is annotated with a :class:`Literal` type. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # Annotate `wheels` as a literal that should only be set to 1 or 0 212s # (similar to how the binary numeral system works, for example) 212s # 212s # Note: we can assign a default value for `wheels` explicitly, so that 212s # the IDE doesn't complain when we omit the argument to the 212s # constructor method, but it's technically not required. 212s wheels: Literal[1, '1', 0, '0'] 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s E TypeError: test_property_wizard_with_literal_type..Vehicle.__init__() missing 1 required positional argument: 'wheels' 212s 212s tests/unit/test_property_wizard.py:823: TypeError 212s ___________________ test_property_wizard_with_concrete_type ____________________ 212s 212s def test_property_wizard_with_concrete_type(): 212s """ 212s Using `property_wizard` when the dataclass field associated with a 212s property is annotated with a non-generic type, such as a `str` or `int`. 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: int 212s 212s @property 212s def _wheels(self) -> int: 212s return self._wheels 212s 212s @_wheels.setter 212s def _wheels(self, wheels: Union[int, str]): 212s self._wheels = int(wheels) 212s 212s > v = Vehicle() 212s E TypeError: test_property_wizard_with_concrete_type..Vehicle.__init__() missing 1 required positional argument: 'wheels' 212s 212s tests/unit/test_property_wizard.py:860: TypeError 212s _ test_property_wizard_with_concrete_type_and_default_factory_raises_type_error _ 212s 212s def test_property_wizard_with_concrete_type_and_default_factory_raises_type_error(): 212s """ 212s Using `property_wizard` when the dataclass field associated with a 212s property is annotated with a non-generic type, such as a `datetime`, which 212s doesn't have a no-args constructor. Since `property_wizard` is not able to 212s instantiate a new `datetime`, the default value should be ``None``. 212s 212s """ 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s # Date when the vehicle was sold 212s sold_dt: datetime 212s 212s @property 212s def _sold_dt(self) -> int: 212s return self._sold_dt 212s 212s @_sold_dt.setter 212s def _sold_dt(self, sold_dt: datetime): 212s """Save the datetime with the year set to `2010`""" 212s self._sold_dt = sold_dt.replace(year=2010) 212s 212s # AttributeError: 'NoneType' object has no attribute 'replace' 212s with pytest.raises(AttributeError): 212s > _ = Vehicle() 212s E TypeError: test_property_wizard_with_concrete_type_and_default_factory_raises_type_error..Vehicle.__init__() missing 1 required positional argument: 'sold_dt' 212s 212s tests/unit/test_property_wizard.py:901: TypeError 212s ________ test_property_wizard_with_generic_type_which_is_not_supported _________ 212s 212s def test_property_wizard_with_generic_type_which_is_not_supported(): 212s """ 212s Using `property_wizard` when the dataclass field associated with a 212s property is annotated with a generic type other than one of the supported 212s types (e.g. Literal and Union). 212s 212s """ 212s 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s # Date when the vehicle was sold 212s sold_dt: ClassVar[datetime] 212s 212s @property 212s def _sold_dt(self) -> int: 212s return self._sold_dt 212s 212s @_sold_dt.setter 212s def _sold_dt(self, sold_dt: datetime): 212s """Save the datetime with the year set to `2010`""" 212s self._sold_dt = sold_dt.replace(year=2010) 212s 212s v = Vehicle() 212s log.debug(v) 212s 212s dt = datetime(2020, 1, 1, 12, 0, 0) # Jan. 1 2020 12:00 PM 212s expected_dt = datetime(2010, 1, 1, 12, 0, 0) # Jan. 1 2010 12:00 PM 212s 212s # TypeError: __init__() got an unexpected keyword argument 'sold_dt' 212s # Note: This is expected because the field for the property is a 212s # `ClassVar`, and even `dataclasses` excludes this annotated type 212s # from the constructor. 212s with pytest.raises(TypeError): 212s _ = Vehicle(sold_dt=dt) 212s 212s # Our property should still work as expected, however 212s v.sold_dt = dt 212s > assert v.sold_dt == expected_dt, 'Expected assignment to use the setter ' \ 212s 'method' 212s E AssertionError: Expected assignment to use the setter method 212s E assert datetime.datetime(2020, 1, 1, 12, 0) == datetime.datetime(2010, 1, 1, 12, 0) 212s E + where datetime.datetime(2020, 1, 1, 12, 0) = test_property_wizard_with_generic_type_which_is_not_supported..Vehicle().sold_dt 212s 212s tests/unit/test_property_wizard.py:957: AssertionError 212s __________________ test_property_wizard_with_mutable_types_v1 __________________ 212s 212s def test_property_wizard_with_mutable_types_v1(): 212s """ 212s The `property_wizard` handles mutable collections (e.g. subclasses of list, 212s dict, and set) as expected. The defaults for these mutable types should 212s use a `default_factory` so we can observe the expected behavior. 212s """ 212s 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: List[Union[int, str]] 212s # _wheels: List[Union[int, str]] = field(init=False) 212s 212s inverse_bool_set: Set[bool] 212s # Not needed, but we can also define this as below if we want to 212s # inverse_bool_set: Annotated[Set[bool], field(default_factory=set)] 212s 212s # We'll need the `field(default_factory=...)` syntax here, because 212s # otherwise the default_factory will be `defaultdict()`, which is not what 212s # we want. 212s wheels_dict: Annotated[ 212s DefaultDict[str, List[str]], 212s field(default_factory=lambda: defaultdict(list)) 212s ] 212s 212s @property 212s def wheels(self) -> List[int]: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: List[Union[int, str]]): 212s self._wheels = [int(w) for w in wheels] 212s 212s @property 212s def inverse_bool_set(self) -> Set[bool]: 212s return self._inverse_bool_set 212s 212s @inverse_bool_set.setter 212s def inverse_bool_set(self, bool_set: Set[bool]): 212s # Confirm that we're passed in the right type when no value is set via 212s # the constructor (i.e. from the `property_wizard` metaclass) 212s assert isinstance(bool_set, set) 212s self._inverse_bool_set = {not b for b in bool_set} 212s 212s @property 212s def wheels_dict(self) -> int: 212s return self._wheels_dict 212s 212s @wheels_dict.setter 212s def wheels_dict(self, wheels: Union[int, str]): 212s self._wheels_dict = wheels 212s 212s v1 = Vehicle(wheels=['1', '2', '3'], 212s inverse_bool_set={True, False}, 212s wheels_dict=defaultdict(list, key=['value'])) 212s v1.wheels_dict['key2'].append('another value') 212s log.debug(v1) 212s 212s > v2 = Vehicle() 212s 212s tests/unit/test_property_wizard.py:1019: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'Vehicle' object has no attribute '_wheels'") raised in repr()] Vehicle object at 0xeb3e77c0> 212s wheels = 212s 212s @wheels.setter 212s def wheels(self, wheels: List[Union[int, str]]): 212s > self._wheels = [int(w) for w in wheels] 212s E TypeError: 'property' object is not iterable 212s 212s tests/unit/test_property_wizard.py:992: TypeError 212s __________________ test_property_wizard_with_mutable_types_v2 __________________ 212s 212s def test_property_wizard_with_mutable_types_v2(): 212s """ 212s The `property_wizard` handles mutable collections (e.g. subclasses of list, 212s dict, and set) as expected. The defaults for these mutable types should 212s use a `default_factory` so we can observe the expected behavior. 212s 212s In this version, we explicitly pass in the `field(default_factory=...)` 212s syntax for all field properties, though it's technically not needed. 212s """ 212s 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s wheels: Annotated[List[int], field(default_factory=list)] 212s _wheels_list: list = field(default_factory=list) 212s 212s @property 212s def wheels_list(self) -> list: 212s return self._wheels_list 212s 212s @wheels_list.setter 212s def wheels_list(self, wheels): 212s self._wheels_list = wheels 212s 212s @property 212s def wheels(self) -> list: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels): 212s self._wheels = wheels 212s 212s > v1 = Vehicle(wheels=[1, 2], wheels_list=[2, 1]) 212s E TypeError: test_property_wizard_with_mutable_types_v2..Vehicle.__init__() got an unexpected keyword argument 'wheels_list'. Did you mean '_wheels_list'? 212s 212s tests/unit/test_property_wizard.py:1075: TypeError 212s _ test_property_wizard_with_mutable_types_with_parameterized_standard_collections _ 212s 212s def test_property_wizard_with_mutable_types_with_parameterized_standard_collections(): 212s """ 212s Test case for mutable types with a Python 3.9 specific feature: 212s parameterized standard collections. As such, this test case is only 212s expected to pass for Python 3.9+. 212s """ 212s 212s @dataclass 212s class Vehicle(metaclass=property_wizard): 212s 212s wheels: list[Union[int, str]] 212s # _wheels: List[Union[int, str]] = field(init=False) 212s 212s inverse_bool_set: set[bool] 212s # Not needed, but we can also define this as below if we want to 212s # inverse_bool_set: Annotated[Set[bool], field(default_factory=set)] 212s 212s # We'll need the `field(default_factory=...)` syntax here, because 212s # otherwise the default_factory will be `defaultdict()`, which is not what 212s # we want. 212s wheels_dict: Annotated[ 212s defaultdict[str, List[str]], 212s field(default_factory=lambda: defaultdict(list)) 212s ] 212s 212s @property 212s def wheels(self) -> List[int]: 212s return self._wheels 212s 212s @wheels.setter 212s def wheels(self, wheels: List[Union[int, str]]): 212s self._wheels = [int(w) for w in wheels] 212s 212s @property 212s def inverse_bool_set(self) -> Set[bool]: 212s return self._inverse_bool_set 212s 212s @inverse_bool_set.setter 212s def inverse_bool_set(self, bool_set: Set[bool]): 212s # Confirm that we're passed in the right type when no value is set via 212s # the constructor (i.e. from the `property_wizard` metaclass) 212s assert isinstance(bool_set, set) 212s self._inverse_bool_set = {not b for b in bool_set} 212s 212s @property 212s def wheels_dict(self) -> int: 212s return self._wheels_dict 212s 212s @wheels_dict.setter 212s def wheels_dict(self, wheels: Union[int, str]): 212s self._wheels_dict = wheels 212s 212s v1 = Vehicle(wheels=['1', '2', '3'], 212s inverse_bool_set={True, False}, 212s wheels_dict=defaultdict(list, key=['value'])) 212s v1.wheels_dict['key2'].append('another value') 212s log.debug(v1) 212s 212s > v2 = Vehicle() 212s 212s tests/unit/test_property_wizard.py:1162: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s :3: in __init__ 212s ??? 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'Vehicle' object has no attribute '_wheels'") raised in repr()] Vehicle object at 0xeb3e7b30> 212s wheels = 212s 212s @wheels.setter 212s def wheels(self, wheels: List[Union[int, str]]): 212s > self._wheels = [int(w) for w in wheels] 212s E TypeError: 'property' object is not iterable 212s 212s tests/unit/test_property_wizard.py:1135: TypeError 212s __________________ test_call_py_code_generator_with_file_name __________________ 212s 212s mock_path = 212s 212s def test_call_py_code_generator_with_file_name(mock_path): 212s """ 212s Test calling the constructor for :class:`PyCodeGenerator` with the 212s `file_name` argument. Added for code coverage. 212s """ 212s mock_path().read_bytes.return_value = b'{"key": "1.23", "secondKey": null}' 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from typing import Any 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s key: float 212s second_key: Any 212s ''' 212s 212s code_gen = PyCodeGenerator(file_name='my_file.txt', 212s force_strings=True) 212s 212s > assert_py_code(expected, py_code=code_gen.py_code) 212s 212s tests/unit/test_wizard_cli.py:91: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from typing import Any\n\n from dataclass_wizard import JSONWizard\n\...ta(JSONWizard):\n """\n Data dataclass\n\n """\n key: float\n second_key: Any\n ' 212s capfd = None 212s py_code = 'from dataclasses import dataclass\nfrom typing import Any\n\nfrom dataclass_wizard import JSONWizard\n\n\n@dataclass\nclass data(JSONWizard):\n """\n data dataclass\n\n """\n key: float\n second_key: Any\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla...nd_key: Any\n' == 'from datacla...nd_key: Any\n' 212s E 212s E from dataclasses import dataclass 212s E from typing import Any 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E ... 212s E 212s E ...Full output truncated (14 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s ____________ test_call_py_code_generator_with_experimental_features ____________ 212s 212s def test_call_py_code_generator_with_experimental_features(): 212s """ 212s Test calling the constructor for :class:`PyCodeGenerator` with the 212s `-x|--experimental` flag. 212s """ 212s 212s string = """\ 212s {"someField": null, "Some_List": [], 212s "Objects": [{"key1": false}, 212s {"key1": 1.2, "key2": "string"}, 212s {"key1": "val", "key2": null}] 212s }\ 212s """ 212s 212s expected = ''' 212s from __future__ import annotations 212s 212s from dataclasses import dataclass 212s from typing import Any 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s some_field: Any 212s some_list: list 212s objects: list[Object] 212s 212s 212s @dataclass 212s class Object: 212s """ 212s Object dataclass 212s 212s """ 212s key1: bool | float | str 212s key2: str | None 212s ''' 212s 212s code_gen = PyCodeGenerator(file_contents=string, 212s experimental=True, 212s force_strings=True) 212s 212s > assert_py_code(expected, py_code=code_gen.py_code) 212s 212s tests/unit/test_wizard_cli.py:142: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from __future__ import annotations\n\n from dataclasses import dataclass\n from typing import Any\n\n ... """\n Object dataclass\n\n """\n key1: bool | float | str\n key2: str | None\n ' 212s capfd = None 212s py_code = 'from __future__ import annotations\n\nfrom dataclasses import dataclass\nfrom typing import Any\n\nfrom dataclass_wiz...class\nclass Objects:\n """\n Objects dataclass\n\n """\n key1: bool | float | str\n key2: str | None\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from __futur... str | None\n' == 'from __futur... str | None\n' 212s E 212s E from __future__ import annotations 212s E 212s E from dataclasses import dataclass 212s E from typing import Any 212s E 212s E from dataclass_wizard import JSONWizard... 212s E 212s E ...Full output truncated (33 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s ________________________________ test_star_wars ________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb6d0530> 212s 212s def test_star_wars(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from datetime import datetime 212s from typing import List, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s name: str 212s rotation_period: Union[int, str] 212s orbital_period: Union[int, str] 212s diameter: Union[int, str] 212s climate: str 212s gravity: str 212s terrain: str 212s surface_water: Union[int, str] 212s population: Union[int, str] 212s residents: List 212s films: List[str] 212s created: datetime 212s edited: datetime 212s url: str 212s ''' 212s 212s gen_schema('star_wars.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:306: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from datetime import datetime\n from typing import List, Union\n\n ...residents: List\n films: List[str]\n created: datetime\n edited: datetime\n url: str\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb6d0530> 212s py_code = 'from dataclasses import dataclass\nfrom datetime import datetime\nfrom typing import List, Union\n\nfrom dataclass_wi...nion[int, str]\n residents: List\n films: List[str]\n created: datetime\n edited: datetime\n url: str\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla... url: str\n' == 'from datacla... url: str\n' 212s E 212s E from dataclasses import dataclass 212s E from datetime import datetime 212s E from typing import List, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E ... 212s E 212s E ...Full output truncated (27 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_1 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb3ef3f0> 212s 212s def test_input_1(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s key: str 212s int_key: int 212s float_key: float 212s my_dict: 'MyDict' 212s 212s 212s @dataclass 212s class MyDict: 212s """ 212s MyDict dataclass 212s 212s """ 212s key2: str 212s ''' 212s 212s gen_schema('test1.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:340: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n\n from dataclass_wizard import JSONWizard\n\n\n @dataclass\n class...\n\n\n @dataclass\n class MyDict:\n """\n MyDict dataclass\n\n """\n key2: str\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb3ef3f0> 212s py_code = 'from dataclasses import dataclass\n\nfrom dataclass_wizard import JSONWizard\n\n\n@dataclass\nclass data(JSONWizard):...\n my_dict: \'my_dict\'\n\n\n@dataclass\nclass my_dict:\n """\n my_dict dataclass\n\n """\n key2: str\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla... key2: str\n' == 'from datacla... key2: str\n' 212s E 212s E from dataclasses import dataclass 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E 212s E @dataclass... 212s E 212s E ...Full output truncated (33 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_2 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb3ec620> 212s 212s def test_input_2(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from datetime import datetime 212s from typing import Optional, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Container: 212s """ 212s Container dataclass 212s 212s """ 212s data: 'Data' 212s field_1: int 212s field_2: str 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s key: Optional[str] 212s another_key: Optional[Union[str, int]] 212s truth: int 212s my_list: 'MyList' 212s my_date: datetime 212s my_id: str 212s 212s 212s @dataclass 212s class MyList: 212s """ 212s MyList dataclass 212s 212s """ 212s pass 212s ''' 212s 212s gen_schema('test2.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:389: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from datetime import datetime\n from typing import Optional, Union\n\...: str\n\n\n @dataclass\n class MyList:\n """\n MyList dataclass\n\n """\n pass\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb3ec620> 212s py_code = 'from dataclasses import dataclass\nfrom datetime import datetime\nfrom typing import Optional, Union\n\nfrom dataclas..._date: datetime\n my_id: str\n\n\n@dataclass\nclass my_list:\n """\n my_list dataclass\n\n """\n pass\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E assert 'from datacla..."\n pass\n' == 'from datacla..."\n pass\n' 212s E 212s E from dataclasses import dataclass 212s E from datetime import datetime 212s E from typing import Optional, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E ... 212s E 212s E ...Full output truncated (42 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_3 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb24ba50> 212s 212s def test_input_3(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from typing import List, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Container: 212s """ 212s Container dataclass 212s 212s """ 212s data: 'Data' 212s field_1: int 212s field_2: int 212s field_3: str 212s field_4: bool 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s true_story: Union[str, int] 212s true_bool: bool 212s my_list: List[Union[int, 'MyList']] 212s 212s 212s @dataclass 212s class MyList: 212s """ 212s MyList dataclass 212s 212s """ 212s hey: str 212s ''' 212s 212s gen_schema('test3.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:436: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from typing import List, Union\n\n from dataclass_wizard import JSONW...]\n\n\n @dataclass\n class MyList:\n """\n MyList dataclass\n\n """\n hey: str\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb24ba50> 212s py_code = 'from dataclasses import dataclass\nfrom typing import List, Union\n\nfrom dataclass_wizard import JSONWizard\n\n\n@da...st[Union[int, \'my_list\']]\n\n\n@dataclass\nclass my_list:\n """\n my_list dataclass\n\n """\n hey: str\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla... hey: str\n' == 'from datacla... hey: str\n' 212s E 212s E from dataclasses import dataclass 212s E from typing import List, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E ... 212s E 212s E ...Full output truncated (40 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_4 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb24b390> 212s 212s def test_input_4(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from typing import Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Container: 212s """ 212s Container dataclass 212s 212s """ 212s data: 'Data' 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s input_index: int 212s candidate_index: int 212s delivery_line_1: str 212s last_line: str 212s delivery_point_barcode: Union[int, str] 212s components: 'Components' 212s metadata: 'Metadata' 212s analysis: 'Analysis' 212s 212s 212s @dataclass 212s class Components: 212s """ 212s Components dataclass 212s 212s """ 212s primary_number: Union[int, str] 212s street_predirection: Union[bool, str] 212s street_name: str 212s street_suffix: str 212s city_name: str 212s state_abbreviation: str 212s zipcode: Union[int, str] 212s plus4_code: Union[int, str] 212s delivery_point: Union[int, str] 212s delivery_point_check_digit: Union[int, str] 212s 212s 212s @dataclass 212s class Metadata: 212s """ 212s Metadata dataclass 212s 212s """ 212s record_type: str 212s zip_type: str 212s county_fips: Union[int, str] 212s county_name: str 212s carrier_route: str 212s congressional_district: Union[int, str] 212s rdi: str 212s elot_sequence: Union[int, str] 212s elot_sort: str 212s latitude: float 212s longitude: float 212s precision: str 212s time_zone: str 212s utc_offset: int 212s dst: bool 212s 212s 212s @dataclass 212s class Analysis: 212s """ 212s Analysis dataclass 212s 212s """ 212s dpv_match_code: Union[bool, str] 212s dpv_footnotes: str 212s dpv_cmra: Union[bool, str] 212s dpv_vacant: Union[bool, str] 212s active: Union[bool, str] 212s ''' 212s 212s gen_schema('test4.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:529: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from typing import Union\n\n from dataclass_wizard import JSONWizard\... str\n dpv_cmra: Union[bool, str]\n dpv_vacant: Union[bool, str]\n active: Union[bool, str]\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb24b390> 212s py_code = 'from dataclasses import dataclass\nfrom typing import Union\n\nfrom dataclass_wizard import JSONWizard\n\n\n@dataclas... dpv_footnotes: str\n dpv_cmra: Union[bool, str]\n dpv_vacant: Union[bool, str]\n active: Union[bool, str]\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla...[bool, str]\n' == 'from datacla...[bool, str]\n' 212s E 212s E from dataclasses import dataclass 212s E from typing import Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E ... 212s E 212s E ...Full output truncated (104 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_5 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb6b7140> 212s 212s def test_input_5(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from typing import List, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Container: 212s """ 212s Container dataclass 212s 212s """ 212s data: 'Data' 212s field_1: List[Union[List[Union[str, 'Data2']], int, str]] 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s key: str 212s 212s 212s @dataclass 212s class Data2: 212s """ 212s Data2 dataclass 212s 212s """ 212s key: int 212s nested_classes: 'NestedClasses' 212s 212s 212s @dataclass 212s class NestedClasses: 212s """ 212s NestedClasses dataclass 212s 212s """ 212s blah: str 212s another_one: List['AnotherOne'] 212s just_something_with_a_space: int 212s 212s 212s @dataclass 212s class AnotherOne: 212s """ 212s AnotherOne dataclass 212s 212s """ 212s testing: str 212s ''' 212s 212s gen_schema('test5.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:592: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from typing import List, Union\n\n from dataclass_wizard import JSONW...dataclass\n class AnotherOne:\n """\n AnotherOne dataclass\n\n """\n testing: str\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb6b7140> 212s py_code = 'from dataclasses import dataclass\nfrom typing import List, Union\n\nfrom dataclass_wizard import JSONWizard\n\n\n@da...th_a_space: int\n\n\n@dataclass\nclass another-one:\n """\n another-one dataclass\n\n """\n testing: str\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla...esting: str\n' == 'from datacla...esting: str\n' 212s E 212s E from dataclasses import dataclass 212s E from typing import List, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E ... 212s E 212s E ...Full output truncated (65 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_6 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb885730> 212s 212s def test_input_6(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from datetime import date, time 212s from typing import List, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s my_field: str 212s another_field: date 212s my_list: List[Union[int, 'MyList', List['Data2']]] 212s 212s 212s @dataclass 212s class MyList: 212s """ 212s MyList dataclass 212s 212s """ 212s another_key: str 212s 212s 212s @dataclass 212s class Data2: 212s """ 212s Data2 dataclass 212s 212s """ 212s key: str 212s my_time: time 212s ''' 212s 212s gen_schema('test6.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:637: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from datetime import date, time\n from typing import List, Union\n\n ...\n class Data2:\n """\n Data2 dataclass\n\n """\n key: str\n my_time: time\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb885730> 212s py_code = 'from dataclasses import dataclass\nfrom datetime import date, time\nfrom typing import List, Union\n\nfrom dataclass_...her_key: str\n\n\n@dataclass\nclass Data2:\n """\n Data2 dataclass\n\n """\n key: str\n my_time: time\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla..._time: time\n' == 'from datacla..._time: time\n' 212s E 212s E from dataclasses import dataclass 212s E from datetime import date, time 212s E from typing import List, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E ... 212s E 212s E ...Full output truncated (35 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_7 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb419db0> 212s 212s def test_input_7(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from typing import List, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Container: 212s """ 212s Container dataclass 212s 212s """ 212s data: 'Data' 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s my_test_apis: List['MyTestApi'] 212s people: List['Person'] 212s children: List['Child'] 212s activities: List['Activity'] 212s equipment: List['Equipment'] 212s key: int 212s nested_classes: 'NestedClasses' 212s something_else: str 212s 212s 212s @dataclass 212s class MyTestApi: 212s """ 212s MyTestApi dataclass 212s 212s """ 212s first_api: str 212s 212s 212s @dataclass 212s class Person: 212s """ 212s Person dataclass 212s 212s """ 212s name: str 212s age: Union[int, str] 212s 212s 212s @dataclass 212s class Child: 212s """ 212s Child dataclass 212s 212s """ 212s name: str 212s age: Union[int, float] 212s 212s 212s @dataclass 212s class Activity: 212s """ 212s Activity dataclass 212s 212s """ 212s name: str 212s 212s 212s @dataclass 212s class Equipment: 212s """ 212s Equipment dataclass 212s 212s """ 212s count: int 212s 212s 212s @dataclass 212s class NestedClasses: 212s """ 212s NestedClasses dataclass 212s 212s """ 212s blah: str 212s another_one: List['AnotherOne'] 212s just_something: int 212s 212s 212s @dataclass 212s class AnotherOne: 212s """ 212s AnotherOne dataclass 212s 212s """ 212s testing: str 212s ''' 212s 212s gen_schema('test7.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:743: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from typing import List, Union\n\n from dataclass_wizard import JSONW...dataclass\n class AnotherOne:\n """\n AnotherOne dataclass\n\n """\n testing: str\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb419db0> 212s py_code = 'from dataclasses import dataclass\nfrom typing import List, Union\n\nfrom dataclass_wizard import JSONWizard\n\n\n@da..._something: int\n\n\n@dataclass\nclass another-one:\n """\n another-one dataclass\n\n """\n testing: str\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla...esting: str\n' == 'from datacla...esting: str\n' 212s E 212s E from dataclasses import dataclass 212s E from typing import List, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E ... 212s E 212s E ...Full output truncated (141 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s _________________________________ test_input_8 _________________________________ 212s 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb8cbd50> 212s 212s def test_input_8(capfd): 212s 212s expected = ''' 212s from dataclasses import dataclass 212s from typing import List, Optional, Union 212s 212s from dataclass_wizard import JSONWizard 212s 212s 212s @dataclass 212s class Container: 212s """ 212s Container dataclass 212s 212s """ 212s data: 'Data' 212s field_1: List['Data1'] 212s field_2: List['Data2'] 212s field_3: List['Data3'] 212s 212s 212s @dataclass 212s class Data(JSONWizard): 212s """ 212s Data dataclass 212s 212s """ 212s list_of_dictionaries: List['ListOfDictionary'] 212s 212s 212s @dataclass 212s class ListOfDictionary: 212s """ 212s ListOfDictionary dataclass 212s 212s """ 212s my_energies: List[Union['MyEnergy', int, str]] 212s key: Optional[str] 212s 212s 212s @dataclass 212s class MyEnergy: 212s """ 212s MyEnergy dataclass 212s 212s """ 212s my_test_val: Union[bool, int] 212s another_val: str 212s string_val: str 212s merged_float: float 212s 212s 212s @dataclass 212s class Data1: 212s """ 212s Data1 dataclass 212s 212s """ 212s key: str 212s another_key: str 212s 212s 212s @dataclass 212s class Data2: 212s """ 212s Data2 dataclass 212s 212s """ 212s question: str 212s 212s 212s @dataclass 212s class Data3: 212s """ 212s Data3 dataclass 212s 212s """ 212s explanation: str 212s ''' 212s 212s gen_schema('test8.json') 212s 212s > assert_py_code(expected, capfd) 212s 212s tests/unit/test_wizard_cli.py:828: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s expected = '\n from dataclasses import dataclass\n from typing import List, Optional, Union\n\n from dataclass_wizard im...n @dataclass\n class Data3:\n """\n Data3 dataclass\n\n """\n explanation: str\n ' 212s capfd = <_pytest.capture.CaptureFixture object at 0xeb8cbd50> 212s py_code = 'from dataclasses import dataclass\nfrom typing import List, Optional, Union\n\nfrom dataclass_wizard import JSONWizar... """\n question: str\n\n\n@dataclass\nclass Data3:\n """\n Data3 dataclass\n\n """\n explanation: str\n' 212s 212s def assert_py_code(expected, capfd=None, py_code=None): 212s """ 212s Helper function to assert that generated Python code is as expected. 212s """ 212s if py_code is None: 212s py_code = _get_captured_py_code(capfd) 212s 212s # TODO update to `info` level to see the output in terminal. 212s log.debug('Generated Python code:\n%s\n%s', 212s '-' * 20, py_code) 212s 212s > assert py_code == dedent(expected).lstrip() 212s E AssertionError: assert 'from datacla...nation: str\n' == 'from datacla...nation: str\n' 212s E 212s E from dataclasses import dataclass 212s E from typing import List, Optional, Union 212s E 212s E from dataclass_wizard import JSONWizard 212s E 212s E ... 212s E 212s E ...Full output truncated (87 lines hidden), use '-vv' to show 212s 212s tests/unit/test_wizard_cli.py:35: AssertionError 212s ______________________________ test_alias_mapping ______________________________ 212s 212s def test_alias_mapping(): 212s 212s @dataclass 212s > class Test(JSONPyWizard): 212s 212s tests/unit/v1/test_loaders.py:142: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:147: in Test 212s my_str: str = Alias('a_str') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeb13ee88> 212s load_alias = ('a_str',), dump_alias = ('a_str',), skip = False, path = None 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s _____________________ test_alias_mapping_with_load_or_dump _____________________ 212s 212s def test_alias_mapping_with_load_or_dump(): 212s 212s @dataclass 212s > class Test(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:163: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:173: in Test 212s my_str: str = Alias(load='a_str') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeb01e028> 212s load_alias = ('a_str',), dump_alias = None, skip = False, path = None 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ______________________ test_alias_with_multiple_mappings _______________________ 212s 212s def test_alias_with_multiple_mappings(): 212s """Test `Alias(...)` usage with multiple aliases or mappings.""" 212s 212s @dataclass 212s > class MyClass(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:203: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:211: in MyClass 212s my_str: 'str | None' = Alias('my_str', 'MyStr') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeb01e168> 212s load_alias = ('my_str', 'MyStr'), dump_alias = ('my_str', 'MyStr'), skip = False 212s path = None, default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s _________________ test_from_dict_raises_on_unknown_keys_nested _________________ 212s 212s def test_from_dict_raises_on_unknown_keys_nested(): 212s 212s @dataclass 212s class Sub(JSONWizard): 212s class _(JSONWizard.Meta): 212s v1_key_case = 'P' 212s 212s my_str: str 212s 212s @dataclass 212s > class Test(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:335: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:340: in Test 212s my_str: str = Alias('a_str') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeb039cf8> 212s load_alias = ('a_str',), dump_alias = ('a_str',), skip = False, path = None 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ___________ test_from_dict_raises_on_unknown_keys_with_key_case_auto ___________ 212s 212s def test_from_dict_raises_on_unknown_keys_with_key_case_auto(): 212s """ 212s Raises on Unknown Key with `key_case='AUTO'` 212s """ 212s @dataclass 212s class Sub(JSONWizard): 212s my_str: str 212s 212s @dataclass 212s > class Test(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:393: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:399: in Test 212s my_str: str = Alias('a_str') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeb039d48> 212s load_alias = ('a_str',), dump_alias = ('a_str',), skip = False, path = None 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ______________ test_aware_and_utc_date_times_with_custom_pattern _______________ 212s 212s cls = .Example'> 212s d = {'key': '10-2020-15:30-UTC', 'my_dt2': '2010-5-7 8', 'my_time1': '17:10:05', 'my_time2': ['21:45-UTC']} 212s 212s def fromdict(cls: type[T], d: JSONObject) -> T: 212s """ 212s Converts a Python dictionary object to a dataclass instance. 212s 212s Iterates over each dataclass field recursively; lists, dicts, and nested 212s dataclasses will likewise be initialized as expected. 212s 212s When directly invoking this function, an optional Meta configuration for 212s the dataclass can be specified via ``LoadMeta``; by default, this will 212s apply recursively to any nested dataclasses. Here's a sample usage of this 212s below:: 212s 212s >>> LoadMeta(key_transform='CAMEL').bind_to(MyClass) 212s >>> fromdict(MyClass, {"myStr": "value"}) 212s 212s """ 212s try: 212s > load = CLASS_TO_LOAD_FUNC[cls] 212s E KeyError: .Example'> 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/loader_selection.py:27: KeyError 212s 212s During handling of the above exception, another exception occurred: 212s 212s def test_aware_and_utc_date_times_with_custom_pattern(): 212s """ 212s Time and datetime objects with a custom date string 212s format, where the objects are timezone-aware or in UTC. 212s """ 212s class MyTime(time, metaclass=create_strict_eq): 212s def print_hour(self): 212s print(self.hour) 212s 212s @dataclass 212s class Example(JSONPyWizard): 212s class _(JSONPyWizard.Meta): 212s v1 = True 212s 212s my_dt1: Annotated[AwareDateTimePattern['Asia/Tokyo', '%m-%Y-%H:%M-%Z'], Alias('key')] 212s my_dt2: UTCDateTimePattern['%Y-%m-%d %H'] 212s my_time1: UTCTimePattern['%H:%M:%S'] 212s my_time2: Annotated[list[MyTime], AwarePattern['US/Hawaii', '%H:%M-%Z']] 212s 212s d = {'key': '10-2020-15:30-UTC', 212s 'my_dt2': '2010-5-7 8', 212s 'my_time1': '17:10:05', 212s 'my_time2': ['21:45-UTC']} 212s > ex = Example.from_dict(d) 212s 212s tests/unit/v1/test_loaders.py:797: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s /usr/lib/python3/dist-packages/dataclass_wizard/loader_selection.py:29: in fromdict 212s load = _get_load_fn_for_dataclass(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/loader_selection.py:58: in _get_load_fn_for_dataclass 212s load = V1_load_func_for_dataclass(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/loaders.py:1023: in load_func_for_dataclass 212s field_to_aliases = v1_dataclass_field_to_alias(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/class_helper.py:323: in v1_dataclass_field_to_alias 212s return _setup_v1_load_config_for_cls(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/class_helper.py:375: in _setup_v1_load_config_for_cls 212s field_type = f.type = eval_forward_ref_if_needed(f.type, cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/utils/typing_compat.py:243: in eval_forward_ref_if_needed 212s base_type = eval_forward_ref(base_type, base_cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/utils/typing_compat.py:228: in eval_forward_ref 212s return _eval_type(base_type, base_globals, _TYPING_LOCALS) 212s /usr/lib/python3.14/typing.py:461: in _eval_type 212s return evaluate_forward_ref(t, globals=globalns, locals=localns, 212s /usr/lib/python3.14/typing.py:1000: in evaluate_forward_ref 212s value = forward_ref.evaluate(globals=globals, locals=locals, 212s /usr/lib/python3.14/annotationlib.py:186: in evaluate 212s return eval(code, globals=globals, locals=locals) 212s :1: in 212s ??? 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeaf042f8> 212s load_alias = ('key',), dump_alias = ('key',), skip = False, path = None 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s _______________ test_from_dict_key_transform_with_multiple_alias _______________ 212s 212s def test_from_dict_key_transform_with_multiple_alias(): 212s """ 212s Specifying a custom mapping of alias key to dataclass field, via the 212s `Alias` helper function. 212s """ 212s 212s @dataclass 212s > class MyClass(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:1076: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:1081: in MyClass 212s my_str: str = Alias('myCustomStr') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeab6ae88> 212s load_alias = ('myCustomStr',), dump_alias = ('myCustomStr',), skip = False 212s path = None, default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ___________________ test_from_dict_key_transform_with_alias ____________________ 212s 212s cls = .MyClass'> 212s d = {'myCustomStr': 'Testing', 'myTestBool': 'true'} 212s 212s def fromdict(cls: type[T], d: JSONObject) -> T: 212s """ 212s Converts a Python dictionary object to a dataclass instance. 212s 212s Iterates over each dataclass field recursively; lists, dicts, and nested 212s dataclasses will likewise be initialized as expected. 212s 212s When directly invoking this function, an optional Meta configuration for 212s the dataclass can be specified via ``LoadMeta``; by default, this will 212s apply recursively to any nested dataclasses. Here's a sample usage of this 212s below:: 212s 212s >>> LoadMeta(key_transform='CAMEL').bind_to(MyClass) 212s >>> fromdict(MyClass, {"myStr": "value"}) 212s 212s """ 212s try: 212s > load = CLASS_TO_LOAD_FUNC[cls] 212s E KeyError: .MyClass'> 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/loader_selection.py:27: KeyError 212s 212s During handling of the above exception, another exception occurred: 212s 212s def test_from_dict_key_transform_with_alias(): 212s """ 212s Specifying a custom mapping of JSON key to dataclass field, 212s via the `Alias` helper function. 212s """ 212s 212s @dataclass 212s class MyClass(JSONWizard): 212s 212s class _(JSONWizard.Meta): 212s v1 = True 212s 212s my_str: Annotated[str, Alias('myCustomStr')] 212s my_bool: Annotated[bool, Alias('myTestBool')] 212s 212s value = 'Testing' 212s d = {'myCustomStr': value, 'myTestBool': 'true'} 212s 212s > result = MyClass.from_dict(d) 212s 212s tests/unit/v1/test_loaders.py:1112: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s /usr/lib/python3/dist-packages/dataclass_wizard/loader_selection.py:29: in fromdict 212s load = _get_load_fn_for_dataclass(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/loader_selection.py:58: in _get_load_fn_for_dataclass 212s load = V1_load_func_for_dataclass(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/loaders.py:1023: in load_func_for_dataclass 212s field_to_aliases = v1_dataclass_field_to_alias(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/class_helper.py:323: in v1_dataclass_field_to_alias 212s return _setup_v1_load_config_for_cls(cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/class_helper.py:375: in _setup_v1_load_config_for_cls 212s field_type = f.type = eval_forward_ref_if_needed(f.type, cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/utils/typing_compat.py:243: in eval_forward_ref_if_needed 212s base_type = eval_forward_ref(base_type, base_cls) 212s /usr/lib/python3/dist-packages/dataclass_wizard/utils/typing_compat.py:228: in eval_forward_ref 212s return _eval_type(base_type, base_globals, _TYPING_LOCALS) 212s /usr/lib/python3.14/typing.py:461: in _eval_type 212s return evaluate_forward_ref(t, globals=globalns, locals=localns, 212s /usr/lib/python3.14/typing.py:1000: in evaluate_forward_ref 212s value = forward_ref.evaluate(globals=globals, locals=locals, 212s /usr/lib/python3.14/annotationlib.py:186: in evaluate 212s return eval(code, globals=globals, locals=locals) 212s :1: in 212s ??? 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:491: in Alias 212s return Field(load, dump, skip, None, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeab710c8> 212s load_alias = ('myCustomStr',), dump_alias = ('myCustomStr',), skip = False 212s path = None, default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s _________________ test_from_dict_with_nested_object_alias_path _________________ 212s 212s def test_from_dict_with_nested_object_alias_path(): 212s """ 212s Specifying a custom mapping of "nested" alias to dataclass field, 212s via the `AliasPath` helper function. 212s """ 212s 212s @dataclass 212s > class A(JSONPyWizard): 212s 212s tests/unit/v1/test_loaders.py:2931: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:2937: in A 212s my_str: str = AliasPath(['a', 'b', 'c', -1], default='xyz') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:523: in AliasPath 212s return Field(load, dump, skip, all, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeafcbca8> 212s load_alias = None, dump_alias = None, skip = False 212s path = (['a', 'b', 'c', -1],), default = 'xyz' 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s _______ test_from_dict_with_nested_object_alias_path_with_skip_defaults ________ 212s 212s def test_from_dict_with_nested_object_alias_path_with_skip_defaults(): 212s """ 212s Specifying a custom mapping of "nested" alias to dataclass field, 212s via the `AliasPath` helper function. 212s 212s Test with `skip_defaults=True`, `load_alias`, and `skip=True`. 212s """ 212s 212s @dataclass 212s > class A(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:3023: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:3033: in A 212s other_bool: bool = AliasPath('x.y."z z"', default=True) 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:523: in AliasPath 212s return Field(load, dump, skip, all, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeafcbd48> 212s load_alias = None, dump_alias = None, skip = False, path = (['x', 'y', 'z z'],) 212s default = True 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ____ test_from_dict_with_nested_object_alias_path_with_dump_alias_and_skip _____ 212s 212s def test_from_dict_with_nested_object_alias_path_with_dump_alias_and_skip(): 212s """ 212s Test nested object `AliasPath` with dump='...' and skip=True, 212s along with `Alias` with `skip=True`, 212s added for branch coverage. 212s """ 212s @dataclass 212s > class A(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:3132: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:3137: in A 212s my_str: str = AliasPath(dump='a.b.c[0]') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:523: in AliasPath 212s return Field(load, dump, skip, all, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeafcbd98> 212s load_alias = , dump_alias = None, skip = False 212s path = (['a', 'b', 'c', 0],) 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ____________ test_from_dict_with_multiple_nested_object_alias_paths ____________ 212s 212s def test_from_dict_with_multiple_nested_object_alias_paths(): 212s """Confirm `AliasPath` works for multiple nested paths.""" 212s 212s @dataclass 212s > class MyClass(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:3170: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:3178: in MyClass 212s my_str: 'str | None' = AliasPath('ace.in.hole.0[1]', 'bears.eat.b33ts') 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:523: in AliasPath 212s return Field(load, dump, skip, all, default, default_factory, init, repr, 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s self = <[AttributeError("'dataclass_wizard.v1.models.Field' object has no attribute 'name'") raised in repr()] Field object at 0xeafcbf28> 212s load_alias = None, dump_alias = None, skip = False 212s path = (['ace', 'in', 'hole', 0, 1], ['bears', 'eat', 'b33ts']) 212s default = 212s default_factory = , init = True 212s repr = True, hash = None, compare = True, metadata = None, kw_only = False 212s 212s def __init__(self, 212s load_alias, dump_alias, skip, path, 212s default, default_factory, init, repr, hash, compare, 212s metadata, kw_only): 212s 212s > super().__init__(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/v1/models.py:540: TypeError 212s ____________________________ test_per_field_skip_if ____________________________ 212s 212s def test_per_field_skip_if(): 212s """ 212s Test per-field `skip_if` functionality, with the ``SkipIf`` 212s condition in type annotation, and also specified in 212s ``skip_if_field()`` which wraps ``dataclasses.Field``. 212s """ 212s @dataclass 212s > class Example(JSONPyWizard): 212s 212s tests/unit/v1/test_loaders.py:3405: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:3411: in Example 212s third_str: 'str | None' = skip_if_field(EQ(''), default=None) 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s condition = 212s 212s def skip_if_field(condition, *, default=MISSING, default_factory=MISSING, init=True, repr=True, 212s hash=None, compare=True, metadata=None, kw_only=MISSING): 212s 212s if default is not MISSING and default_factory is not MISSING: 212s raise ValueError('cannot specify both default and default_factory') 212s 212s if metadata is None: 212s metadata = {} 212s 212s metadata['__skip_if__'] = condition 212s 212s > return Field(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:331: TypeError 212s ____________________ test_is_truthy_and_is_falsy_conditions ____________________ 212s 212s def test_is_truthy_and_is_falsy_conditions(): 212s """ 212s Test both IS_TRUTHY and IS_FALSY conditions within a single test case. 212s """ 212s 212s # Define the Example class within the test case and apply the conditions 212s @dataclass 212s > class Example(JSONPyWizard): 212s 212s tests/unit/v1/test_loaders.py:3440: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:3446: in Example 212s my_bool: bool = skip_if_field(IS_FALSY()) # Skip if falsy 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s condition = 212s 212s def skip_if_field(condition, *, default=MISSING, default_factory=MISSING, init=True, repr=True, 212s hash=None, compare=True, metadata=None, kw_only=MISSING): 212s 212s if default is not MISSING and default_factory is not MISSING: 212s raise ValueError('cannot specify both default and default_factory') 212s 212s if metadata is None: 212s metadata = {} 212s 212s metadata['__skip_if__'] = condition 212s 212s > return Field(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:331: TypeError 212s _________________________ test_skip_if_truthy_or_falsy _________________________ 212s 212s def test_skip_if_truthy_or_falsy(): 212s """ 212s Test skip if condition is truthy or falsy for individual fields. 212s """ 212s 212s # Use of SkipIf with IS_TRUTHY 212s @dataclass 212s > class SkipExample(JSONWizard): 212s 212s tests/unit/v1/test_loaders.py:3471: 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s tests/unit/v1/test_loaders.py:3477: in SkipExample 212s my_bool: bool = skip_if_field(IS_FALSY()) 212s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 212s 212s condition = 212s 212s def skip_if_field(condition, *, default=MISSING, default_factory=MISSING, init=True, repr=True, 212s hash=None, compare=True, metadata=None, kw_only=MISSING): 212s 212s if default is not MISSING and default_factory is not MISSING: 212s raise ValueError('cannot specify both default and default_factory') 212s 212s if metadata is None: 212s metadata = {} 212s 212s metadata['__skip_if__'] = condition 212s 212s > return Field(default, default_factory, init, repr, hash, 212s compare, metadata, kw_only) 212s E TypeError: Field.__init__() missing 1 required positional argument: 'doc' 212s 212s /usr/lib/python3/dist-packages/dataclass_wizard/models.py:331: TypeError 212s =============================== warnings summary =============================== 212s tests/unit/test_load.py:2581 212s /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/tests/unit/test_load.py:2581: SyntaxWarning: "\." is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\."? A raw string is also an option. 212s with pytest.raises(TypeError, match=".*Test\.__init__\(\) missing 1 required positional argument: 'my_field'"): 212s 212s tests/unit/v1/test_loaders.py:3653 212s /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/tests/unit/v1/test_loaders.py:3653: SyntaxWarning: "\." is an invalid escape sequence. Such sequences will not work in the future. Did you mean "\\."? A raw string is also an option. 212s with pytest.raises(TypeError, match=".*Test\.__init__\(\) missing 1 required positional argument: 'my_field'"): 212s 212s tests/unit/test_bases_meta.py: 6 warnings 212s tests/unit/test_dump.py: 20 warnings 212s tests/unit/test_load.py: 51 warnings 212s tests/unit/test_load_with_future_import.py: 28 warnings 212s tests/unit/test_wizard_mixins.py: 5 warnings 212s tests/unit/v1/test_loaders.py: 245 warnings 212s tests/unit/v1/test_union_as_type_alias_recursive.py: 1 warning 212s /usr/lib/python3/dist-packages/dataclass_wizard/bases_meta.py:135: DeprecationWarning: Deprecated Meta setting debug_enabled (Use `v1_debug` instead). 212s show_deprecation_warning( 212s 212s tests/unit/test_load.py::test_timedelta[testing-expectation0-ValueError] 212s /usr/lib/python3/dist-packages/pytimeparse/__init__.py:19: DeprecationWarning: codecs.open() is deprecated. Use open() instead. 212s with open(path.join(path.dirname(__file__), 'VERSION'), 212s 212s tests/unit/test_wizard_cli.py: 32 warnings 212s /usr/lib/python3/dist-packages/dataclass_wizard/wizard_cli/cli.py:112: PendingDeprecationWarning: FileType is deprecated. Simply open files after parsing arguments. 212s super().__init__(mode, bufsize, encoding, errors) 212s 212s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 212s =========================== short test summary info ============================ 212s FAILED tests/unit/environ/test_dumpers.py::test_dump_with_excluded_fields_and_skip_defaults 212s FAILED tests/unit/environ/test_wizard.py::test_load_and_dump_with_aliases - T... 212s FAILED tests/unit/environ/test_wizard.py::test_load_with_parse_error_when_env_var_is_specified 212s FAILED tests/unit/environ/test_wizard.py::test_init_method_declaration_is_logged_when_debug_mode_is_enabled 212s FAILED tests/unit/test_bases_meta.py::test_meta_initializer_runs_as_expected 212s FAILED tests/unit/test_dump.py::test_to_dict_key_transform_with_json_field - ... 212s FAILED tests/unit/test_dump.py::test_to_dict_with_excluded_fields - TypeError... 212s FAILED tests/unit/test_load.py::test_from_dict_key_transform_with_json_field 212s FAILED tests/unit/test_load.py::test_from_dict_with_nested_object_key_path - ... 212s FAILED tests/unit/test_load.py::test_from_dict_with_nested_object_key_path_with_skip_defaults 212s FAILED tests/unit/test_load.py::test_per_field_skip_if - TypeError: Field.__i... 212s FAILED tests/unit/test_load.py::test_is_truthy_and_is_falsy_conditions - Type... 212s FAILED tests/unit/test_load.py::test_skip_if_truthy_or_falsy - TypeError: Fie... 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_does_not_error_when_forward_refs_are_declared 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_field 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_field_with_or 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_field 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_annotated_field 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_private_property_and_annotated_field_with_no_useful_extras 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_multiple_inheritance 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_without_default_value 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_with_default_factory 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_without_default_or_default_factory 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_without_default_value 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_public_field_is_property 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_with_default 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_with_default_factory 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_without_default_or_default_factory 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_where_annotated_type_contains_none 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_literal_type 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_concrete_type 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_concrete_type_and_default_factory_raises_type_error 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_generic_type_which_is_not_supported 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_v1 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_v2 212s FAILED tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_with_parameterized_standard_collections 212s FAILED tests/unit/test_wizard_cli.py::test_call_py_code_generator_with_file_name 212s FAILED tests/unit/test_wizard_cli.py::test_call_py_code_generator_with_experimental_features 212s FAILED tests/unit/test_wizard_cli.py::test_star_wars - AssertionError: assert... 212s FAILED tests/unit/test_wizard_cli.py::test_input_1 - AssertionError: assert '... 212s FAILED tests/unit/test_wizard_cli.py::test_input_2 - assert 'from datacla..."... 212s FAILED tests/unit/test_wizard_cli.py::test_input_3 - AssertionError: assert '... 212s FAILED tests/unit/test_wizard_cli.py::test_input_4 - AssertionError: assert '... 212s FAILED tests/unit/test_wizard_cli.py::test_input_5 - AssertionError: assert '... 212s FAILED tests/unit/test_wizard_cli.py::test_input_6 - AssertionError: assert '... 212s FAILED tests/unit/test_wizard_cli.py::test_input_7 - AssertionError: assert '... 212s FAILED tests/unit/test_wizard_cli.py::test_input_8 - AssertionError: assert '... 212s FAILED tests/unit/v1/test_loaders.py::test_alias_mapping - TypeError: Field._... 212s FAILED tests/unit/v1/test_loaders.py::test_alias_mapping_with_load_or_dump - ... 212s FAILED tests/unit/v1/test_loaders.py::test_alias_with_multiple_mappings - Typ... 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_raises_on_unknown_keys_nested 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_raises_on_unknown_keys_with_key_case_auto 212s FAILED tests/unit/v1/test_loaders.py::test_aware_and_utc_date_times_with_custom_pattern 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_key_transform_with_multiple_alias 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_key_transform_with_alias 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path_with_skip_defaults 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path_with_dump_alias_and_skip 212s FAILED tests/unit/v1/test_loaders.py::test_from_dict_with_multiple_nested_object_alias_paths 212s FAILED tests/unit/v1/test_loaders.py::test_per_field_skip_if - TypeError: Fie... 212s FAILED tests/unit/v1/test_loaders.py::test_is_truthy_and_is_falsy_conditions 212s FAILED tests/unit/v1/test_loaders.py::test_skip_if_truthy_or_falsy - TypeErro... 212s = 64 failed, 592 passed, 8 skipped, 11 deselected, 6 xfailed, 4 xpassed, 391 warnings in 5.75s = 213s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build; python3.14 -m pytest --no-cov -k "not test_toml_wizard_methods and not test_catch_all and not test_load_with_tuple_of_dotenv_and_env_file_param_to_init and not test_load_with_dotenv_file" 213s I: pybuild base:311: cd /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build; python3.13 -m pytest --no-cov -k "not test_toml_wizard_methods and not test_catch_all and not test_load_with_tuple_of_dotenv_and_env_file_param_to_init and not test_load_with_dotenv_file" 214s ============================= test session starts ============================== 214s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 214s rootdir: /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build 214s configfile: pytest.ini 214s plugins: typeguard-4.4.2, cov-5.0.0, mock-3.15.1 214s collected 685 items / 11 deselected / 674 selected 214s 214s tests/unit/environ/test_dumpers.py::test_dump_with_excluded_fields_and_skip_defaults PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_bytes PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_bytearray[testing 123-expected0] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_bytearray[test-expected1] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_bytearray[input2-expected2] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_tuple_and_named_tuple PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_dataclass PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_datetime[2021-11-28T17:35:55-expected0] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_datetime[1577952245-expected1] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_datetime[input2-expected2] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_date[2021-11-28-expected0] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_date[1577952245-expected1] PASSED 214s tests/unit/environ/test_loaders.py::test_load_to_date[input2-expected2] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[device_type-devicetype] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[isACamelCasedWORD-isacamelcasedword] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[ATitledWordToTESTWith-atitledwordtotestwith] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[not-a-tester-notatester] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[helloworld-helloworld] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[A-a] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[TESTing_if_thisWorks-testingifthisworks] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[a_B_Cde_fG_hi-abcdefghi] PASSED 214s tests/unit/environ/test_lookups.py::test_clean[How_-Are-_YoUDoing__TeST-howareyoudoingtest] PASSED 214s tests/unit/environ/test_lookups.py::test_lookup_exact PASSED 214s tests/unit/environ/test_lookups.py::test_reload_when_not_accessed_cleaned_to_env PASSED 214s tests/unit/environ/test_lookups.py::test_with_snake_case PASSED 214s tests/unit/environ/test_lookups.py::test_with_pascal_or_camel_case PASSED 214s tests/unit/environ/test_wizard.py::test_load_and_dump PASSED 214s tests/unit/environ/test_wizard.py::test_load_and_dump_with_dict PASSED 214s tests/unit/environ/test_wizard.py::test_load_and_dump_with_aliases PASSED 214s tests/unit/environ/test_wizard.py::test_load_with_missing_env_variables PASSED 214s tests/unit/environ/test_wizard.py::test_load_with_parse_error 214s -------------------------------- live log call --------------------------------- 214s dataclass_wizard.bases_meta - [INFO] DEBUG Mode is enabled 214s PASSED 214s tests/unit/environ/test_wizard.py::test_load_with_parse_error_when_env_var_is_specified PASSED 214s tests/unit/environ/test_wizard.py::test_load_when_constructor_kwargs_are_passed PASSED 214s tests/unit/environ/test_wizard.py::test_init_method_declaration_is_logged_when_debug_mode_is_enabled PASSED 214s tests/unit/environ/test_wizard.py::test_load_with_tuple_of_dotenv_and_env_prefix_param_to_init PASSED 214s tests/unit/environ/test_wizard.py::test_env_prefix_with_env_file PASSED 214s tests/unit/environ/test_wizard.py::test_secrets_dir_and_override PASSED 214s tests/unit/environ/test_wizard.py::test_env_wizard_handles_nested_dataclass_field_with_multiple_input_types PASSED 214s tests/unit/test_bases_meta.py::test_merge_meta_with_or PASSED 214s tests/unit/test_bases_meta.py::test_merge_meta_with_and PASSED 214s tests/unit/test_bases_meta.py::test_meta_initializer_runs_as_expected 214s -------------------------------- live log call --------------------------------- 214s dataclass_wizard.bases_meta - [INFO] DEBUG Mode is enabled 214s PASSED 214s tests/unit/test_bases_meta.py::test_json_key_to_field_when_add_is_a_falsy_value PASSED 215s tests/unit/test_bases_meta.py::test_meta_config_is_not_implicitly_shared_between_dataclasses PASSED 215s tests/unit/test_bases_meta.py::test_meta_initializer_is_called_when_meta_is_an_inner_class PASSED 215s tests/unit/test_bases_meta.py::test_env_meta_initializer_not_called_when_meta_is_not_an_inner_class 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard.bases_meta - [WARNING] The 'test_env_meta_initializer_not_called_when_meta_is_not_an_inner_class.._' class is not declared as an Inner Class, so these are global settings that will apply to all EnvWizard sub-classes. 215s PASSED 215s tests/unit/test_bases_meta.py::test_meta_initializer_not_called_when_meta_is_not_an_inner_class 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard.bases_meta - [WARNING] The 'test_meta_initializer_not_called_when_meta_is_not_an_inner_class.._' class is not declared as an Inner Class, so these are global settings that will apply to all JSONSerializable sub-classes. 215s PASSED 215s tests/unit/test_bases_meta.py::test_meta_initializer_errors_when_key_transform_with_load_is_invalid PASSED 215s tests/unit/test_bases_meta.py::test_meta_initializer_errors_when_key_transform_with_dump_is_invalid PASSED 215s tests/unit/test_bases_meta.py::test_meta_initializer_errors_when_marshal_date_time_as_is_invalid PASSED 215s tests/unit/test_bases_meta.py::test_meta_initializer_is_noop_when_marshal_date_time_as_is_iso_format PASSED 215s tests/unit/test_dump.py::test_asdict_and_fromdict PASSED 215s tests/unit/test_dump.py::test_asdict_with_nested_dataclass PASSED 215s tests/unit/test_dump.py::test_tag_field_is_used_in_dump_process PASSED 215s tests/unit/test_dump.py::test_to_dict_key_transform_with_json_field PASSED 215s tests/unit/test_dump.py::test_to_dict_key_transform_with_json_key PASSED 215s tests/unit/test_dump.py::test_to_dict_with_skip_defaults PASSED 215s tests/unit/test_dump.py::test_to_dict_with_excluded_fields PASSED 215s tests/unit/test_dump.py::test_set[input0-expected0-expectation0] PASSED 215s tests/unit/test_dump.py::test_set[input1-expected1-expectation1] PASSED 215s tests/unit/test_dump.py::test_frozenset[input0-expected0-expectation0] PASSED 215s tests/unit/test_dump.py::test_frozenset[input1-expected1-expectation1] PASSED 215s tests/unit/test_dump.py::test_deque[input0-expected0-expectation0] PASSED 215s tests/unit/test_dump.py::test_deque[input1-expected1-expectation1] PASSED 215s tests/unit/test_dump.py::test_literal[testing-expectation0] XFAIL (s...) 215s tests/unit/test_dump.py::test_literal[e1-expectation1] XPASS (still ...) 215s tests/unit/test_dump.py::test_literal[False-expectation2] XFAIL (sti...) 215s tests/unit/test_dump.py::test_literal[0-expectation3] XPASS (still n...) 215s tests/unit/test_dump.py::test_uuid[input0-expectation0] PASSED 215s tests/unit/test_dump.py::test_uuid[input1-expectation1] PASSED 215s tests/unit/test_dump.py::test_uuid[input2-expectation2] PASSED 215s tests/unit/test_dump.py::test_uuid[input3-expectation3] PASSED 215s tests/unit/test_dump.py::test_timedelta[input0-expectation0] PASSED 215s tests/unit/test_dump.py::test_timedelta[input1-expectation1] PASSED 215s tests/unit/test_dump.py::test_timedelta[input2-expectation2] PASSED 215s tests/unit/test_dump.py::test_typed_dict[input0-expectation0] XFAIL 215s tests/unit/test_dump.py::test_typed_dict[input1-expectation1] XFAIL 215s tests/unit/test_dump.py::test_typed_dict[input2-expectation2] XPASS 215s tests/unit/test_dump.py::test_typed_dict[input3-expectation3] XFAIL 215s tests/unit/test_dump.py::test_typed_dict[input4-expectation4] XFAIL 215s tests/unit/test_dump.py::test_typed_dict[input5-expectation5] XPASS 215s tests/unit/test_dump.py::test_using_dataclass_in_dict PASSED 215s tests/unit/test_dump.py::test_bytes_and_bytes_array_are_supported PASSED 215s tests/unit/test_load.py::test_fromdict PASSED 215s tests/unit/test_load.py::test_fromdict_raises_on_unknown_json_fields 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard. - [WARNING] JSON field 'my_string' missing from dataclass schema, class=.MyClass'>, parsed field='my_string' 215s PASSED 215s tests/unit/test_load.py::test_fromdict_with_nested_dataclass PASSED 215s tests/unit/test_load.py::test_invalid_types_with_debug_mode_enabled PASSED 215s tests/unit/test_load.py::test_from_dict_called_with_incorrect_type PASSED 215s tests/unit/test_load.py::test_date_times_with_custom_pattern PASSED 215s tests/unit/test_load.py::test_date_times_with_custom_pattern_when_input_is_invalid PASSED 215s tests/unit/test_load.py::test_date_times_with_custom_pattern_when_annotation_is_invalid PASSED 215s tests/unit/test_load.py::test_tag_field_is_used_in_load_process PASSED 215s tests/unit/test_load.py::test_e2e_process_with_init_only_fields 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard. - [WARNING] JSON field 'myFloat' missing from dataclass schema, class=.MyClass'>, parsed field='my_float' 215s PASSED 215s tests/unit/test_load.py::test_bool[True-True] PASSED 215s tests/unit/test_load.py::test_bool[TrUe-True] PASSED 215s tests/unit/test_load.py::test_bool[y-True] PASSED 215s tests/unit/test_load.py::test_bool[T-True] PASSED 215s tests/unit/test_load.py::test_bool[1-True] PASSED 215s tests/unit/test_load.py::test_bool[False-False0] PASSED 215s tests/unit/test_load.py::test_bool[False-False1] PASSED 215s tests/unit/test_load.py::test_bool[testing-False] PASSED 215s tests/unit/test_load.py::test_bool[0-False] PASSED 215s tests/unit/test_load.py::test_from_dict_handles_identical_cased_json_keys PASSED 215s tests/unit/test_load.py::test_from_dict_with_missing_fields 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard. - [WARNING] JSON field 'myBool' missing from dataclass schema, class=.MyClass'>, parsed field='my_bool' 215s PASSED 215s tests/unit/test_load.py::test_from_dict_with_missing_fields_with_resolution 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard. - [WARNING] JSON field 'myBool' missing from dataclass schema, class=.MyClass'>, parsed field='my_bool' 215s PASSED 215s tests/unit/test_load.py::test_from_dict_key_transform_with_json_field PASSED 215s tests/unit/test_load.py::test_from_dict_key_transform_with_json_key PASSED 215s tests/unit/test_load.py::test_set[input0-expected0-expectation0] PASSED 215s tests/unit/test_load.py::test_set[TrUe-True-expectation1] PASSED 215s tests/unit/test_load.py::test_set[input2-expected2-expectation2] PASSED 215s tests/unit/test_load.py::test_frozenset[input0-expected0-expectation0] PASSED 215s tests/unit/test_load.py::test_frozenset[TrUe-True-expectation1] PASSED 215s tests/unit/test_load.py::test_frozenset[input2-expected2-expectation2] PASSED 215s tests/unit/test_load.py::test_literal[testing-expectation0] PASSED 215s tests/unit/test_load.py::test_literal[e1-expectation1] PASSED 215s tests/unit/test_load.py::test_literal[False-expectation2] PASSED 215s tests/unit/test_load.py::test_literal[0-expectation3] PASSED 215s tests/unit/test_load.py::test_annotated[True-True] PASSED 215s tests/unit/test_load.py::test_annotated[None-None] PASSED 215s tests/unit/test_load.py::test_annotated[TrUe-True] PASSED 215s tests/unit/test_load.py::test_annotated[y-True] PASSED 215s tests/unit/test_load.py::test_annotated[T-True] PASSED 215s tests/unit/test_load.py::test_annotated[F-False] PASSED 215s tests/unit/test_load.py::test_annotated[1-True] PASSED 215s tests/unit/test_load.py::test_annotated[False-False] PASSED 215s tests/unit/test_load.py::test_annotated[0-False] PASSED 215s tests/unit/test_load.py::test_uuid[12345678-1234-1234-1234-1234567abcde] PASSED 215s tests/unit/test_load.py::test_uuid[{12345678-1234-5678-1234-567812345678}] PASSED 215s tests/unit/test_load.py::test_uuid[12345678123456781234567812345678] PASSED 215s tests/unit/test_load.py::test_uuid[urn:uuid:12345678-1234-5678-1234-567812345678] PASSED 215s tests/unit/test_load.py::test_optional[testing-expectation0-testing] PASSED 215s tests/unit/test_load.py::test_optional[False-expectation1-False] PASSED 215s tests/unit/test_load.py::test_optional[0-expectation2-0] PASSED 215s tests/unit/test_load.py::test_optional[None-expectation3-None] PASSED 215s tests/unit/test_load.py::test_union[testing-expectation0-testing] PASSED 215s tests/unit/test_load.py::test_union[False-expectation1-False] PASSED 215s tests/unit/test_load.py::test_union[0-expectation2-0] PASSED 215s tests/unit/test_load.py::test_union[None-expectation3-None] PASSED 215s tests/unit/test_load.py::test_union[1.2-expectation4-None] PASSED 215s tests/unit/test_load.py::test_forward_refs_are_resolved PASSED 215s tests/unit/test_load.py::test_datetime[testing-expectation0] PASSED 215s tests/unit/test_load.py::test_datetime[2020-01-02T01:02:03Z-expectation1] PASSED 215s tests/unit/test_load.py::test_datetime[2010-12-31 23:59:59-04:00-expectation2] PASSED 215s tests/unit/test_load.py::test_datetime[123456789-expectation3] PASSED 215s tests/unit/test_load.py::test_datetime[True-expectation4] PASSED 215s tests/unit/test_load.py::test_datetime[input5-expectation5] PASSED 215s tests/unit/test_load.py::test_date[testing-expectation0] PASSED 215s tests/unit/test_load.py::test_date[2020-01-02-expectation1] PASSED 215s tests/unit/test_load.py::test_date[2010-12-31-expectation2] PASSED 215s tests/unit/test_load.py::test_date[123456789-expectation3] PASSED 215s tests/unit/test_load.py::test_date[True-expectation4] PASSED 215s tests/unit/test_load.py::test_date[input5-expectation5] PASSED 215s tests/unit/test_load.py::test_time[testing-expectation0] PASSED 215s tests/unit/test_load.py::test_time[01:02:03Z-expectation1] PASSED 215s tests/unit/test_load.py::test_time[23:59:59-04:00-expectation2] PASSED 215s tests/unit/test_load.py::test_time[123456789-expectation3] PASSED 215s tests/unit/test_load.py::test_time[True-expectation4] PASSED 215s tests/unit/test_load.py::test_time[input5-expectation5] PASSED 215s tests/unit/test_load.py::test_timedelta[testing-expectation0-ValueError] PASSED 215s tests/unit/test_load.py::test_timedelta[23:59:59-04:00-expectation1-ValueError] PASSED 215s tests/unit/test_load.py::test_timedelta[32-expectation2-None] PASSED 215s tests/unit/test_load.py::test_timedelta[32.7-expectation3-None] PASSED 215s tests/unit/test_load.py::test_timedelta[32m-expectation4-None] PASSED 215s tests/unit/test_load.py::test_timedelta[2h32m-expectation5-None] PASSED 215s tests/unit/test_load.py::test_timedelta[4:13-expectation6-None] PASSED 215s tests/unit/test_load.py::test_timedelta[5hr34m56s-expectation7-None] PASSED 215s tests/unit/test_load.py::test_timedelta[1.2 minutes-expectation8-None] PASSED 215s tests/unit/test_load.py::test_timedelta[12345-expectation9-None] PASSED 215s tests/unit/test_load.py::test_timedelta[True-expectation10-TypeError] PASSED 215s tests/unit/test_load.py::test_timedelta[input11-expectation11-None] PASSED 215s tests/unit/test_load.py::test_list[input0-expectation0-expected0] PASSED 215s tests/unit/test_load.py::test_list[input1-expectation1-None] PASSED 215s tests/unit/test_load.py::test_list[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_list[input3-expectation3-None] PASSED 215s tests/unit/test_load.py::test_list[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_list[testing-expectation5-None] PASSED 215s tests/unit/test_load.py::test_deque[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_deque[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_list_without_type_hinting[input0-expectation0-expected0] PASSED 215s tests/unit/test_load.py::test_list_without_type_hinting[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_list_without_type_hinting[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_list_without_type_hinting[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_list_without_type_hinting[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_list_without_type_hinting[testing-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_tuple[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_tuple[input1-expectation1-None] PASSED 215s tests/unit/test_load.py::test_tuple[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_tuple[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_tuple[testing-expectation4-None] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[input1-expectation1-None] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_tuple_with_optional_args[testing-expectation6-None] PASSED 215s tests/unit/test_load.py::test_tuple_without_type_hinting[input0-expectation0-expected0] PASSED 215s tests/unit/test_load.py::test_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_tuple_without_type_hinting[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_tuple_without_type_hinting[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_tuple_without_type_hinting[testing-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input0-expectation0-expected0] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input3-expectation3-None] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[input6-expectation6-expected6] PASSED 215s tests/unit/test_load.py::test_tuple_with_variadic_args[testing-expectation7-None] PASSED 215s tests/unit/test_load.py::test_dict[None-expectation0-None] PASSED 215s tests/unit/test_load.py::test_dict[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_dict[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_dict[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_dict[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_dict[input5-expectation5-None] PASSED 215s tests/unit/test_load.py::test_default_dict[None-expectation0-None] PASSED 215s tests/unit/test_load.py::test_default_dict[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_default_dict[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_default_dict[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_default_dict[input4-expectation4-None] PASSED 215s tests/unit/test_load.py::test_default_dict[input5-expectation5-None] PASSED 215s tests/unit/test_load.py::test_dict_without_type_hinting[None-expectation0-None] PASSED 215s tests/unit/test_load.py::test_dict_without_type_hinting[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_dict_without_type_hinting[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_dict_without_type_hinting[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_dict_without_type_hinting[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_dict_without_type_hinting[input5-expectation5-None] PASSED 215s tests/unit/test_load.py::test_typed_dict[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_typed_dict[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_typed_dict[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_typed_dict[input3-expectation3-None] PASSED 215s tests/unit/test_load.py::test_typed_dict[input4-expectation4-None] PASSED 215s tests/unit/test_load.py::test_typed_dict[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_typed_dict[input6-expectation6-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input0-expectation0-expected0] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_all_fields_optional[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input2-expectation2-expected2] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input3-expectation3-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input4-expectation4-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input6-expectation6-expected6] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_not_required[input7-expectation7-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input5-expectation5-None] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input6-expectation6-expected6] PASSED 215s tests/unit/test_load.py::test_typed_dict_with_one_field_required[input7-expectation7-expected7] PASSED 215s tests/unit/test_load.py::test_named_tuple[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_named_tuple[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_named_tuple[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_named_tuple[input3-expectation3-None] PASSED 215s tests/unit/test_load.py::test_named_tuple[input4-expectation4-None] PASSED 215s tests/unit/test_load.py::test_named_tuple[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_named_tuple[input6-expectation6-expected6] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input0-expectation0-None] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input2-expectation2-None] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input3-expectation3-expected3] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input4-expectation4-expected4] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input5-expectation5-expected5] PASSED 215s tests/unit/test_load.py::test_named_tuple_without_type_hinting[input6-expectation6-expected6] PASSED 215s tests/unit/test_load.py::test_optional_parser_contains[None-True] PASSED 215s tests/unit/test_load.py::test_optional_parser_contains[NoneType-False] PASSED 215s tests/unit/test_load.py::test_optional_parser_contains[hello world-True] PASSED 215s tests/unit/test_load.py::test_optional_parser_contains[123-False] PASSED 215s tests/unit/test_load.py::test_single_arg_parser_without_hook PASSED 215s tests/unit/test_load.py::test_parser_with_unsupported_type 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard.loaders - [WARNING] Using default loader, type=None 215s PASSED 215s tests/unit/test_load.py::test_load_with_inner_model_when_data_is_null PASSED 215s tests/unit/test_load.py::test_load_with_inner_model_when_data_is_wrong_type PASSED 215s tests/unit/test_load.py::test_load_with_python_3_11_regression PASSED 215s tests/unit/test_load.py::test_with_self_referential_dataclasses_1 PASSED 215s tests/unit/test_load.py::test_with_self_referential_dataclasses_2 PASSED 215s tests/unit/test_load.py::test_from_dict_with_nested_object_key_path PASSED 215s tests/unit/test_load.py::test_from_dict_with_nested_object_key_path_with_skip_defaults PASSED 215s tests/unit/test_load.py::test_auto_assign_tags_and_raise_on_unknown_json_key PASSED 215s tests/unit/test_load.py::test_auto_assign_tags_and_catch_all 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 215s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 215s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 215s dataclass_wizard.loaders - [WARNING] Using default loader, type=dataclass_wizard.models.CatchAll 215s PASSED 215s tests/unit/test_load.py::test_skip_if PASSED 215s tests/unit/test_load.py::test_skip_defaults_if PASSED 215s tests/unit/test_load.py::test_per_field_skip_if PASSED 215s tests/unit/test_load.py::test_is_truthy_and_is_falsy_conditions PASSED 215s tests/unit/test_load.py::test_skip_if_truthy_or_falsy PASSED 215s tests/unit/test_load.py::test_invalid_condition_annotation_raises_error PASSED 215s tests/unit/test_load.py::test_dataclass_in_union_when_tag_key_is_field PASSED 215s tests/unit/test_load.py::test_sequence_and_mutable_sequence_are_supported PASSED 215s tests/unit/test_load.py::test_dataclass_decorator_is_automatically_applied SKIPPED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input0-expectation0] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input1-expectation1] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input2-expectation2] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input3-expectation3] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input4-expectation4] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input5-expectation5] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v1[input6-expectation6] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input0-expectation0] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input1-expectation1] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input2-expectation2] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input3-expectation3] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input4-expectation4] PASSED 215s tests/unit/test_load_with_future_import.py::test_load_with_future_annotation_v2[input5-expectation5] SKIPPED 215s tests/unit/test_load_with_future_import.py::test_dataclasses_in_union_types PASSED 215s tests/unit/test_load_with_future_import.py::test_dataclasses_in_union_types_with_auto_assign_tags 215s -------------------------------- live log call --------------------------------- 215s dataclass_wizard. - [WARNING] JSON field 'type' missing from dataclass schema, class=.D'>, parsed field='type' 215s dataclass_wizard. - [WARNING] JSON field 'type' missing from dataclass schema, class=.C'>, parsed field='type' 215s dataclass_wizard. - [WARNING] JSON field 'type' missing from dataclass schema, class=.A'>, parsed field='type' 215s PASSED 215s tests/unit/test_models.py::test_json_field_does_not_allow_both_default_and_default_factory PASSED 215s tests/unit/test_models.py::test_container_with_incorrect_usage PASSED 215s tests/unit/test_models.py::test_container_methods PASSED 215s tests/unit/test_parsers.py::TestLiteralParser::test_literal_parser_dunder_contains_succeeds_if_item_in_keys_of_base_type PASSED 215s tests/unit/test_parsers.py::TestLiteralParser::test_literal_parser_dunder_contains_fails_if_item_not_in_keys_of_base_type PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_does_not_affect_normal_properties PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_does_not_affect_read_only_properties PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_does_not_error_when_forward_refs_are_declared PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_field PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_field_with_or PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_field PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_annotated_field PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_private_property_and_annotated_field_with_no_useful_extras PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_multiple_inheritance PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_without_default_value PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_with_default_factory PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_underscored_field_without_default_or_default_factory PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_without_default_value PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_public_property_and_public_field_is_property PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_with_default PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_with_default_factory PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_underscored_property_and_public_field_without_default_or_default_factory PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_where_annotated_type_contains_none PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_literal_type PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_concrete_type PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_concrete_type_and_default_factory_raises_type_error PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_generic_type_which_is_not_supported PASSED 215s tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_v1 PASSED 216s tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_v2 PASSED 216s tests/unit/test_property_wizard.py::test_property_wizard_with_mutable_types_with_parameterized_standard_collections PASSED 216s tests/unit/test_property_wizard_with_future_import.py::test_property_wizard_with_public_property_and_field_with_or PASSED 216s tests/unit/test_property_wizard_with_future_import.py::test_property_wizard_with_unresolvable_forward_ref PASSED 216s tests/unit/test_wizard_cli.py::test_call_py_code_generator_with_file_name PASSED 216s tests/unit/test_wizard_cli.py::test_call_py_code_generator_with_experimental_features PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_without_subcommand usage: __main__.py [-h] [-V] {gen-schema,gs} ... 216s 216s A companion CLI tool for the Dataclass Wizard, which simplifies interaction 216s with the Python `dataclasses` module. 216s 216s positional arguments: 216s {gen-schema,gs} Supported sub-commands 216s gen-schema (gs) Generates a Python dataclass schema, given a JSON input. 216s 216s options: 216s -h, --help show this help message and exit 216s -V, --version Display the version of this tool. 216s PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_invalid_json_input PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_invalid_json_type PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_when_double_quotes_are_used_to_wrap_input PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_mock_stdout PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_with_output_filename_without_ext Successfully generated the Python code for the JSON schema. 216s __________________________________________________ 216s 216s Wrote out the Python Code to: /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/testing 216s Saved the JSON Input to: /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/testing.json 216s PASSED 216s tests/unit/test_wizard_cli.py::test_call_wiz_cli_when_open_raises_error PASSED 216s tests/unit/test_wizard_cli.py::test_star_wars usage: __main__.py gen-schema [-h] [-n] [-f] [-x] [in-file] [out-file] 216s __main__.py gen-schema: error: argument out-file: can't open 'testing.py': 216s PASSED 216s tests/unit/test_wizard_cli.py::test_input_1 PASSED 216s tests/unit/test_wizard_cli.py::test_input_2 PASSED 216s tests/unit/test_wizard_cli.py::test_input_3 PASSED 216s tests/unit/test_wizard_cli.py::test_input_4 PASSED 216s tests/unit/test_wizard_cli.py::test_input_5 PASSED 216s tests/unit/test_wizard_cli.py::test_input_6 PASSED 216s tests/unit/test_wizard_cli.py::test_input_7 PASSED 216s tests/unit/test_wizard_cli.py::test_input_8 PASSED 216s tests/unit/test_wizard_mixins.py::test_json_list_wizard_methods PASSED 216s tests/unit/test_wizard_mixins.py::test_json_file_wizard_methods PASSED 216s tests/unit/test_wizard_mixins.py::test_yaml_wizard_methods PASSED 216s tests/unit/test_wizard_mixins.py::test_yaml_wizard_list_to_json PASSED 216s tests/unit/test_wizard_mixins.py::test_yaml_wizard_for_branch_coverage PASSED 216s tests/unit/test_wizard_mixins.py::test_toml_wizard_list_to_toml PASSED 216s tests/unit/test_wizard_mixins.py::test_toml_wizard_for_branch_coverage PASSED 216s tests/unit/utils/test_lazy_loader.py::test_lazy_loader_when_module_not_found PASSED 216s tests/unit/utils/test_lazy_loader.py::test_lazy_loader_with_warning PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[device_type-deviceType0] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[io_error-ioError] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[isACamelCasedWORD-isACamelCasedWORD] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[ATitledWordToTESTWith-aTitledWordToTESTWith] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[not-a-tester-notATester] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[device_type-deviceType1] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[helloworld-helloworld] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[A-a] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[TESTing_if_thisWorks-tESTingIfThisWorks] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[a_B_Cde_fG_hi-aBCdeFGHi] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[ALL_CAPS-aLLCAPS] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[WoRd-woRd] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[HIThereHOWIsItGoinG-hIThereHOWIsItGoinG] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[How_-Are-_YoUDoing__TeST-howAreYoUDoingTeST] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[thisIsWithANumber42ToTEST-thisIsWithANumber42ToTEST] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_camel_case[Number 42 With spaces-number42WithSpaces] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[device_type-DeviceType0] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[io_error-IoError] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[isACamelCasedWORD-IsACamelCasedWORD] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[ATitledWordToTESTWith-ATitledWordToTESTWith] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[not-a-tester-NotATester] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[device_type-DeviceType1] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[helloworld-Helloworld] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[A-A] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[TESTing_if_thisWorks-TESTingIfThisWorks] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[a_B_Cde_fG_hi-ABCdeFGHi] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[ALL_CAPS-ALLCAPS] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[WoRd-WoRd] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[HIThereHOWIsItGoinG-HIThereHOWIsItGoinG] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[How_-Are-_YoUDoing__TeST-HowAreYoUDoingTeST] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[thisIsWithANumber42ToTEST-ThisIsWithANumber42ToTEST] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_pascal_case[Number 42 With spaces-Number42WithSpaces] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[device_type-device-type] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[IO_Error-io-error] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[isACamelCasedWORD-is-a-camel-cased-word] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[ATitledWordToTESTWith-a-titled-word-to-test-with] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[not-a-tester-not-a-tester] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[helloworld-helloworld] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[A-a] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[TESTing_if_thisWorks-tes-ting-if-this-works] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[a_B_Cde_fG_hi-a-b-cde-f-g-hi] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[ALL_CAPS-all-caps] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[WoRd-wo-rd] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[HIThereHOWIsItGoinG-hi-there-how-is-it-goin-g] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[How_-Are-_YoUDoing__TeST-how-are-yo-u-doing-te-st] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[thisIsWithANumber42ToTEST-this-is-with-a-number42-to-test] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_lisp_case[Number 42 With spaces-number-42-with-spaces] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[device_type-device_type] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[IO_Error-io_error] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[isACamelCasedWORD-is_a_camel_cased_word] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[ATitledWordToTESTWith-a_titled_word_to_test_with] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[not-a-tester-not_a_tester] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[helloworld-helloworld] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[A-a] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[TESTing_if_thisWorks-tes_ting_if_this_works] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[a_B_Cde_fG_hi-a_b_cde_f_g_hi] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[ALL_CAPS-all_caps] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[WoRd-wo_rd] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[HIThereHOWIsItGoinG-hi_there_how_is_it_goin_g] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[How_-Are-_YoUDoing__TeST-how_are_yo_u_doing_te_st] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[thisIsWithANumber42ToTEST-this_is_with_a_number42_to_test] PASSED 216s tests/unit/utils/test_string_conv.py::test_to_snake_case[Number 42 With spaces-number_42_with_spaces] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[Literal-Literal] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[int-int] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[ClassVar-ClassVar] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[Generic-Generic0] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[Generic-Generic1] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[Union-Union] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_origin[List-list] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_args[Dict-expected0] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_args[int-expected1] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_args[Callable-expected2] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_args[Union-expected3] PASSED 216s tests/unit/utils/test_typing_compat.py::test_get_args[Union-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_missing_fields_is_raised PASSED 216s tests/unit/v1/test_loaders.py::test_auto_key_casing PASSED 216s tests/unit/v1/test_loaders.py::test_auto_key_casing_with_optional_fields PASSED 216s tests/unit/v1/test_loaders.py::test_alias_mapping PASSED 216s tests/unit/v1/test_loaders.py::test_alias_mapping_with_load_or_dump PASSED 216s tests/unit/v1/test_loaders.py::test_alias_with_multiple_mappings PASSED 216s tests/unit/v1/test_loaders.py::test_fromdict PASSED 216s tests/unit/v1/test_loaders.py::test_fromdict_raises_on_unknown_json_fields PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_raises_on_unknown_keys_nested PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_raises_on_unknown_keys_with_key_case_auto PASSED 216s tests/unit/v1/test_loaders.py::test_fromdict_with_key_case_auto PASSED 216s tests/unit/v1/test_loaders.py::test_fromdict_with_nested_dataclass PASSED 216s tests/unit/v1/test_loaders.py::test_invalid_types_with_debug_mode_enabled PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_called_with_incorrect_type PASSED 216s tests/unit/v1/test_loaders.py::test_date_times_with_custom_pattern PASSED 216s tests/unit/v1/test_loaders.py::test_date_times_with_subclass_of_time_and_plus_or_minus_in_pattern PASSED 216s tests/unit/v1/test_loaders.py::test_date_times_with_custom_pattern_when_input_is_invalid PASSED 216s tests/unit/v1/test_loaders.py::test_date_times_with_custom_pattern_when_annotation_is_invalid PASSED 216s tests/unit/v1/test_loaders.py::test_aware_and_utc_date_times_with_custom_pattern PASSED 216s tests/unit/v1/test_loaders.py::test_tag_field_is_used_in_load_process PASSED 216s tests/unit/v1/test_loaders.py::test_e2e_process_with_init_only_fields PASSED 216s tests/unit/v1/test_loaders.py::test_bool[True-True] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[TrUe-True] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[y-True] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[T-True] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[1-True] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[False-False0] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[False-False1] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[testing-False] PASSED 216s tests/unit/v1/test_loaders.py::test_bool[0-False] PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_handles_identical_cased_keys PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_with_missing_fields PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_with_missing_fields_with_resolution PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_key_transform_with_multiple_alias PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_key_transform_with_alias PASSED 216s tests/unit/v1/test_loaders.py::test_set[input0-expected0-expectation0] PASSED 216s tests/unit/v1/test_loaders.py::test_set[TrUe-True-expectation1] PASSED 216s tests/unit/v1/test_loaders.py::test_set[input2-expected2-expectation2] PASSED 216s tests/unit/v1/test_loaders.py::test_set[input3-expected3-expectation3] PASSED 216s tests/unit/v1/test_loaders.py::test_frozenset[input0-expected0-expectation0] PASSED 216s tests/unit/v1/test_loaders.py::test_frozenset[TrUe-True-expectation1] PASSED 216s tests/unit/v1/test_loaders.py::test_frozenset[input2-expected2-expectation2] PASSED 216s tests/unit/v1/test_loaders.py::test_frozenset[input3-expected3-expectation3] PASSED 216s tests/unit/v1/test_loaders.py::test_literal[testing-expectation0] PASSED 216s tests/unit/v1/test_loaders.py::test_literal[e1-expectation1] PASSED 216s tests/unit/v1/test_loaders.py::test_literal[0-expectation2] PASSED 216s tests/unit/v1/test_loaders.py::test_literal_recursive PASSED 216s tests/unit/v1/test_loaders.py::test_union_recursive PASSED 216s tests/unit/v1/test_loaders.py::test_multiple_union PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[True-True] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[None-None] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[TrUe-True] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[y-True] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[T-True] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[F-False] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[On-True] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[OFF-False] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[1-True] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[False-False] PASSED 216s tests/unit/v1/test_loaders.py::test_annotated[0-False] PASSED 216s tests/unit/v1/test_loaders.py::test_uuid[12345678-1234-1234-1234-1234567abcde] PASSED 216s tests/unit/v1/test_loaders.py::test_uuid[{12345678-1234-5678-1234-567812345678}] PASSED 216s tests/unit/v1/test_loaders.py::test_uuid[12345678123456781234567812345678] PASSED 216s tests/unit/v1/test_loaders.py::test_uuid[urn:uuid:12345678-1234-5678-1234-567812345678] PASSED 216s tests/unit/v1/test_loaders.py::test_optional[testing-expectation0-testing] PASSED 216s tests/unit/v1/test_loaders.py::test_optional[False-expectation1-False] PASSED 216s tests/unit/v1/test_loaders.py::test_optional[0-expectation2-0] PASSED 216s tests/unit/v1/test_loaders.py::test_optional[None-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_union[testing-expectation0-testing] PASSED 216s tests/unit/v1/test_loaders.py::test_union[False-expectation1-False] PASSED 216s tests/unit/v1/test_loaders.py::test_union[0-expectation2-0] PASSED 216s tests/unit/v1/test_loaders.py::test_union[None-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_union[1.2-expectation4-1.2] PASSED 216s tests/unit/v1/test_loaders.py::test_forward_refs_are_resolved PASSED 216s tests/unit/v1/test_loaders.py::test_datetime[testing-expectation0] PASSED 216s tests/unit/v1/test_loaders.py::test_datetime[2020-01-02T01:02:03Z-expectation1] PASSED 216s tests/unit/v1/test_loaders.py::test_datetime[2010-12-31 23:59:59-04:00-expectation2] PASSED 216s tests/unit/v1/test_loaders.py::test_datetime[123456789-expectation3] PASSED 216s tests/unit/v1/test_loaders.py::test_datetime[True-expectation4] PASSED 216s tests/unit/v1/test_loaders.py::test_datetime[input5-expectation5] PASSED 216s tests/unit/v1/test_loaders.py::test_date[testing-expectation0] PASSED 216s tests/unit/v1/test_loaders.py::test_date[2020-01-02-expectation1] PASSED 216s tests/unit/v1/test_loaders.py::test_date[2010-12-31-expectation2] PASSED 216s tests/unit/v1/test_loaders.py::test_date[123456789-expectation3] PASSED 216s tests/unit/v1/test_loaders.py::test_date[True-expectation4] PASSED 216s tests/unit/v1/test_loaders.py::test_date[input5-expectation5] PASSED 216s tests/unit/v1/test_loaders.py::test_time[testing-expectation0] PASSED 216s tests/unit/v1/test_loaders.py::test_time[01:02:03Z-expectation1] PASSED 216s tests/unit/v1/test_loaders.py::test_time[23:59:59-04:00-expectation2] PASSED 216s tests/unit/v1/test_loaders.py::test_time[123456789-expectation3] PASSED 216s tests/unit/v1/test_loaders.py::test_time[True-expectation4] PASSED 216s tests/unit/v1/test_loaders.py::test_time[input5-expectation5] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[testing-expectation0-ValueError] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[23:59:59-04:00-expectation1-ValueError] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[32-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[32.7-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[32m-expectation4-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[2h32m-expectation5-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[4:13-expectation6-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[5hr34m56s-expectation7-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[1.2 minutes-expectation8-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[12345-expectation9-None] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[True-expectation10-TypeError] PASSED 216s tests/unit/v1/test_loaders.py::test_timedelta[input11-expectation11-None] PASSED 216s tests/unit/v1/test_loaders.py::test_list[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_list[input1-expectation1-None] PASSED 216s tests/unit/v1/test_loaders.py::test_list[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_list[input3-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_list[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_list[testing-expectation5-None] PASSED 216s tests/unit/v1/test_loaders.py::test_deque[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_deque[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input0-expectation0-expected0] PASSED 216s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_list_without_type_hinting[testing-expectation5-expected5] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple[input1-expectation1-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple[testing-expectation4-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input1-expectation1-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input3-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[input5-expectation5-expected5] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_optional_args[testing-expectation6-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input0-expectation0-expected0] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_without_type_hinting[testing-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input3-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input5-expectation5-expected5] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input6-expectation6-None] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[input7-expectation7-expected7] PASSED 216s tests/unit/v1/test_loaders.py::test_tuple_with_variadic_args[testing-expectation8-None] PASSED 216s tests/unit/v1/test_loaders.py::test_dict[None-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_dict[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_dict[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_dict[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_dict[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_dict[input5-expectation5-None] PASSED 216s tests/unit/v1/test_loaders.py::test_default_dict[None-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_default_dict[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_default_dict[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_default_dict[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_default_dict[input4-expectation4-None] PASSED 216s tests/unit/v1/test_loaders.py::test_default_dict[input5-expectation5-None] PASSED 216s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[None-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_dict_without_type_hinting[input5-expectation5-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input3-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input4-expectation4-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input5-expectation5-expected5] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict[input6-expectation6-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input0-expectation0-expected0] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_all_fields_optional[input5-expectation5-expected5] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input3-expectation3-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input4-expectation4-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input5-expectation5-expected5] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input6-expectation6-expected6] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_not_required[input7-expectation7-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input2-expectation2-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input3-expectation3-expected3] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input4-expectation4-expected4] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input5-expectation5-None] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input6-expectation6-expected6] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_with_one_field_required[input7-expectation7-expected7] PASSED 216s tests/unit/v1/test_loaders.py::test_typed_dict_recursive test_typed_dict_recursive..MyContainer(test1={'key_two': {'key_two': None, 'key_one': 'S2'}, 'key_one': 'S1', 'key_three': {123: [{'key_two': {'key_two': None, 'key_one': 'S4'}, 'key_one': 'S3', 'key_three': {}}]}, 'key_four': [{'key_two': {'key_two': {'key_two': None, 'key_one': 'S6'}, 'key_one': 'S5'}, 'key_one': 'test'}]}) 216s PASSED 216s tests/unit/v1/test_loaders.py::test_named_tuple[input0-expectation0-None] PASSED 216s tests/unit/v1/test_loaders.py::test_named_tuple[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input0-expectation0-None] SKIPPED 216s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input1-expectation1-expected1] SKIPPED 216s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input2-expectation2-None] SKIPPED 216s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input3-expectation3-None] SKIPPED 216s tests/unit/v1/test_loaders.py::test_named_tuple_with_input_dict[input4-expectation4-expected4] SKIPPED 216s tests/unit/v1/test_loaders.py::test_named_tuple_recursive test_named_tuple_recursive..MyContainer(test1=NT(field_one='S1', field_two=NT(field_one='S2', field_two=None, field_three={}, field_four=[]), field_three={123: [NT(field_one='S3', field_two=NT(field_one='S4', field_two=None, field_three={}, field_four=[]), field_three={}, field_four=[])]}, field_four=[NT(field_one='test', field_two=NT(field_one='S5', field_two=NT(field_one='S6', field_two=None, field_three={}, field_four=[]), field_three={}, field_four=[]), field_three={}, field_four=[])])) 216s PASSED 216s tests/unit/v1/test_loaders.py::test_named_tuple_without_type_hinting[input0-expectation0-expected0] PASSED 216s tests/unit/v1/test_loaders.py::test_named_tuple_without_type_hinting[input1-expectation1-expected1] PASSED 216s tests/unit/v1/test_loaders.py::test_named_tuple_without_type_hinting[input2-expectation2-expected2] PASSED 216s tests/unit/v1/test_loaders.py::test_load_with_inner_model_when_data_is_null PASSED 216s tests/unit/v1/test_loaders.py::test_load_with_inner_model_when_data_is_wrong_type PASSED 216s tests/unit/v1/test_loaders.py::test_load_with_python_3_11_regression PASSED 216s tests/unit/v1/test_loaders.py::test_with_self_referential_dataclasses_1 PASSED 216s tests/unit/v1/test_loaders.py::test_with_self_referential_dataclasses_2 PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path_with_skip_defaults PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_with_nested_object_alias_path_with_dump_alias_and_skip PASSED 216s tests/unit/v1/test_loaders.py::test_from_dict_with_multiple_nested_object_alias_paths PASSED 216s tests/unit/v1/test_loaders.py::test_auto_assign_tags_and_raise_on_unknown_keys PASSED 216s tests/unit/v1/test_loaders.py::test_auto_assign_tags_and_catch_all PASSED 216s tests/unit/v1/test_loaders.py::test_skip_if PASSED 216s tests/unit/v1/test_loaders.py::test_skip_defaults_if PASSED 216s tests/unit/v1/test_loaders.py::test_per_field_skip_if PASSED 216s tests/unit/v1/test_loaders.py::test_is_truthy_and_is_falsy_conditions PASSED 216s tests/unit/v1/test_loaders.py::test_skip_if_truthy_or_falsy PASSED 216s tests/unit/v1/test_loaders.py::test_invalid_condition_annotation_raises_error PASSED 216s tests/unit/v1/test_loaders.py::test_dataclass_in_union_when_tag_key_is_field PASSED 216s tests/unit/v1/test_loaders.py::test_sequence_and_mutable_sequence_are_supported PASSED 216s tests/unit/v1/test_loaders.py::test_dataclass_decorator_is_automatically_applied SKIPPED 216s tests/unit/v1/test_loaders.py::test_bytes_and_bytes_array_are_supported PASSED 216s tests/unit/v1/test_loaders.py::test_literal_string PASSED 216s tests/unit/v1/test_loaders.py::test_decimal PASSED 217s tests/unit/v1/test_loaders.py::test_path 217s -------------------------------- live log call --------------------------------- 217s dataclass_wizard.dumpers - [WARNING] Using default dumper, object=PosixPath('a/b/c'), type= 217s PASSED 217s tests/unit/v1/test_loaders.py::test_none PASSED 217s tests/unit/v1/test_loaders.py::test_enum PASSED 217s tests/unit/v1/test_loaders.py::test_str_and_int_enum PASSED 217s tests/unit/v1/test_union_as_type_alias_recursive.py::test_union_as_type_alias_recursive PASSED 217s 217s =============================== warnings summary =============================== 217s tests/unit/test_load.py:2581 217s /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/tests/unit/test_load.py:2581: SyntaxWarning: invalid escape sequence '\.' 217s with pytest.raises(TypeError, match=".*Test\.__init__\(\) missing 1 required positional argument: 'my_field'"): 217s 217s tests/unit/v1/test_loaders.py:3653 217s /tmp/autopkgtest.yVP6gw/autopkgtest_tmp/build/tests/unit/v1/test_loaders.py:3653: SyntaxWarning: invalid escape sequence '\.' 217s with pytest.raises(TypeError, match=".*Test\.__init__\(\) missing 1 required positional argument: 'my_field'"): 217s 217s tests/unit/test_bases_meta.py: 6 warnings 217s tests/unit/test_dump.py: 20 warnings 217s tests/unit/test_load.py: 54 warnings 217s tests/unit/test_load_with_future_import.py: 28 warnings 217s tests/unit/test_wizard_mixins.py: 5 warnings 217s tests/unit/v1/test_loaders.py: 264 warnings 217s tests/unit/v1/test_union_as_type_alias_recursive.py: 1 warning 217s /usr/lib/python3/dist-packages/dataclass_wizard/bases_meta.py:135: DeprecationWarning: Deprecated Meta setting debug_enabled (Use `v1_debug` instead). 217s show_deprecation_warning( 217s 217s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 217s = 656 passed, 8 skipped, 11 deselected, 6 xfailed, 4 xpassed, 380 warnings in 3.09s = 217s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 217s make: *** [/tmp/d18gFWwKp1/run:4: pybuild-autopkgtest] Error 25 217s pybuild-autopkgtest: error: /tmp/d18gFWwKp1/run pybuild-autopkgtest returned exit code 2 217s autopkgtest [11:41:38]: test pybuild-autopkgtest: -----------------------] 222s autopkgtest [11:41:43]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 222s pybuild-autopkgtest FAIL non-zero exit status 25 226s autopkgtest [11:41:47]: @@@@@@@@@@@@@@@@@@@@ summary 226s pybuild-autopkgtest FAIL non-zero exit status 25