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