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