0s autopkgtest [02:31:23]: starting date and time: 2026-02-06 02:31:23+0000 0s autopkgtest [02:31:23]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [02:31:23]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.sv7xa4n6/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python-django --apt-upgrade python-djantic --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python-django/3:5.2.9-0ubuntu3 -- lxd -r lxd-armhf-10.145.243.171 lxd-armhf-10.145.243.171:autopkgtest/ubuntu/resolute/armhf 28s autopkgtest [02:31:51]: testbed dpkg architecture: armhf 30s autopkgtest [02:31:53]: testbed apt version: 3.1.14 34s autopkgtest [02:31:57]: @@@@@@@@@@@@@@@@@@@@ test bed setup 36s autopkgtest [02:31:59]: testbed release detected to be: None 44s autopkgtest [02:32:07]: updating testbed package index (apt update) 46s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 47s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 47s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 47s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 47s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [221 kB] 47s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1631 kB] 47s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5260 B] 47s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [31.4 kB] 47s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [255 kB] 47s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1333 kB] 48s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [7492 B] 48s Get:12 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 50s Get:13 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [310 kB] 50s Get:14 http://ftpmaster.internal/ubuntu resolute/main Sources [1399 kB] 50s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1373 kB] 50s Get:16 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [15.1 MB] 51s Get:17 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [176 kB] 54s Fetched 43.7 MB in 7s (5964 kB/s) 55s Reading package lists... 61s autopkgtest [02:32:24]: upgrading testbed (apt dist-upgrade and autopurge) 63s Reading package lists... 63s Building dependency tree... 63s Reading state information... 64s Calculating upgrade... 65s The following packages will be upgraded: 65s libdrm-amdgpu1 libdrm-common libdrm2 mawk 65s 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 65s Need to get 189 kB of archives. 65s After this operation, 0 B of additional disk space will be used. 65s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf mawk armhf 1.3.4.20260129-1 [120 kB] 65s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf libdrm-common all 2.4.131-1 [9774 B] 65s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libdrm2 armhf 2.4.131-1 [38.0 kB] 65s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf libdrm-amdgpu1 armhf 2.4.131-1 [20.9 kB] 66s Fetched 189 kB in 1s (373 kB/s) 66s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 68395 files and directories currently installed.) 66s Preparing to unpack .../mawk_1.3.4.20260129-1_armhf.deb ... 66s Unpacking mawk (1.3.4.20260129-1) over (1.3.4.20250131-2) ... 66s Preparing to unpack .../libdrm-common_2.4.131-1_all.deb ... 66s Unpacking libdrm-common (2.4.131-1) over (2.4.129-1) ... 66s Preparing to unpack .../libdrm2_2.4.131-1_armhf.deb ... 66s Unpacking libdrm2:armhf (2.4.131-1) over (2.4.129-1) ... 66s Preparing to unpack .../libdrm-amdgpu1_2.4.131-1_armhf.deb ... 66s Unpacking libdrm-amdgpu1:armhf (2.4.131-1) over (2.4.129-1) ... 66s Setting up mawk (1.3.4.20260129-1) ... 66s Setting up libdrm-common (2.4.131-1) ... 66s Setting up libdrm2:armhf (2.4.131-1) ... 66s Setting up libdrm-amdgpu1:armhf (2.4.131-1) ... 66s Processing triggers for man-db (2.13.1-1) ... 67s Processing triggers for libc-bin (2.42-2ubuntu4) ... 69s Reading package lists... 70s Building dependency tree... 70s Reading state information... 70s Solving dependencies... 71s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s autopkgtest [02:32:36]: rebooting testbed after setup commands that affected boot 116s autopkgtest [02:33:19]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 142s autopkgtest [02:33:45]: @@@@@@@@@@@@@@@@@@@@ apt-source python-djantic 158s Get:1 http://ftpmaster.internal/ubuntu resolute/universe python-djantic 0.7.0-6 (dsc) [2588 B] 158s Get:2 http://ftpmaster.internal/ubuntu resolute/universe python-djantic 0.7.0-6 (tar) [54.6 kB] 158s Get:3 http://ftpmaster.internal/ubuntu resolute/universe python-djantic 0.7.0-6 (diff) [4336 B] 158s gpgv: Signature made Thu Feb 20 07:32:29 2025 UTC 158s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 158s gpgv: issuer "tchet@debian.org" 158s gpgv: Can't check signature: No public key 158s dpkg-source: warning: cannot verify inline signature for ./python-djantic_0.7.0-6.dsc: no acceptable signature found 158s autopkgtest [02:34:01]: testing package python-djantic version 0.7.0-6 160s autopkgtest [02:34:03]: build not needed 163s autopkgtest [02:34:06]: test upstream: preparing testbed 165s Reading package lists... 165s Building dependency tree... 165s Reading state information... 165s Solving dependencies... 166s The following NEW packages will be installed: 166s libdeflate0 libfreetype6 libgomp1 libgraphite2-3 libharfbuzz0b 166s libimagequant0 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 liblerc4 166s libopenjp2-7 libpq5 libpython3.14-minimal libpython3.14-stdlib libraqm0 166s libsharpyuv0 libtiff6 libwebp7 libwebpdemux2 libwebpmux3 python-djantic-doc 166s python3-all python3-annotated-types python3-asgiref python3-django 166s python3-djantic python3-dnspython python3-email-validator 166s python3-factory-boy python3-fake-factory python3-iniconfig python3-pil 166s python3-pluggy python3-psycopg2 python3-pydantic python3-pydantic-core 166s python3-pytest python3-pytest-django python3-sqlparse 166s python3-typing-inspection python3.14 python3.14-minimal 168s 0 upgraded, 43 newly installed, 0 to remove and 0 not upgraded. 168s Need to get 17.3 MB of archives. 168s After this operation, 86.1 MB of additional disk space will be used. 168s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.2-1 [905 kB] 168s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.2-1 [2155 kB] 168s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libdeflate0 armhf 1.23-2 [38.7 kB] 168s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf libfreetype6 armhf 2.14.1+dfsg-2 [345 kB] 168s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-12ubuntu1 [129 kB] 168s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libgraphite2-3 armhf 1.3.14-11ubuntu1 [65.2 kB] 168s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf libharfbuzz0b armhf 12.3.2-1 [501 kB] 168s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libimagequant0 armhf 2.18.0-1build1 [31.1 kB] 168s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg-turbo8 armhf 2.1.5-4ubuntu2 [127 kB] 168s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 168s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf liblcms2-2 armhf 2.17-1 [139 kB] 168s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu2 [162 kB] 168s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libpq5 armhf 18.1-2 [137 kB] 168s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.2-1 [2270 kB] 169s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf libraqm0 armhf 0.10.3-1 [12.7 kB] 169s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf libsharpyuv0 armhf 1.5.0-0.1build1 [16.3 kB] 169s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf libjbig0 armhf 2.1-6.1ubuntu3 [25.3 kB] 169s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf libwebp7 armhf 1.5.0-0.1build1 [189 kB] 169s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf libtiff6 armhf 4.7.0-3ubuntu3 [188 kB] 169s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf libwebpdemux2 armhf 1.5.0-0.1build1 [11.7 kB] 169s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf libwebpmux3 armhf 1.5.0-0.1build1 [22.4 kB] 169s Get:22 http://ftpmaster.internal/ubuntu resolute/universe armhf python-djantic-doc all 0.7.0-6 [492 kB] 169s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.2-1 [816 kB] 169s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf python3-all armhf 3.13.9-3 [890 B] 169s Get:25 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-annotated-types all 0.7.0-1 [19.4 kB] 169s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf python3-asgiref all 3.11.0-1 [25.2 kB] 169s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf python3-sqlparse all 0.5.4-1 [34.3 kB] 169s Get:28 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf python3-django all 3:5.2.9-0ubuntu3 [3040 kB] 169s Get:29 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pydantic-core armhf 2.41.5-2 [2274 kB] 170s Get:30 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-typing-inspection all 0.4.2-1 [13.1 kB] 170s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf python3-dnspython all 2.7.0-1ubuntu2 [167 kB] 170s Get:32 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-email-validator all 2.2.0-1 [28.5 kB] 170s Get:33 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pydantic armhf 2.12.5-2 [312 kB] 170s Get:34 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-djantic all 0.7.0-6 [9454 B] 170s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf libopenjp2-7 armhf 2.5.4-1 [175 kB] 170s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf python3-pil armhf 12.0.0-1ubuntu1 [462 kB] 170s Get:37 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-fake-factory all 39.0.0-1 [1455 kB] 170s Get:38 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-factory-boy all 3.3.3-1build1 [35.9 kB] 170s Get:39 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-2 [6962 B] 170s Get:40 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-2 [21.1 kB] 170s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf python3-psycopg2 armhf 2.9.11-1 [162 kB] 170s Get:42 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 9.0.2-2 [277 kB] 170s Get:43 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest-django all 4.11.1-2 [21.8 kB] 170s Fetched 17.3 MB in 4s (4807 kB/s) 170s Selecting previously unselected package libpython3.14-minimal:armhf. 171s (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 ... 68395 files and directories currently installed.) 171s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_armhf.deb ... 171s Unpacking libpython3.14-minimal:armhf (3.14.2-1) ... 171s Selecting previously unselected package python3.14-minimal. 171s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_armhf.deb ... 171s Unpacking python3.14-minimal (3.14.2-1) ... 171s Selecting previously unselected package libdeflate0:armhf. 171s Preparing to unpack .../02-libdeflate0_1.23-2_armhf.deb ... 171s Unpacking libdeflate0:armhf (1.23-2) ... 171s Selecting previously unselected package libfreetype6:armhf. 171s Preparing to unpack .../03-libfreetype6_2.14.1+dfsg-2_armhf.deb ... 171s Unpacking libfreetype6:armhf (2.14.1+dfsg-2) ... 171s Selecting previously unselected package libgomp1:armhf. 171s Preparing to unpack .../04-libgomp1_15.2.0-12ubuntu1_armhf.deb ... 171s Unpacking libgomp1:armhf (15.2.0-12ubuntu1) ... 171s Selecting previously unselected package libgraphite2-3:armhf. 171s Preparing to unpack .../05-libgraphite2-3_1.3.14-11ubuntu1_armhf.deb ... 171s Unpacking libgraphite2-3:armhf (1.3.14-11ubuntu1) ... 171s Selecting previously unselected package libharfbuzz0b:armhf. 171s Preparing to unpack .../06-libharfbuzz0b_12.3.2-1_armhf.deb ... 171s Unpacking libharfbuzz0b:armhf (12.3.2-1) ... 171s Selecting previously unselected package libimagequant0:armhf. 171s Preparing to unpack .../07-libimagequant0_2.18.0-1build1_armhf.deb ... 171s Unpacking libimagequant0:armhf (2.18.0-1build1) ... 171s Selecting previously unselected package libjpeg-turbo8:armhf. 171s Preparing to unpack .../08-libjpeg-turbo8_2.1.5-4ubuntu2_armhf.deb ... 171s Unpacking libjpeg-turbo8:armhf (2.1.5-4ubuntu2) ... 171s Selecting previously unselected package libjpeg8:armhf. 171s Preparing to unpack .../09-libjpeg8_8c-2ubuntu11_armhf.deb ... 171s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 171s Selecting previously unselected package liblcms2-2:armhf. 171s Preparing to unpack .../10-liblcms2-2_2.17-1_armhf.deb ... 171s Unpacking liblcms2-2:armhf (2.17-1) ... 171s Selecting previously unselected package liblerc4:armhf. 171s Preparing to unpack .../11-liblerc4_4.0.0+ds-5ubuntu2_armhf.deb ... 171s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu2) ... 171s Selecting previously unselected package libpq5:armhf. 171s Preparing to unpack .../12-libpq5_18.1-2_armhf.deb ... 171s Unpacking libpq5:armhf (18.1-2) ... 171s Selecting previously unselected package libpython3.14-stdlib:armhf. 171s Preparing to unpack .../13-libpython3.14-stdlib_3.14.2-1_armhf.deb ... 171s Unpacking libpython3.14-stdlib:armhf (3.14.2-1) ... 171s Selecting previously unselected package libraqm0:armhf. 171s Preparing to unpack .../14-libraqm0_0.10.3-1_armhf.deb ... 171s Unpacking libraqm0:armhf (0.10.3-1) ... 171s Selecting previously unselected package libsharpyuv0:armhf. 171s Preparing to unpack .../15-libsharpyuv0_1.5.0-0.1build1_armhf.deb ... 171s Unpacking libsharpyuv0:armhf (1.5.0-0.1build1) ... 171s Selecting previously unselected package libjbig0:armhf. 171s Preparing to unpack .../16-libjbig0_2.1-6.1ubuntu3_armhf.deb ... 171s Unpacking libjbig0:armhf (2.1-6.1ubuntu3) ... 172s Selecting previously unselected package libwebp7:armhf. 172s Preparing to unpack .../17-libwebp7_1.5.0-0.1build1_armhf.deb ... 172s Unpacking libwebp7:armhf (1.5.0-0.1build1) ... 172s Selecting previously unselected package libtiff6:armhf. 172s Preparing to unpack .../18-libtiff6_4.7.0-3ubuntu3_armhf.deb ... 172s Unpacking libtiff6:armhf (4.7.0-3ubuntu3) ... 172s Selecting previously unselected package libwebpdemux2:armhf. 172s Preparing to unpack .../19-libwebpdemux2_1.5.0-0.1build1_armhf.deb ... 172s Unpacking libwebpdemux2:armhf (1.5.0-0.1build1) ... 172s Selecting previously unselected package libwebpmux3:armhf. 172s Preparing to unpack .../20-libwebpmux3_1.5.0-0.1build1_armhf.deb ... 172s Unpacking libwebpmux3:armhf (1.5.0-0.1build1) ... 172s Selecting previously unselected package python-djantic-doc. 172s Preparing to unpack .../21-python-djantic-doc_0.7.0-6_all.deb ... 172s Unpacking python-djantic-doc (0.7.0-6) ... 172s Selecting previously unselected package python3.14. 172s Preparing to unpack .../22-python3.14_3.14.2-1_armhf.deb ... 172s Unpacking python3.14 (3.14.2-1) ... 172s Selecting previously unselected package python3-all. 172s Preparing to unpack .../23-python3-all_3.13.9-3_armhf.deb ... 172s Unpacking python3-all (3.13.9-3) ... 172s Selecting previously unselected package python3-annotated-types. 172s Preparing to unpack .../24-python3-annotated-types_0.7.0-1_all.deb ... 172s Unpacking python3-annotated-types (0.7.0-1) ... 172s Selecting previously unselected package python3-asgiref. 172s Preparing to unpack .../25-python3-asgiref_3.11.0-1_all.deb ... 172s Unpacking python3-asgiref (3.11.0-1) ... 172s Selecting previously unselected package python3-sqlparse. 172s Preparing to unpack .../26-python3-sqlparse_0.5.4-1_all.deb ... 172s Unpacking python3-sqlparse (0.5.4-1) ... 172s Selecting previously unselected package python3-django. 172s Preparing to unpack .../27-python3-django_3%3a5.2.9-0ubuntu3_all.deb ... 172s Unpacking python3-django (3:5.2.9-0ubuntu3) ... 173s Selecting previously unselected package python3-pydantic-core. 173s Preparing to unpack .../28-python3-pydantic-core_2.41.5-2_armhf.deb ... 173s Unpacking python3-pydantic-core (2.41.5-2) ... 173s Selecting previously unselected package python3-typing-inspection. 173s Preparing to unpack .../29-python3-typing-inspection_0.4.2-1_all.deb ... 173s Unpacking python3-typing-inspection (0.4.2-1) ... 173s Selecting previously unselected package python3-dnspython. 173s Preparing to unpack .../30-python3-dnspython_2.7.0-1ubuntu2_all.deb ... 173s Unpacking python3-dnspython (2.7.0-1ubuntu2) ... 173s Selecting previously unselected package python3-email-validator. 173s Preparing to unpack .../31-python3-email-validator_2.2.0-1_all.deb ... 173s Unpacking python3-email-validator (2.2.0-1) ... 173s Selecting previously unselected package python3-pydantic. 173s Preparing to unpack .../32-python3-pydantic_2.12.5-2_armhf.deb ... 173s Unpacking python3-pydantic (2.12.5-2) ... 173s Selecting previously unselected package python3-djantic. 173s Preparing to unpack .../33-python3-djantic_0.7.0-6_all.deb ... 173s Unpacking python3-djantic (0.7.0-6) ... 173s Selecting previously unselected package libopenjp2-7:armhf. 173s Preparing to unpack .../34-libopenjp2-7_2.5.4-1_armhf.deb ... 173s Unpacking libopenjp2-7:armhf (2.5.4-1) ... 173s Selecting previously unselected package python3-pil:armhf. 173s Preparing to unpack .../35-python3-pil_12.0.0-1ubuntu1_armhf.deb ... 173s Unpacking python3-pil:armhf (12.0.0-1ubuntu1) ... 173s Selecting previously unselected package python3-fake-factory. 173s Preparing to unpack .../36-python3-fake-factory_39.0.0-1_all.deb ... 173s Unpacking python3-fake-factory (39.0.0-1) ... 174s Selecting previously unselected package python3-factory-boy. 174s Preparing to unpack .../37-python3-factory-boy_3.3.3-1build1_all.deb ... 174s Unpacking python3-factory-boy (3.3.3-1build1) ... 174s Selecting previously unselected package python3-iniconfig. 174s Preparing to unpack .../38-python3-iniconfig_2.1.0-2_all.deb ... 174s Unpacking python3-iniconfig (2.1.0-2) ... 174s Selecting previously unselected package python3-pluggy. 174s Preparing to unpack .../39-python3-pluggy_1.6.0-2_all.deb ... 174s Unpacking python3-pluggy (1.6.0-2) ... 174s Selecting previously unselected package python3-psycopg2. 174s Preparing to unpack .../40-python3-psycopg2_2.9.11-1_armhf.deb ... 174s Unpacking python3-psycopg2 (2.9.11-1) ... 174s Selecting previously unselected package python3-pytest. 174s Preparing to unpack .../41-python3-pytest_9.0.2-2_all.deb ... 174s Unpacking python3-pytest (9.0.2-2) ... 174s Selecting previously unselected package python3-pytest-django. 174s Preparing to unpack .../42-python3-pytest-django_4.11.1-2_all.deb ... 174s Unpacking python3-pytest-django (4.11.1-2) ... 174s Setting up libgraphite2-3:armhf (1.3.14-11ubuntu1) ... 174s Setting up liblcms2-2:armhf (2.17-1) ... 174s Setting up python3-iniconfig (2.1.0-2) ... 174s Setting up libsharpyuv0:armhf (1.5.0-0.1build1) ... 174s Setting up python3-pydantic-core (2.41.5-2) ... 175s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu2) ... 175s Setting up python3-typing-inspection (0.4.2-1) ... 175s Setting up libpython3.14-minimal:armhf (3.14.2-1) ... 175s Setting up python-djantic-doc (0.7.0-6) ... 175s Setting up libpq5:armhf (18.1-2) ... 175s Setting up libdeflate0:armhf (1.23-2) ... 175s Setting up libgomp1:armhf (15.2.0-12ubuntu1) ... 175s Setting up libjbig0:armhf (2.1-6.1ubuntu3) ... 175s Setting up python3-annotated-types (0.7.0-1) ... 175s Setting up python3-sqlparse (0.5.4-1) ... 176s Setting up libfreetype6:armhf (2.14.1+dfsg-2) ... 176s Setting up libimagequant0:armhf (2.18.0-1build1) ... 176s Setting up python3-psycopg2 (2.9.11-1) ... 176s Setting up libjpeg-turbo8:armhf (2.1.5-4ubuntu2) ... 176s Setting up python3-pluggy (1.6.0-2) ... 176s Setting up libwebp7:armhf (1.5.0-0.1build1) ... 176s Setting up python3-dnspython (2.7.0-1ubuntu2) ... 177s Setting up libopenjp2-7:armhf (2.5.4-1) ... 177s Setting up libharfbuzz0b:armhf (12.3.2-1) ... 177s Setting up python3-email-validator (2.2.0-1) ... 177s Setting up libwebpmux3:armhf (1.5.0-0.1build1) ... 177s Setting up python3.14-minimal (3.14.2-1) ... 179s Setting up python3-asgiref (3.11.0-1) ... 179s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 179s Setting up python3-django (3:5.2.9-0ubuntu3) ... 182s Setting up libpython3.14-stdlib:armhf (3.14.2-1) ... 182s Setting up python3-pytest (9.0.2-2) ... 183s Setting up libwebpdemux2:armhf (1.5.0-0.1build1) ... 183s Setting up python3-pytest-django (4.11.1-2) ... 183s Setting up python3-pydantic (2.12.5-2) ... 184s Setting up libraqm0:armhf (0.10.3-1) ... 184s Setting up libtiff6:armhf (4.7.0-3ubuntu3) ... 184s Setting up python3-djantic (0.7.0-6) ... 184s Setting up python3.14 (3.14.2-1) ... 186s Setting up python3-all (3.13.9-3) ... 186s Setting up python3-pil:armhf (12.0.0-1ubuntu1) ... 187s Setting up python3-fake-factory (39.0.0-1) ... 190s Setting up python3-factory-boy (3.3.3-1build1) ... 191s Processing triggers for systemd (259-1ubuntu3) ... 191s Processing triggers for man-db (2.13.1-1) ... 191s Processing triggers for libc-bin (2.42-2ubuntu4) ... 202s autopkgtest [02:34:45]: test upstream: [----------------------- 205s ============================= test session starts ============================== 205s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 205s cachedir: .pytest_cache 205s django: version: 5.2.9, settings: tests.testapp.settings (from ini) 205s rootdir: /tmp/autopkgtest.I1ZQeT/autopkgtest_tmp 205s configfile: setup.cfg 205s plugins: typeguard-4.4.4, Faker-39.0.0, django-4.11.1 206s collecting ... collected 32 items / 4 deselected / 28 selected 206s 206s tests/test_fields.py::test_unhandled_field_type Creating test database for alias 'default'... 206s is currently unhandled, defaulting to str. 206s PASSED 206s tests/test_fields.py::test_custom_field PASSED 206s tests/test_fields.py::test_postgres_json_field PASSED 206s tests/test_fields.py::test_lazy_choice_field PASSED 206s tests/test_fields.py::test_enum_choices PASSED 206s tests/test_fields.py::test_enum_choices_generates_unique_enums PASSED 206s tests/test_fields.py::test_listing PASSED 206s tests/test_files.py::test_image_field_schema PASSED 206s tests/test_main.py::test_config_errors PASSED 206s tests/test_main.py::test_get_field_names PASSED 206s tests/test_queries.py::test_get_instance PASSED 206s tests/test_queries.py::test_get_instance_with_generic_foreign_key FAILED 206s tests/test_queries.py::test_get_queryset_with_reverse_one_to_one FAILED 206s tests/test_queries.py::test_get_queryset_with_foreign_key FAILED 206s tests/test_queries.py::test_get_queryset_with_reverse_foreign_key FAILED 206s tests/test_queries.py::test_get_queryset_with_generic_foreign_key PASSED 206s tests/test_relations.py::test_m2m FAILED 206s tests/test_relations.py::test_foreign_key FAILED 206s tests/test_relations.py::test_one_to_one FAILED 206s tests/test_relations.py::test_one_to_one_reverse FAILED 206s tests/test_relations.py::test_generic_relation FAILED 206s tests/test_relations.py::test_m2m_reverse FAILED 206s tests/test_schemas.py::test_description PASSED 206s tests/test_schemas.py::test_cache PASSED 206s tests/test_schemas.py::test_include_exclude PASSED 206s tests/test_schemas.py::test_json PASSED 206s tests/test_schemas.py::test_include_from_annotations FAILED 206s tests/test_schemas.py::test_by_alias_generator PASSEDDestroying test database for alias 'default'... 207s 207s 207s =================================== FAILURES =================================== 207s __________________ test_get_instance_with_generic_foreign_key __________________ 207s 207s @pytest.mark.django_db 207s def test_get_instance_with_generic_foreign_key(): 207s 207s bookmark = Bookmark.objects.create(url="https://www.djangoproject.com/") 207s Tagged.objects.create(content_object=bookmark, slug="django") 207s 207s class TaggedSchema(ModelSchema): 207s class Config: 207s model = Tagged 207s 207s class BookmarkWithTaggedSchema(ModelSchema): 207s 207s tags: List[TaggedSchema] 207s 207s class Config: 207s model = Bookmark 207s 207s bookmark_with_tagged_schema = BookmarkWithTaggedSchema.from_django(bookmark) 207s 207s > assert bookmark_with_tagged_schema.dict() == { 207s "id": 1, 207s "tags": [ 207s { 207s 'content_object': 1, 207s "content_type": 20, 207s "id": 1, 207s "object_id": 1, 207s "slug": "django", 207s } 207s ], 207s "url": "https://www.djangoproject.com/", 207s } 207s E AssertionError: assert {'id': 1, 'ta...project.com/'} == {'id': 1, 'ta...project.com/'} 207s E 207s E Omitting 2 identical items, use -vv to show 207s E Differing items: 207s E {'tags': [{'id': 1}]} != {'tags': [{'content_object': 1, 'content_type': 20, 'id': 1, 'object_id': 1, ...}]} 207s E 207s E Full diff: 207s E {... 207s E 207s E ...Full output truncated (12 lines hidden), use '-vv' to show 207s 207s tests/test_queries.py:46: AssertionError 207s __________________ test_get_queryset_with_reverse_one_to_one ___________________ 207s 207s @pytest.mark.django_db 207s def test_get_queryset_with_reverse_one_to_one(): 207s """ 207s Test retrieving a Django queryset with reverse one-to-one relationships. 207s """ 207s user_data = [ 207s {"first_name": "Jordan", "email": "jordan@eremieff.com"}, 207s {"first_name": "Sara", "email": "sara@example.com"}, 207s ] 207s for kwargs in user_data: 207s user = User.objects.create(**kwargs) 207s Profile.objects.create(user=user, location="Australia") 207s 207s class UserSchema(ModelSchema): 207s class Config: 207s model = User 207s include = ["id", "email", "first_name", "profile"] 207s 207s users = User.objects.all() 207s user_schema_qs = UserSchema.from_django(users, many=True) 207s assert user_schema_qs == [ 207s { 207s "email": "jordan@eremieff.com", 207s "first_name": "Jordan", 207s "id": 1, 207s "profile": 1, 207s }, 207s {"email": "sara@example.com", "first_name": "Sara", "id": 2, "profile": 2}, 207s ] 207s 207s # Test when using a declared sub-model 207s class ProfileSchema(ModelSchema): 207s class Config: 207s model = Profile 207s include = ["id", "location"] 207s 207s class UserWithProfileSchema(ModelSchema): 207s 207s profile: ProfileSchema 207s 207s class Config: 207s model = User 207s exclude = ["created_at", "updated_at", "last_name"] 207s 207s users = User.objects.all() 207s 207s user_with_profile_schema_qs = UserWithProfileSchema.from_django(users, many=True) 207s > assert user_with_profile_schema_qs == [ 207s { 207s "email": "jordan@eremieff.com", 207s "first_name": "Jordan", 207s "id": 1, 207s "profile": {"id": 1, "location": "Australia"}, 207s }, 207s { 207s "email": "sara@example.com", 207s "first_name": "Sara", 207s "id": 2, 207s "profile": {"id": 2, "location": "Australia"}, 207s }, 207s ] 207s E AssertionError: assert [UserWithProf...example.com')] == [{'email': 'j...'Australia'}}] 207s E 207s E At index 0 diff: UserWithProfileSchema(profile=1, id=1, first_name='Jordan', email='jordan@eremieff.com') != {'email': 'jordan@eremieff.com', 'first_name': 'Jordan', 'id': 1, 'profile': {'id': 1, 'location': 'Australia'}} 207s E 207s E Full diff: 207s E [ 207s E + UserWithProfileSchema(profile=1, id=1, first_name='Jordan', email='jordan@eremieff.com'), 207s E + UserWithProfileSchema(profile=2, id=2, first_name='Sara', email='sara@example.com'),... 207s E 207s E ...Full output truncated (19 lines hidden), use '-vv' to show 207s 207s tests/test_queries.py:108: AssertionError 207s ______________________ test_get_queryset_with_foreign_key ______________________ 207s 207s @pytest.mark.django_db 207s def test_get_queryset_with_foreign_key(): 207s """ 207s Test retrieving a Django queryset with foreign-key relationships. 207s """ 207s 207s thread = Thread.objects.create(title="My thread topic") 207s thread2 = Thread.objects.create(title="Another topic") 207s for content in ("I agree.", "I disagree!", "lol"): 207s message_one = Message.objects.create(content=content, thread=thread) 207s Message.objects.create(content=content, thread=thread2) 207s 207s class MessageSchema(ModelSchema): 207s class Config: 207s model = Message 207s exclude = ["created_at"] 207s 207s schema = MessageSchema.from_django(message_one) 207s assert schema.dict() == {"id": 5, "content": "lol", "thread": 1} 207s 207s class ThreadSchema(ModelSchema): 207s class Config: 207s model = Thread 207s exclude = ["created_at"] 207s 207s class MessageWithThreadSchema(ModelSchema): 207s thread: ThreadSchema 207s 207s class Config: 207s model = Message 207s exclude = ["created_at"] 207s 207s schema = MessageWithThreadSchema.from_django(message_one) 207s > assert schema.dict() == { 207s "id": 5, 207s "content": "lol", 207s "thread": { 207s "messages": [{"id": 1}, {"id": 3}, {"id": 5}], 207s "id": 1, 207s "title": "My thread topic", 207s }, 207s } 207s E AssertionError: assert {'content': '..., 'thread': 1} == {'content': '...hread topic'}} 207s E 207s E Omitting 2 identical items, use -vv to show 207s E Differing items: 207s E {'thread': 1} != {'thread': {'id': 1, 'messages': [{'id': 1}, {'id': 3}, {'id': 5}], 'title': 'My thread topic'}} 207s E 207s E Full diff: 207s E {... 207s E 207s E ...Full output truncated (21 lines hidden), use '-vv' to show 207s 207s tests/test_queries.py:157: AssertionError 207s __________________ test_get_queryset_with_reverse_foreign_key __________________ 207s 207s @pytest.mark.django_db 207s def test_get_queryset_with_reverse_foreign_key(): 207s """ 207s Test retrieving a Django queryset with reverse foreign-key relationships. 207s """ 207s 207s thread = Thread.objects.create(title="My thread topic") 207s thread2 = Thread.objects.create(title="Another topic") 207s for content in ("I agree.", "I disagree!", "lol"): 207s Message.objects.create(content=content, thread=thread) 207s Message.objects.create(content=content, thread=thread2) 207s 207s threads = Thread.objects.all() 207s 207s class MessageSchema(ModelSchema): 207s class Config: 207s model = Message 207s include = ["id", "content"] 207s 207s class ThreadSchema(ModelSchema): 207s class Config: 207s model = Thread 207s 207s thread_schema_qs = ThreadSchema.from_django(threads, many=True) 207s thread_schemas = [t.dict() for t in thread_schema_qs] 207s assert thread_schemas == [ 207s { 207s "messages": [{"id": 2}, {"id": 4}, {"id": 6}], 207s "id": 2, 207s "title": "Another topic", 207s }, 207s { 207s "messages": [{"id": 1}, {"id": 3}, {"id": 5}], 207s "id": 1, 207s "title": "My thread topic", 207s }, 207s ] 207s 207s # Test when using a declared sub-model 207s class ThreadWithMessageListSchema(ModelSchema): 207s messages: List[MessageSchema] 207s 207s class Config: 207s model = Thread 207s exclude = ["created_at", "updated_at"] 207s 207s thread_with_message_list_schema_qs = ThreadWithMessageListSchema.from_django( 207s threads, many=True 207s ) 207s 207s > assert thread_with_message_list_schema_qs == [ 207s { 207s "messages": [ 207s {"id": 2, "content": "I agree."}, 207s {"id": 4, "content": "I disagree!"}, 207s {"id": 6, "content": "lol"}, 207s ], 207s "id": 2, 207s "title": "Another topic", 207s }, 207s { 207s "messages": [ 207s {"id": 1, "content": "I agree."}, 207s {"id": 3, "content": "I disagree!"}, 207s {"id": 5, "content": "lol"}, 207s ], 207s "id": 1, 207s "title": "My thread topic", 207s }, 207s ] 207s E AssertionError: assert [ThreadWithMe...hread topic')] == [{'id': 2, 'm...hread topic'}] 207s E 207s E At index 0 diff: ThreadWithMessageListSchema(messages=[{'id': 2}, {'id': 4}, {'id': 6}], id=2, title='Another topic') != {'messages': [{'id': 2, 'content': 'I agree.'}, {'id': 4, 'content': 'I disagree!'}, {'id': 6, 'content': 'lol'}], 'id': 2, 'title': 'Another topic'} 207s E 207s E Full diff: 207s E [ 207s E + ThreadWithMessageListSchema(messages=[{'id': 2}, {'id': 4}, {'id': 6}], id=2, title='Another topic'), 207s E + ThreadWithMessageListSchema(messages=[{'id': 1}, {'id': 3}, {'id': 5}], id=1, title='My thread topic'),... 207s E 207s E ...Full output truncated (37 lines hidden), use '-vv' to show 207s 207s tests/test_queries.py:218: AssertionError 207s ___________________________________ test_m2m ___________________________________ 207s 207s @pytest.mark.django_db 207s def test_m2m(): 207s """ 207s Test forward m2m relationships. 207s """ 207s 207s class ArticleSchema(ModelSchema): 207s class Config: 207s model = Article 207s 207s assert ArticleSchema.schema() == { 207s "title": "ArticleSchema", 207s "description": "A news article.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "headline": { 207s "title": "Headline", 207s "description": "headline", 207s "maxLength": 100, 207s "type": "string", 207s }, 207s "pub_date": { 207s "title": "Pub Date", 207s "description": "pub_date", 207s "type": "string", 207s "format": "date", 207s }, 207s "publications": { 207s "title": "Publications", 207s "description": "id", 207s "type": "array", 207s "items": { 207s "type": "object", 207s "additionalProperties": {"type": "integer"}, 207s }, 207s }, 207s }, 207s "required": ["headline", "pub_date", "publications"], 207s } 207s 207s class PublicationSchema(ModelSchema): 207s class Config: 207s model = Publication 207s 207s class ArticleWithPublicationListSchema(ModelSchema): 207s publications: List[PublicationSchema] 207s 207s class Config: 207s model = Article 207s 207s > assert ArticleWithPublicationListSchema.schema() == { 207s "title": "ArticleWithPublicationListSchema", 207s "description": "A news article.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "headline": { 207s "title": "Headline", 207s "description": "headline", 207s "maxLength": 100, 207s "type": "string", 207s }, 207s "pub_date": { 207s "title": "Pub Date", 207s "description": "pub_date", 207s "type": "string", 207s "format": "date", 207s }, 207s "publications": { 207s "title": "Publications", 207s "type": "array", 207s "items": {"$ref": "#/definitions/PublicationSchema"}, 207s }, 207s }, 207s "required": ["headline", "pub_date", "publications"], 207s "definitions": { 207s "PublicationSchema": { 207s "title": "PublicationSchema", 207s "description": "A news publication.", 207s "type": "object", 207s "properties": { 207s "article_set": { 207s "title": "Article Set", 207s "description": "id", 207s "type": "array", 207s "items": { 207s "type": "object", 207s "additionalProperties": {"type": "integer"}, 207s }, 207s }, 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "title": { 207s "title": "Title", 207s "description": "title", 207s "maxLength": 30, 207s "type": "string", 207s }, 207s }, 207s "required": ["title"], 207s } 207s }, 207s } 207s E AssertionError: assert {'description...tSchema', ...} == {'definitions...ations'], ...} 207s E 207s E Omitting 4 identical items, use -vv to show 207s E Differing items: 207s E {'properties': {'headline': {'description': 'headline', 'maxLength': 100, 'title': 'Headline', 'type': 'string'}, 'id'..., 'items': {'additionalProperties': {'type': 'integer'}, 'type': 'object'}, 'title': 'Publications', 'type': 'array'}}} != {'properties': {'headline': {'description': 'headline', 'maxLength': 100, 'title': 'Headline', 'type': 'string'}, 'id'...g'}, 'publications': {'items': {'$ref': '#/definitions/PublicationSchema'}, 'title': 'Publications', 'type': 'array'}}} 207s E Right contains 1 more item: 207s E {'defi... 207s E 207s E ...Full output truncated (94 lines hidden), use '-vv' to show 207s 207s tests/test_relations.py:74: AssertionError 207s _______________________________ test_foreign_key _______________________________ 207s 207s @pytest.mark.django_db 207s def test_foreign_key(): 207s """ 207s Test forward foreign-key relationships. 207s """ 207s 207s class ThreadSchema(ModelSchema): 207s class Config: 207s model = Thread 207s 207s class MessageSchema(ModelSchema): 207s class Config: 207s model = Message 207s 207s assert MessageSchema.schema() == { 207s "title": "MessageSchema", 207s "description": "A message posted in a thread.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "content": {"title": "Content", "description": "content", "type": "string"}, 207s "created_at": { 207s "title": "Created At", 207s "description": "created_at", 207s "type": "string", 207s "format": "date-time", 207s }, 207s "thread": {"title": "Thread", "description": "id", "type": "integer"}, 207s }, 207s "required": ["content", "created_at", "thread"], 207s } 207s 207s class MessageWithThreadSchema(ModelSchema): 207s 207s thread: ThreadSchema 207s 207s class Config: 207s model = Message 207s 207s > assert MessageWithThreadSchema.schema() == { 207s "title": "MessageWithThreadSchema", 207s "description": "A message posted in a thread.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "content": {"title": "Content", "description": "content", "type": "string"}, 207s "created_at": { 207s "title": "Created At", 207s "description": "created_at", 207s "type": "string", 207s "format": "date-time", 207s }, 207s "thread": {"$ref": "#/definitions/ThreadSchema"}, 207s }, 207s "required": ["content", "created_at", "thread"], 207s "definitions": { 207s "ThreadSchema": { 207s "title": "ThreadSchema", 207s "description": "A thread of messages.", 207s "type": "object", 207s "properties": { 207s "messages": { 207s "title": "Messages", 207s "description": "id", 207s "type": "array", 207s "items": { 207s "type": "object", 207s "additionalProperties": {"type": "integer"}, 207s }, 207s }, 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "title": { 207s "title": "Title", 207s "description": "title", 207s "maxLength": 30, 207s "type": "string", 207s }, 207s }, 207s "required": ["title"], 207s } 207s }, 207s } 207s E AssertionError: assert {'description...dSchema', ...} == {'definitions...thread'], ...} 207s E 207s E Omitting 4 identical items, use -vv to show 207s E Differing items: 207s E {'properties': {'content': {'description': 'content', 'title': 'Content', 'type': 'string'}, 'created_at': {'descripti...tion': 'id', 'title': 'Id', 'type': 'integer'}, 'thread': {'description': 'id', 'title': 'Thread', 'type': 'integer'}}} != {'properties': {'content': {'description': 'content', 'title': 'Content', 'type': 'string'}, 'created_at': {'descripti...ng'}, 'id': {'description': 'id', 'title': 'Id', 'type': 'integer'}, 'thread': {'$ref': '#/definitions/ThreadSchema'}}} 207s E Right contains 1 more item: 207s E {'defi... 207s E 207s E ...Full output truncated (86 lines hidden), use '-vv' to show 207s 207s tests/test_relations.py:181: AssertionError 207s _______________________________ test_one_to_one ________________________________ 207s 207s @pytest.mark.django_db 207s def test_one_to_one(): 207s """ 207s Test forward one-to-one relationships. 207s """ 207s 207s class UserSchema(ModelSchema): 207s class Config: 207s model = User 207s 207s class ProfileSchema(ModelSchema): 207s class Config: 207s model = Profile 207s 207s assert ProfileSchema.schema() == { 207s "title": "ProfileSchema", 207s "description": "A user's profile.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "user": {"title": "User", "description": "id", "type": "integer"}, 207s "website": { 207s "title": "Website", 207s "description": "website", 207s "default": "", 207s "maxLength": 200, 207s "type": "string", 207s }, 207s "location": { 207s "title": "Location", 207s "description": "location", 207s "default": "", 207s "maxLength": 100, 207s "type": "string", 207s }, 207s }, 207s "required": ["user"], 207s } 207s 207s class ProfileWithUserSchema(ModelSchema): 207s user: UserSchema 207s 207s class Config: 207s model = Profile 207s 207s > assert ProfileWithUserSchema.schema() == { 207s "title": "ProfileWithUserSchema", 207s "description": "A user's profile.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "user": {"$ref": "#/definitions/UserSchema"}, 207s "website": { 207s "title": "Website", 207s "description": "website", 207s "default": "", 207s "maxLength": 200, 207s "type": "string", 207s }, 207s "location": { 207s "title": "Location", 207s "description": "location", 207s "default": "", 207s "maxLength": 100, 207s "type": "string", 207s }, 207s }, 207s "required": ["user"], 207s "definitions": { 207s "UserSchema": { 207s "title": "UserSchema", 207s "description": "A user of the application.", 207s "type": "object", 207s "properties": { 207s "profile": { 207s "title": "Profile", 207s "description": "id", 207s "type": "integer", 207s }, 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "first_name": { 207s "title": "First Name", 207s "description": "first_name", 207s "maxLength": 50, 207s "type": "string", 207s }, 207s "last_name": { 207s "title": "Last Name", 207s "description": "last_name", 207s "maxLength": 50, 207s "type": "string", 207s }, 207s "email": { 207s "title": "Email", 207s "description": "email", 207s "maxLength": 254, 207s "type": "string", 207s }, 207s "created_at": { 207s "title": "Created At", 207s "description": "created_at", 207s "type": "string", 207s "format": "date-time", 207s }, 207s "updated_at": { 207s "title": "Updated At", 207s "description": "updated_at", 207s "type": "string", 207s "format": "date-time", 207s }, 207s }, 207s "required": ["first_name", "email", "created_at", "updated_at"], 207s } 207s }, 207s } 207s E AssertionError: assert {'description...rSchema', ...} == {'definitions...['user'], ...} 207s E 207s E Omitting 4 identical items, use -vv to show 207s E Differing items: 207s E {'properties': {'id': {'description': 'id', 'title': 'Id', 'type': 'integer'}, 'location': {'default': '', 'descriptio..., 'type': 'integer'}, 'website': {'default': '', 'description': 'website', 'maxLength': 200, 'title': 'Website', ...}}} != {'properties': {'id': {'description': 'id', 'title': 'Id', 'type': 'integer'}, 'location': {'default': '', 'descriptio...nitions/UserSchema'}, 'website': {'default': '', 'description': 'website', 'maxLength': 200, 'title': 'Website', ...}}} 207s E Right contains 1 more item: 207s E {'defi... 207s E 207s E ...Full output truncated (129 lines hidden), use '-vv' to show 207s 207s tests/test_relations.py:325: AssertionError 207s ___________________________ test_one_to_one_reverse ____________________________ 207s 207s @pytest.mark.django_db 207s def test_one_to_one_reverse(): 207s """ 207s Test reverse one-to-one relationships. 207s """ 207s 207s class ProfileSchema(ModelSchema): 207s class Config: 207s model = Profile 207s 207s class UserSchema(ModelSchema): 207s class Config: 207s model = User 207s 207s assert ProfileSchema.schema() == { 207s "title": "ProfileSchema", 207s "description": "A user's profile.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "user": {"title": "User", "description": "id", "type": "integer"}, 207s "website": { 207s "title": "Website", 207s "description": "website", 207s "default": "", 207s "maxLength": 200, 207s "type": "string", 207s }, 207s "location": { 207s "title": "Location", 207s "description": "location", 207s "default": "", 207s "maxLength": 100, 207s "type": "string", 207s }, 207s }, 207s "required": ["user"], 207s } 207s 207s class UserWithProfileSchema(ModelSchema): 207s profile: ProfileSchema 207s 207s class Config: 207s model = User 207s 207s > assert UserWithProfileSchema.schema() == { 207s "title": "UserWithProfileSchema", 207s "description": "A user of the application.", 207s "type": "object", 207s "properties": { 207s "profile": {"$ref": "#/definitions/ProfileSchema"}, 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "first_name": { 207s "title": "First Name", 207s "description": "first_name", 207s "maxLength": 50, 207s "type": "string", 207s }, 207s "last_name": { 207s "title": "Last Name", 207s "description": "last_name", 207s "maxLength": 50, 207s "type": "string", 207s }, 207s "email": { 207s "title": "Email", 207s "description": "email", 207s "maxLength": 254, 207s "type": "string", 207s }, 207s "created_at": { 207s "title": "Created At", 207s "description": "created_at", 207s "type": "string", 207s "format": "date-time", 207s }, 207s "updated_at": { 207s "title": "Updated At", 207s "description": "updated_at", 207s "type": "string", 207s "format": "date-time", 207s }, 207s }, 207s "required": ["profile", "first_name", "email", "created_at", "updated_at"], 207s "definitions": { 207s "ProfileSchema": { 207s "title": "ProfileSchema", 207s "description": "A user's profile.", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "user": {"title": "User", "description": "id", "type": "integer"}, 207s "website": { 207s "title": "Website", 207s "description": "website", 207s "default": "", 207s "maxLength": 200, 207s "type": "string", 207s }, 207s "location": { 207s "title": "Location", 207s "description": "location", 207s "default": "", 207s "maxLength": 100, 207s "type": "string", 207s }, 207s }, 207s "required": ["user"], 207s } 207s }, 207s } 207s E AssertionError: assert {'description...eSchema', ...} == {'definitions...ted_at'], ...} 207s E 207s E Omitting 3 identical items, use -vv to show 207s E Differing items: 207s E {'required': ['first_name', 'email', 'created_at', 'updated_at']} != {'required': ['profile', 'first_name', 'email', 'created_at', 'updated_at']} 207s E {'properties': {'created_at': {'description': 'created_at', 'format': 'date-time', 'title': 'Created At', 'type': 'str...th': 50, 'title': 'First Name', 'type': 'string'}, 'id': {'description': 'id', 'title': 'Id', 'type': 'integer'}, ...}} != {'properties': {'created_at': {'description': 'created_at', 'format': 'date-time', 'title': 'Created At', 'type': 'str...th': 50... 207s E 207s E ...Full output truncated (115 lines hidden), use '-vv' to show 207s 207s tests/test_relations.py:442: AssertionError 207s ____________________________ test_generic_relation _____________________________ 207s 207s @pytest.mark.django_db 207s def test_generic_relation(): 207s """ 207s Test generic foreign-key relationships. 207s """ 207s 207s class TaggedSchema(ModelSchema): 207s class Config: 207s model = Tagged 207s 207s assert TaggedSchema.schema() == { 207s "title": "TaggedSchema", 207s "description": "Tagged(id, slug, content_type, object_id)", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "slug": { 207s "title": "Slug", 207s "description": "slug", 207s "maxLength": 50, 207s "type": "string", 207s }, 207s "content_type": { 207s "title": "Content Type", 207s "description": "id", 207s "type": "integer", 207s }, 207s "object_id": { 207s "title": "Object Id", 207s "description": "object_id", 207s "type": "integer", 207s }, 207s "content_object": { 207s "title": "Content Object", 207s "description": "content_object", 207s "type": "integer", 207s }, 207s }, 207s "required": ["slug", "content_type", "object_id", "content_object"], 207s } 207s 207s > class BookmarkSchema(ModelSchema): 207s 207s tests/test_relations.py:551: 207s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 207s /usr/lib/python3/dist-packages/djantic/main.py:45: in __new__ 207s cls = super().__new__(mcs, name, bases, namespace) 207s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 207s /usr/lib/python3/dist-packages/pydantic/v1/main.py:221: in __new__ 207s inferred = ModelField.infer( 207s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:504: in infer 207s return cls( 207s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:434: in __init__ 207s self.prepare() 207s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:544: in prepare 207s self._set_default_and_type() 207s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 207s 207s self = ModelField(name='tags', type=UndefinedType, required=False, default=None) 207s 207s def _set_default_and_type(self) -> None: 207s """ 207s Set the default value, infer the type if needed and check if `None` value is valid. 207s """ 207s if self.default_factory is not None: 207s if self.type_ is Undefined: 207s raise errors_.ConfigError( 207s f'you need to set the type of field {self.name!r} when using `default_factory`' 207s ) 207s return 207s 207s default_value = self.get_default() 207s 207s if default_value is not None and self.type_ is Undefined: 207s self.type_ = default_value.__class__ 207s self.outer_type_ = self.type_ 207s self.annotation = self.type_ 207s 207s if self.type_ is Undefined: 207s > raise errors_.ConfigError(f'unable to infer type for attribute "{self.name}"') 207s E pydantic.v1.errors.ConfigError: unable to infer type for attribute "tags" 207s 207s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:576: ConfigError 207s _______________________________ test_m2m_reverse _______________________________ 207s 207s @pytest.mark.django_db 207s def test_m2m_reverse(): 207s class ExpertSchema(ModelSchema): 207s class Config: 207s model = Expert 207s 207s class CaseSchema(ModelSchema): 207s class Config: 207s model = Case 207s 207s assert ExpertSchema.schema() == { 207s "title": "ExpertSchema", 207s "description": "Expert(id, name)", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "name": { 207s "title": "Name", 207s "description": "name", 207s "maxLength": 128, 207s "type": "string", 207s }, 207s "cases": { 207s "title": "Cases", 207s "description": "id", 207s "type": "array", 207s "items": { 207s "type": "object", 207s "additionalProperties": {"type": "integer"}, 207s }, 207s }, 207s }, 207s "required": ["name", "cases"], 207s } 207s 207s assert CaseSchema.schema() == { 207s "title": "CaseSchema", 207s "description": "Case(id, name, details)", 207s "type": "object", 207s "properties": { 207s "related_experts": { 207s "title": "Related Experts", 207s "description": "id", 207s "type": "array", 207s "items": { 207s "type": "object", 207s "additionalProperties": {"type": "integer"}, 207s }, 207s }, 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "name": { 207s "title": "Name", 207s "description": "name", 207s "maxLength": 128, 207s "type": "string", 207s }, 207s "details": {"title": "Details", "description": "details", "type": "string"}, 207s }, 207s "required": ["name", "details"], 207s } 207s case = Case.objects.create(name="My Case", details="Some text data.") 207s expert = Expert.objects.create(name="My Expert") 207s case_schema = CaseSchema.from_django(case) 207s expert_schema = ExpertSchema.from_django(expert) 207s assert case_schema.dict() == { 207s "related_experts": [], 207s "id": 1, 207s "name": "My Case", 207s "details": "Some text data.", 207s } 207s assert expert_schema.dict() == {"id": 1, "name": "My Expert", "cases": []} 207s 207s expert.cases.add(case) 207s case_schema = CaseSchema.from_django(case) 207s expert_schema = ExpertSchema.from_django(expert) 207s assert case_schema.dict() == { 207s "related_experts": [{"id": 1}], 207s "id": 1, 207s "name": "My Case", 207s "details": "Some text data.", 207s } 207s assert expert_schema.dict() == {"id": 1, "name": "My Expert", "cases": [{"id": 1}]} 207s 207s class CustomExpertSchema(ModelSchema): 207s """Custom schema""" 207s 207s name: Optional[str] 207s 207s class Config: 207s model = Expert 207s 207s class CaseSchema(ModelSchema): 207s related_experts: List[CustomExpertSchema] 207s 207s class Config: 207s model = Case 207s 207s > assert CaseSchema.schema() == { 207s "title": "CaseSchema", 207s "description": "Case(id, name, details)", 207s "type": "object", 207s "properties": { 207s "related_experts": { 207s "title": "Related Experts", 207s "type": "array", 207s "items": {"$ref": "#/definitions/CustomExpertSchema"}, 207s }, 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "name": { 207s "title": "Name", 207s "description": "name", 207s "maxLength": 128, 207s "type": "string", 207s }, 207s "details": {"title": "Details", "description": "details", "type": "string"}, 207s }, 207s "required": ["related_experts", "name", "details"], 207s "definitions": { 207s "CustomExpertSchema": { 207s "title": "CustomExpertSchema", 207s "description": "Custom schema", 207s "type": "object", 207s "properties": { 207s "id": {"title": "Id", "description": "id", "type": "integer"}, 207s "name": {"title": "Name", "type": "string"}, 207s "cases": { 207s "title": "Cases", 207s "description": "id", 207s "type": "array", 207s "items": { 207s "type": "object", 207s "additionalProperties": {"type": "integer"}, 207s }, 207s }, 207s }, 207s "required": ["cases"], 207s } 207s }, 207s } 207s E AssertionError: assert {'description...eSchema', ...} == {'definitions...etails'], ...} 207s E 207s E Omitting 3 identical items, use -vv to show 207s E Differing items: 207s E {'required': ['name', 'details']} != {'required': ['related_experts', 'name', 'details']} 207s E {'properties': {'details': {'description': 'details', 'title': 'Details', 'type': 'string'}, 'id': {'description': 'id...items': {'additionalProperties': {'type': 'integer'}, 'type': 'object'}, 'title': 'Related Experts', 'type': 'array'}}} != {'properties': {'details': {'description': 'details', 'title': 'Details', 'type': 'string'}, 'id': {'description': 'id...elated_experts': {'items': {'$ref': '#/definitions/CustomExpert... 207s E 207s E ...Full output truncated (90 lines hidden), use '-vv' to show 207s 207s tests/test_relations.py:807: AssertionError 207s ________________________ test_include_from_annotations _________________________ 207s 207s @pytest.mark.django_db 207s def test_include_from_annotations(): 207s """ 207s Test include="__annotations__" config. 207s """ 207s 207s class ProfileSchema(ModelSchema): 207s website: str 207s 207s class Config: 207s model = Profile 207s include = "__annotations__" 207s 207s > assert ProfileSchema.schema() == { 207s "title": "ProfileSchema", 207s "description": "A user's profile.", 207s "type": "object", 207s "properties": { 207s "website": { 207s "title": "Website", 207s "type": "string" 207s } 207s }, 207s "required": [ 207s "website" 207s ] 207s } 207s E AssertionError: assert {'description...eSchema', ...} == {'description...eSchema', ...} 207s E 207s E Omitting 3 identical items, use -vv to show 207s E Differing items: 207s E {'required': ['user']} != {'required': ['website']} 207s E {'properties': {'id': {'description': 'id', 'title': 'Id', 'type': 'integer'}, 'location': {'default': '', 'descriptio..., 'type': 'integer'}, 'website': {'default': '', 'description': 'website', 'maxLength': 200, 'title': 'Website', ...}}} != {'properties': {'website': {'title': 'Website', 'type': 'string'}}} 207s E 207s E Full diff:... 207s E 207s E ...Full output truncated (35 lines hidden), use '-vv' to show 207s 207s tests/test_schemas.py:398: AssertionError 207s =============================== warnings summary =============================== 207s ../../../usr/lib/python3/dist-packages/djantic/main.py:12 207s /usr/lib/python3/dist-packages/djantic/main.py:12: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater. 207s from pydantic.v1 import BaseModel, ConfigError, create_model 207s 207s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 207s ============================= slowest 10 durations ============================= 207s 0.38s setup tests/test_fields.py::test_unhandled_field_type 207s 0.01s call tests/test_relations.py::test_m2m_reverse 207s 0.01s call tests/test_queries.py::test_get_queryset_with_reverse_foreign_key 207s 0.01s call tests/test_queries.py::test_get_queryset_with_reverse_one_to_one 207s 0.01s call tests/test_relations.py::test_one_to_one_reverse 207s 0.01s call tests/test_relations.py::test_one_to_one 207s 0.01s call tests/test_queries.py::test_get_instance_with_generic_foreign_key 207s 0.01s call tests/test_schemas.py::test_include_exclude 207s 0.01s call tests/test_queries.py::test_get_queryset_with_foreign_key 207s 0.01s call tests/test_relations.py::test_m2m 207s =========================== short test summary info ============================ 207s FAILED tests/test_queries.py::test_get_instance_with_generic_foreign_key - As... 207s FAILED tests/test_queries.py::test_get_queryset_with_reverse_one_to_one - Ass... 207s FAILED tests/test_queries.py::test_get_queryset_with_foreign_key - AssertionE... 207s FAILED tests/test_queries.py::test_get_queryset_with_reverse_foreign_key - As... 207s FAILED tests/test_relations.py::test_m2m - AssertionError: assert {'descripti... 207s FAILED tests/test_relations.py::test_foreign_key - AssertionError: assert {'d... 207s FAILED tests/test_relations.py::test_one_to_one - AssertionError: assert {'de... 207s FAILED tests/test_relations.py::test_one_to_one_reverse - AssertionError: ass... 207s FAILED tests/test_relations.py::test_generic_relation - pydantic.v1.errors.Co... 207s FAILED tests/test_relations.py::test_m2m_reverse - AssertionError: assert {'d... 207s FAILED tests/test_schemas.py::test_include_from_annotations - AssertionError:... 207s ============ 11 failed, 17 passed, 4 deselected, 1 warning in 1.31s ============ 208s autopkgtest [02:34:51]: test upstream: -----------------------] 212s autopkgtest [02:34:55]: test upstream: - - - - - - - - - - results - - - - - - - - - - 212s upstream FAIL non-zero exit status 1 216s autopkgtest [02:34:59]: @@@@@@@@@@@@@@@@@@@@ summary 216s upstream FAIL non-zero exit status 1