0s autopkgtest [23:28:29]: starting date and time: 2026-02-06 23:28:29+0000 0s autopkgtest [23:28:29]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [23:28:29]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.l1j27qxq/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python-django,src:pyinstaller,src:python-django-debug-toolbar --apt-upgrade python-djantic --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python-django/3:5.2.9-0ubuntu3 pyinstaller/6.18.0+ds-1 python-django-debug-toolbar/1:6.2.0-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-17.secgroup --name adt-resolute-amd64-python-djantic-20260206-232829-juju-7f2275-prod-proposed-migration-environment-15-b1922aeb-f3f9-443a-9efc-23060624653a --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-amd64-python-djantic-20260206-232829-juju-7f2275-prod-proposed-migration-environment-15-b1922aeb-f3f9-443a-9efc-23060624653a from image adt/ubuntu-resolute-amd64-server-20260204.img (UUID fedf54b4-458b-493e-8072-6425c19717b4)... 75s autopkgtest [23:29:44]: testbed dpkg architecture: amd64 75s autopkgtest [23:29:44]: testbed apt version: 3.1.14 75s autopkgtest [23:29:44]: @@@@@@@@@@@@@@@@@@@@ test bed setup 75s autopkgtest [23:29:44]: testbed release detected to be: None 76s autopkgtest [23:29:45]: updating testbed package index (apt update) 76s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 76s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 76s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 76s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 76s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [206 kB] 77s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [36.7 kB] 77s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1707 kB] 77s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [10.7 kB] 77s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [190 kB] 77s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [269 kB] 77s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [6500 B] 78s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [80.4 kB] 78s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3692 B] 78s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 78s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1443 kB] 78s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [552 kB] 78s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [36.8 kB] 78s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [28.2 kB] 78s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [4892 B] 79s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [1104 B] 80s Fetched 4701 kB in 3s (1832 kB/s) 80s Reading package lists... 80s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 80s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 80s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 80s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 81s Reading package lists... 81s Reading package lists... 81s Building dependency tree... 81s Reading state information... 81s Calculating upgrade... 81s The following packages will be upgraded: 81s amd64-microcode apt busybox-initramfs busybox-static dmsetup findutils less 81s libapt-pkg7.0 libattr1 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-common 81s libdrm2 libgpm2 libkeyutils1 libmaxminddb0 libnpth0t64 libsensors-config 81s libsensors5 mawk patch pollinate python3-linkify-it python3-markdown-it 81s python3-referencing sed tar 81s 27 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 81s Need to get 5981 kB of archives. 81s After this operation, 270 kB disk space will be freed. 81s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 findutils amd64 4.10.0-3build2 [307 kB] 81s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 sed amd64 4.9-2build3 [195 kB] 81s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 tar amd64 1.35+dfsg-3.1build2 [257 kB] 81s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libattr1 amd64 1:2.5.2-3build2 [11.4 kB] 81s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 mawk amd64 1.3.4.20260129-1 [133 kB] 81s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapt-pkg7.0 amd64 3.1.15 [1151 kB] 81s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 apt amd64 3.1.15 [1479 kB] 81s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libdevmapper1.02.1 amd64 2:1.02.205-2ubuntu3 [142 kB] 81s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 dmsetup amd64 2:1.02.205-2ubuntu3 [79.4 kB] 81s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 less amd64 668-1build1 [172 kB] 81s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libkeyutils1 amd64 1.6.3-6ubuntu3 [10.6 kB] 81s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-linkify-it all 2.0.3-1ubuntu3 [19.4 kB] 81s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-markdown-it all 3.0.0-3build1 [54.4 kB] 82s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-static amd64 1:1.37.0-7ubuntu1 [1034 kB] 82s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-common all 2.4.131-1 [9774 B] 82s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm2 amd64 2.4.131-1 [42.3 kB] 82s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 libgpm2 amd64 1.20.7-12build1 [14.4 kB] 82s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 libmaxminddb0 amd64 1.12.2-1build2 [18.9 kB] 82s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors-config all 1:3.6.2-2build1 [6862 B] 82s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors5 amd64 1:3.6.2-2build1 [28.9 kB] 82s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-initramfs amd64 1:1.37.0-7ubuntu1 [191 kB] 82s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-amdgpu1 amd64 2.4.131-1 [23.2 kB] 82s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 libnpth0t64 amd64 1.8-3build1 [9302 B] 82s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 patch amd64 2.8-2build1 [95.7 kB] 82s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 pollinate all 4.33-4ubuntu5 [14.0 kB] 82s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-referencing all 0.36.2-1ubuntu2 [22.2 kB] 82s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 amd64-microcode amd64 3.20251202.1ubuntu1 [459 kB] 82s dpkg-preconfigure: unable to re-open stdin: No such file or directory 82s Fetched 5981 kB in 0s (20.4 MB/s) 82s (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 ... 83957 files and directories currently installed.) 82s Preparing to unpack .../findutils_4.10.0-3build2_amd64.deb ... 82s Unpacking findutils (4.10.0-3build2) over (4.10.0-3build1) ... 82s Setting up findutils (4.10.0-3build2) ... 82s (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 ... 83957 files and directories currently installed.) 82s Preparing to unpack .../sed_4.9-2build3_amd64.deb ... 82s Unpacking sed (4.9-2build3) over (4.9-2build2) ... 82s Setting up sed (4.9-2build3) ... 82s (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 ... 83957 files and directories currently installed.) 82s Preparing to unpack .../tar_1.35+dfsg-3.1build2_amd64.deb ... 82s Unpacking tar (1.35+dfsg-3.1build2) over (1.35+dfsg-3.1build1) ... 82s Setting up tar (1.35+dfsg-3.1build2) ... 82s (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 ... 83957 files and directories currently installed.) 82s Preparing to unpack .../libattr1_1%3a2.5.2-3build2_amd64.deb ... 82s Unpacking libattr1:amd64 (1:2.5.2-3build2) over (1:2.5.2-3build1) ... 82s Setting up libattr1:amd64 (1:2.5.2-3build2) ... 82s (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 ... 83957 files and directories currently installed.) 82s Preparing to unpack .../00-mawk_1.3.4.20260129-1_amd64.deb ... 82s Unpacking mawk (1.3.4.20260129-1) over (1.3.4.20250131-2) ... 82s Preparing to unpack .../01-libapt-pkg7.0_3.1.15_amd64.deb ... 82s Unpacking libapt-pkg7.0:amd64 (3.1.15) over (3.1.14) ... 82s Preparing to unpack .../02-apt_3.1.15_amd64.deb ... 82s Unpacking apt (3.1.15) over (3.1.14) ... 82s Preparing to unpack .../03-libdevmapper1.02.1_2%3a1.02.205-2ubuntu3_amd64.deb ... 82s Unpacking libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 82s Preparing to unpack .../04-dmsetup_2%3a1.02.205-2ubuntu3_amd64.deb ... 82s Unpacking dmsetup (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 82s Preparing to unpack .../05-less_668-1build1_amd64.deb ... 82s Unpacking less (668-1build1) over (668-1) ... 82s Preparing to unpack .../06-libkeyutils1_1.6.3-6ubuntu3_amd64.deb ... 82s Unpacking libkeyutils1:amd64 (1.6.3-6ubuntu3) over (1.6.3-6ubuntu2) ... 83s Preparing to unpack .../07-python3-linkify-it_2.0.3-1ubuntu3_all.deb ... 83s Unpacking python3-linkify-it (2.0.3-1ubuntu3) over (2.0.3-1ubuntu2) ... 83s Preparing to unpack .../08-python3-markdown-it_3.0.0-3build1_all.deb ... 83s Unpacking python3-markdown-it (3.0.0-3build1) over (3.0.0-3) ... 83s Preparing to unpack .../09-busybox-static_1%3a1.37.0-7ubuntu1_amd64.deb ... 83s Unpacking busybox-static (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 83s Preparing to unpack .../10-libdrm-common_2.4.131-1_all.deb ... 83s Unpacking libdrm-common (2.4.131-1) over (2.4.129-1) ... 83s Preparing to unpack .../11-libdrm2_2.4.131-1_amd64.deb ... 83s Unpacking libdrm2:amd64 (2.4.131-1) over (2.4.129-1) ... 83s Preparing to unpack .../12-libgpm2_1.20.7-12build1_amd64.deb ... 83s Unpacking libgpm2:amd64 (1.20.7-12build1) over (1.20.7-12) ... 83s Preparing to unpack .../13-libmaxminddb0_1.12.2-1build2_amd64.deb ... 83s Unpacking libmaxminddb0:amd64 (1.12.2-1build2) over (1.12.2-1build1) ... 83s Preparing to unpack .../14-libsensors-config_1%3a3.6.2-2build1_all.deb ... 83s Unpacking libsensors-config (1:3.6.2-2build1) over (1:3.6.2-2) ... 83s Preparing to unpack .../15-libsensors5_1%3a3.6.2-2build1_amd64.deb ... 83s Unpacking libsensors5:amd64 (1:3.6.2-2build1) over (1:3.6.2-2) ... 83s Preparing to unpack .../16-busybox-initramfs_1%3a1.37.0-7ubuntu1_amd64.deb ... 83s Unpacking busybox-initramfs (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 83s Preparing to unpack .../17-libdrm-amdgpu1_2.4.131-1_amd64.deb ... 83s Unpacking libdrm-amdgpu1:amd64 (2.4.131-1) over (2.4.129-1) ... 83s Preparing to unpack .../18-libnpth0t64_1.8-3build1_amd64.deb ... 83s Unpacking libnpth0t64:amd64 (1.8-3build1) over (1.8-3) ... 83s Preparing to unpack .../19-patch_2.8-2build1_amd64.deb ... 83s Unpacking patch (2.8-2build1) over (2.8-2) ... 83s Preparing to unpack .../20-pollinate_4.33-4ubuntu5_all.deb ... 83s Unpacking pollinate (4.33-4ubuntu5) over (4.33-4ubuntu4) ... 83s Preparing to unpack .../21-python3-referencing_0.36.2-1ubuntu2_all.deb ... 83s Unpacking python3-referencing (0.36.2-1ubuntu2) over (0.36.2-1ubuntu1) ... 83s Preparing to unpack .../22-amd64-microcode_3.20251202.1ubuntu1_amd64.deb ... 83s Unpacking amd64-microcode (3.20251202.1ubuntu1) over (3.20250708.1ubuntu1) ... 83s Setting up libnpth0t64:amd64 (1.8-3build1) ... 83s Setting up libkeyutils1:amd64 (1.6.3-6ubuntu3) ... 83s Setting up libgpm2:amd64 (1.20.7-12build1) ... 83s Setting up libmaxminddb0:amd64 (1.12.2-1build2) ... 83s Setting up libsensors-config (1:3.6.2-2build1) ... 83s Setting up less (668-1build1) ... 83s Setting up amd64-microcode (3.20251202.1ubuntu1) ... 83s amd64-microcode: microcode will be updated at next boot 83s Setting up pollinate (4.33-4ubuntu5) ... 94s Setting up busybox-static (1:1.37.0-7ubuntu1) ... 94s Setting up patch (2.8-2build1) ... 94s Setting up libsensors5:amd64 (1:3.6.2-2build1) ... 94s Setting up busybox-initramfs (1:1.37.0-7ubuntu1) ... 94s Setting up libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) ... 94s Setting up dmsetup (2:1.02.205-2ubuntu3) ... 94s Setting up python3-linkify-it (2.0.3-1ubuntu3) ... 94s Setting up mawk (1.3.4.20260129-1) ... 94s Setting up libapt-pkg7.0:amd64 (3.1.15) ... 94s Setting up libdrm-common (2.4.131-1) ... 94s Setting up python3-referencing (0.36.2-1ubuntu2) ... 94s Setting up apt (3.1.15) ... 94s Setting up python3-markdown-it (3.0.0-3build1) ... 94s Setting up libdrm2:amd64 (2.4.131-1) ... 94s Setting up libdrm-amdgpu1:amd64 (2.4.131-1) ... 94s Processing triggers for libc-bin (2.42-2ubuntu4) ... 94s Processing triggers for man-db (2.13.1-1) ... 95s Processing triggers for install-info (7.2-5) ... 95s Processing triggers for initramfs-tools (0.150ubuntu7) ... 95s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 100s autopkgtest [23:30:09]: upgrading testbed (apt dist-upgrade and autopurge) 100s Reading package lists... 101s Building dependency tree... 101s Reading state information... 101s Calculating upgrade... 101s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 101s Reading package lists... 101s Building dependency tree... 101s Reading state information... 101s Solving dependencies... 101s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 101s autopkgtest [23:30:10]: rebooting testbed after setup commands that affected boot 130s autopkgtest [23:30:39]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:49:02 UTC 2026 132s autopkgtest [23:30:41]: @@@@@@@@@@@@@@@@@@@@ apt-source python-djantic 133s Get:1 http://ftpmaster.internal/ubuntu resolute/universe python-djantic 0.7.0-6 (dsc) [2588 B] 133s Get:2 http://ftpmaster.internal/ubuntu resolute/universe python-djantic 0.7.0-6 (tar) [54.6 kB] 133s Get:3 http://ftpmaster.internal/ubuntu resolute/universe python-djantic 0.7.0-6 (diff) [4336 B] 133s gpgv: Signature made Thu Feb 20 07:32:29 2025 UTC 133s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 133s gpgv: issuer "tchet@debian.org" 133s gpgv: Can't check signature: No public key 133s dpkg-source: warning: cannot verify inline signature for ./python-djantic_0.7.0-6.dsc: no acceptable signature found 133s autopkgtest [23:30:42]: testing package python-djantic version 0.7.0-6 133s autopkgtest [23:30:42]: build not needed 133s autopkgtest [23:30:42]: test upstream: preparing testbed 134s Reading package lists... 134s Building dependency tree... 134s Reading state information... 134s Solving dependencies... 134s The following NEW packages will be installed: 134s libdeflate0 libgomp1 libgraphite2-3 libharfbuzz0b libimagequant0 libjbig0 134s libjpeg-turbo8 libjpeg8 liblcms2-2 liblerc4 libopenjp2-7 libpq5 134s libpython3.14-minimal libpython3.14-stdlib libraqm0 libsharpyuv0 libtiff6 134s libwebp7 libwebpdemux2 libwebpmux3 python-djantic-doc python3-all 134s python3-annotated-types python3-asgiref python3-django python3-djantic 134s python3-dnspython python3-email-validator python3-factory-boy 134s python3-fake-factory python3-iniconfig python3-pil python3-pluggy 134s python3-psycopg2 python3-pydantic python3-pydantic-core python3-pytest 134s python3-pytest-django python3-sqlparse python3-typing-inspection python3.14 134s python3.14-minimal 134s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 134s Need to get 18.0 MB of archives. 134s After this operation, 90.4 MB of additional disk space will be used. 134s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-minimal amd64 3.14.2-1 [920 kB] 134s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14-minimal amd64 3.14.2-1 [2563 kB] 134s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libdeflate0 amd64 1.23-2 [49.9 kB] 134s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-12ubuntu1 [151 kB] 134s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 libgraphite2-3 amd64 1.3.14-11ubuntu1 [73.7 kB] 134s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libharfbuzz0b amd64 12.3.2-1 [519 kB] 134s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libimagequant0 amd64 2.18.0-1build1 [36.3 kB] 134s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libjpeg-turbo8 amd64 2.1.5-4ubuntu2 [152 kB] 134s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libjpeg8 amd64 8c-2ubuntu11 [2148 B] 134s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 liblcms2-2 amd64 2.17-1 [170 kB] 134s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 liblerc4 amd64 4.0.0+ds-5ubuntu2 [207 kB] 134s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 libpq5 amd64 18.1-2 [155 kB] 134s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-stdlib amd64 3.14.2-1 [2398 kB] 134s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 libraqm0 amd64 0.10.3-1build1 [15.5 kB] 134s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 libsharpyuv0 amd64 1.5.0-0.1build1 [17.6 kB] 134s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libjbig0 amd64 2.1-6.1ubuntu3 [30.0 kB] 134s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 libwebp7 amd64 1.5.0-0.1build1 [264 kB] 134s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 libtiff6 amd64 4.7.0-3ubuntu3 [209 kB] 134s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libwebpdemux2 amd64 1.5.0-0.1build1 [12.8 kB] 134s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libwebpmux3 amd64 1.5.0-0.1build1 [26.4 kB] 135s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 python-djantic-doc all 0.7.0-6 [492 kB] 135s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14 amd64 3.14.2-1 [816 kB] 135s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.9-3 [890 B] 135s Get:24 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-annotated-types all 0.7.0-1 [19.4 kB] 135s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-asgiref all 3.11.0-1 [25.2 kB] 135s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-sqlparse all 0.5.4-1 [34.3 kB] 135s Get:27 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-django all 3:5.2.9-0ubuntu3 [3040 kB] 135s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pydantic-core amd64 2.41.5-2 [2427 kB] 135s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-typing-inspection all 0.4.2-1 [13.1 kB] 135s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dnspython all 2.7.0-1ubuntu2 [167 kB] 135s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-email-validator all 2.2.0-1 [28.5 kB] 135s Get:32 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pydantic amd64 2.12.5-2 [312 kB] 135s Get:33 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-djantic all 0.7.0-6 [9454 B] 135s Get:34 http://ftpmaster.internal/ubuntu resolute/main amd64 libopenjp2-7 amd64 2.5.4-1 [188 kB] 135s Get:35 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pil amd64 12.0.0-1ubuntu1 [494 kB] 135s Get:36 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-fake-factory all 39.0.0-1 [1455 kB] 135s Get:37 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-factory-boy all 3.3.3-1build1 [35.9 kB] 135s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 2.1.0-2 [6962 B] 135s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-2 [21.1 kB] 135s Get:40 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-psycopg2 amd64 2.9.11-1 [164 kB] 135s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest all 9.0.2-2 [277 kB] 135s Get:42 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest-django all 4.11.1-2 [21.8 kB] 135s Fetched 18.0 MB in 1s (19.3 MB/s) 135s Selecting previously unselected package libpython3.14-minimal:amd64. 135s (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 ... 83962 files and directories currently installed.) 135s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_amd64.deb ... 135s Unpacking libpython3.14-minimal:amd64 (3.14.2-1) ... 135s Selecting previously unselected package python3.14-minimal. 135s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_amd64.deb ... 135s Unpacking python3.14-minimal (3.14.2-1) ... 135s Selecting previously unselected package libdeflate0:amd64. 135s Preparing to unpack .../02-libdeflate0_1.23-2_amd64.deb ... 135s Unpacking libdeflate0:amd64 (1.23-2) ... 135s Selecting previously unselected package libgomp1:amd64. 135s Preparing to unpack .../03-libgomp1_15.2.0-12ubuntu1_amd64.deb ... 135s Unpacking libgomp1:amd64 (15.2.0-12ubuntu1) ... 135s Selecting previously unselected package libgraphite2-3:amd64. 135s Preparing to unpack .../04-libgraphite2-3_1.3.14-11ubuntu1_amd64.deb ... 135s Unpacking libgraphite2-3:amd64 (1.3.14-11ubuntu1) ... 135s Selecting previously unselected package libharfbuzz0b:amd64. 135s Preparing to unpack .../05-libharfbuzz0b_12.3.2-1_amd64.deb ... 135s Unpacking libharfbuzz0b:amd64 (12.3.2-1) ... 135s Selecting previously unselected package libimagequant0:amd64. 135s Preparing to unpack .../06-libimagequant0_2.18.0-1build1_amd64.deb ... 135s Unpacking libimagequant0:amd64 (2.18.0-1build1) ... 135s Selecting previously unselected package libjpeg-turbo8:amd64. 135s Preparing to unpack .../07-libjpeg-turbo8_2.1.5-4ubuntu2_amd64.deb ... 135s Unpacking libjpeg-turbo8:amd64 (2.1.5-4ubuntu2) ... 135s Selecting previously unselected package libjpeg8:amd64. 135s Preparing to unpack .../08-libjpeg8_8c-2ubuntu11_amd64.deb ... 135s Unpacking libjpeg8:amd64 (8c-2ubuntu11) ... 135s Selecting previously unselected package liblcms2-2:amd64. 135s Preparing to unpack .../09-liblcms2-2_2.17-1_amd64.deb ... 135s Unpacking liblcms2-2:amd64 (2.17-1) ... 135s Selecting previously unselected package liblerc4:amd64. 135s Preparing to unpack .../10-liblerc4_4.0.0+ds-5ubuntu2_amd64.deb ... 135s Unpacking liblerc4:amd64 (4.0.0+ds-5ubuntu2) ... 135s Selecting previously unselected package libpq5:amd64. 135s Preparing to unpack .../11-libpq5_18.1-2_amd64.deb ... 135s Unpacking libpq5:amd64 (18.1-2) ... 135s Selecting previously unselected package libpython3.14-stdlib:amd64. 135s Preparing to unpack .../12-libpython3.14-stdlib_3.14.2-1_amd64.deb ... 135s Unpacking libpython3.14-stdlib:amd64 (3.14.2-1) ... 136s Selecting previously unselected package libraqm0:amd64. 136s Preparing to unpack .../13-libraqm0_0.10.3-1build1_amd64.deb ... 136s Unpacking libraqm0:amd64 (0.10.3-1build1) ... 136s Selecting previously unselected package libsharpyuv0:amd64. 136s Preparing to unpack .../14-libsharpyuv0_1.5.0-0.1build1_amd64.deb ... 136s Unpacking libsharpyuv0:amd64 (1.5.0-0.1build1) ... 136s Selecting previously unselected package libjbig0:amd64. 136s Preparing to unpack .../15-libjbig0_2.1-6.1ubuntu3_amd64.deb ... 136s Unpacking libjbig0:amd64 (2.1-6.1ubuntu3) ... 136s Selecting previously unselected package libwebp7:amd64. 136s Preparing to unpack .../16-libwebp7_1.5.0-0.1build1_amd64.deb ... 136s Unpacking libwebp7:amd64 (1.5.0-0.1build1) ... 136s Selecting previously unselected package libtiff6:amd64. 136s Preparing to unpack .../17-libtiff6_4.7.0-3ubuntu3_amd64.deb ... 136s Unpacking libtiff6:amd64 (4.7.0-3ubuntu3) ... 136s Selecting previously unselected package libwebpdemux2:amd64. 136s Preparing to unpack .../18-libwebpdemux2_1.5.0-0.1build1_amd64.deb ... 136s Unpacking libwebpdemux2:amd64 (1.5.0-0.1build1) ... 136s Selecting previously unselected package libwebpmux3:amd64. 136s Preparing to unpack .../19-libwebpmux3_1.5.0-0.1build1_amd64.deb ... 136s Unpacking libwebpmux3:amd64 (1.5.0-0.1build1) ... 136s Selecting previously unselected package python-djantic-doc. 136s Preparing to unpack .../20-python-djantic-doc_0.7.0-6_all.deb ... 136s Unpacking python-djantic-doc (0.7.0-6) ... 136s Selecting previously unselected package python3.14. 136s Preparing to unpack .../21-python3.14_3.14.2-1_amd64.deb ... 136s Unpacking python3.14 (3.14.2-1) ... 136s Selecting previously unselected package python3-all. 136s Preparing to unpack .../22-python3-all_3.13.9-3_amd64.deb ... 136s Unpacking python3-all (3.13.9-3) ... 136s Selecting previously unselected package python3-annotated-types. 136s Preparing to unpack .../23-python3-annotated-types_0.7.0-1_all.deb ... 136s Unpacking python3-annotated-types (0.7.0-1) ... 136s Selecting previously unselected package python3-asgiref. 136s Preparing to unpack .../24-python3-asgiref_3.11.0-1_all.deb ... 136s Unpacking python3-asgiref (3.11.0-1) ... 136s Selecting previously unselected package python3-sqlparse. 136s Preparing to unpack .../25-python3-sqlparse_0.5.4-1_all.deb ... 136s Unpacking python3-sqlparse (0.5.4-1) ... 136s Selecting previously unselected package python3-django. 136s Preparing to unpack .../26-python3-django_3%3a5.2.9-0ubuntu3_all.deb ... 136s Unpacking python3-django (3:5.2.9-0ubuntu3) ... 136s Selecting previously unselected package python3-pydantic-core. 136s Preparing to unpack .../27-python3-pydantic-core_2.41.5-2_amd64.deb ... 136s Unpacking python3-pydantic-core (2.41.5-2) ... 136s Selecting previously unselected package python3-typing-inspection. 136s Preparing to unpack .../28-python3-typing-inspection_0.4.2-1_all.deb ... 136s Unpacking python3-typing-inspection (0.4.2-1) ... 136s Selecting previously unselected package python3-dnspython. 136s Preparing to unpack .../29-python3-dnspython_2.7.0-1ubuntu2_all.deb ... 136s Unpacking python3-dnspython (2.7.0-1ubuntu2) ... 136s Selecting previously unselected package python3-email-validator. 136s Preparing to unpack .../30-python3-email-validator_2.2.0-1_all.deb ... 136s Unpacking python3-email-validator (2.2.0-1) ... 136s Selecting previously unselected package python3-pydantic. 136s Preparing to unpack .../31-python3-pydantic_2.12.5-2_amd64.deb ... 136s Unpacking python3-pydantic (2.12.5-2) ... 136s Selecting previously unselected package python3-djantic. 136s Preparing to unpack .../32-python3-djantic_0.7.0-6_all.deb ... 136s Unpacking python3-djantic (0.7.0-6) ... 136s Selecting previously unselected package libopenjp2-7:amd64. 136s Preparing to unpack .../33-libopenjp2-7_2.5.4-1_amd64.deb ... 136s Unpacking libopenjp2-7:amd64 (2.5.4-1) ... 136s Selecting previously unselected package python3-pil:amd64. 136s Preparing to unpack .../34-python3-pil_12.0.0-1ubuntu1_amd64.deb ... 136s Unpacking python3-pil:amd64 (12.0.0-1ubuntu1) ... 136s Selecting previously unselected package python3-fake-factory. 136s Preparing to unpack .../35-python3-fake-factory_39.0.0-1_all.deb ... 136s Unpacking python3-fake-factory (39.0.0-1) ... 136s Selecting previously unselected package python3-factory-boy. 136s Preparing to unpack .../36-python3-factory-boy_3.3.3-1build1_all.deb ... 136s Unpacking python3-factory-boy (3.3.3-1build1) ... 136s Selecting previously unselected package python3-iniconfig. 136s Preparing to unpack .../37-python3-iniconfig_2.1.0-2_all.deb ... 136s Unpacking python3-iniconfig (2.1.0-2) ... 136s Selecting previously unselected package python3-pluggy. 136s Preparing to unpack .../38-python3-pluggy_1.6.0-2_all.deb ... 136s Unpacking python3-pluggy (1.6.0-2) ... 136s Selecting previously unselected package python3-psycopg2. 136s Preparing to unpack .../39-python3-psycopg2_2.9.11-1_amd64.deb ... 136s Unpacking python3-psycopg2 (2.9.11-1) ... 136s Selecting previously unselected package python3-pytest. 136s Preparing to unpack .../40-python3-pytest_9.0.2-2_all.deb ... 136s Unpacking python3-pytest (9.0.2-2) ... 136s Selecting previously unselected package python3-pytest-django. 136s Preparing to unpack .../41-python3-pytest-django_4.11.1-2_all.deb ... 136s Unpacking python3-pytest-django (4.11.1-2) ... 136s Setting up libgraphite2-3:amd64 (1.3.14-11ubuntu1) ... 136s Setting up liblcms2-2:amd64 (2.17-1) ... 136s Setting up python3-iniconfig (2.1.0-2) ... 136s Setting up libsharpyuv0:amd64 (1.5.0-0.1build1) ... 136s Setting up python3-pydantic-core (2.41.5-2) ... 136s Setting up liblerc4:amd64 (4.0.0+ds-5ubuntu2) ... 136s Setting up python3-typing-inspection (0.4.2-1) ... 137s Setting up libpython3.14-minimal:amd64 (3.14.2-1) ... 137s Setting up python-djantic-doc (0.7.0-6) ... 137s Setting up libpq5:amd64 (18.1-2) ... 137s Setting up libdeflate0:amd64 (1.23-2) ... 137s Setting up libgomp1:amd64 (15.2.0-12ubuntu1) ... 137s Setting up libjbig0:amd64 (2.1-6.1ubuntu3) ... 137s Setting up python3-annotated-types (0.7.0-1) ... 137s Setting up python3-sqlparse (0.5.4-1) ... 137s Setting up libimagequant0:amd64 (2.18.0-1build1) ... 137s Setting up python3-psycopg2 (2.9.11-1) ... 137s Setting up libjpeg-turbo8:amd64 (2.1.5-4ubuntu2) ... 137s Setting up python3-pluggy (1.6.0-2) ... 137s Setting up libwebp7:amd64 (1.5.0-0.1build1) ... 137s Setting up python3-dnspython (2.7.0-1ubuntu2) ... 137s Setting up libopenjp2-7:amd64 (2.5.4-1) ... 137s Setting up libharfbuzz0b:amd64 (12.3.2-1) ... 137s Setting up python3-email-validator (2.2.0-1) ... 138s Setting up libwebpmux3:amd64 (1.5.0-0.1build1) ... 138s Setting up python3.14-minimal (3.14.2-1) ... 138s Setting up python3-asgiref (3.11.0-1) ... 138s Setting up libjpeg8:amd64 (8c-2ubuntu11) ... 138s Setting up python3-django (3:5.2.9-0ubuntu3) ... 140s Setting up libpython3.14-stdlib:amd64 (3.14.2-1) ... 140s Setting up python3-pytest (9.0.2-2) ... 140s Setting up libwebpdemux2:amd64 (1.5.0-0.1build1) ... 140s Setting up python3-pytest-django (4.11.1-2) ... 140s Setting up python3-pydantic (2.12.5-2) ... 141s Setting up libraqm0:amd64 (0.10.3-1build1) ... 141s Setting up libtiff6:amd64 (4.7.0-3ubuntu3) ... 141s Setting up python3-djantic (0.7.0-6) ... 141s Setting up python3.14 (3.14.2-1) ... 141s Setting up python3-all (3.13.9-3) ... 141s Setting up python3-pil:amd64 (12.0.0-1ubuntu1) ... 142s Setting up python3-fake-factory (39.0.0-1) ... 143s Setting up python3-factory-boy (3.3.3-1build1) ... 143s Processing triggers for systemd (259-1ubuntu3) ... 143s Processing triggers for man-db (2.13.1-1) ... 144s Processing triggers for libc-bin (2.42-2ubuntu4) ... 145s autopkgtest [23:30:54]: test upstream: [----------------------- 145s ============================= test session starts ============================== 145s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 145s cachedir: .pytest_cache 145s django: version: 5.2.9, settings: tests.testapp.settings (from ini) 145s rootdir: /tmp/autopkgtest.M9czB6/autopkgtest_tmp 145s configfile: setup.cfg 145s plugins: Faker-39.0.0, typeguard-4.4.4, django-4.11.1 145s collecting ... collected 32 items / 4 deselected / 28 selected 145s 145s tests/test_fields.py::test_unhandled_field_type Creating test database for alias 'default'... 145s is currently unhandled, defaulting to str. 145s PASSED 145s tests/test_fields.py::test_custom_field PASSED 145s tests/test_fields.py::test_postgres_json_field PASSED 145s tests/test_fields.py::test_lazy_choice_field PASSED 145s tests/test_fields.py::test_enum_choices PASSED 145s tests/test_fields.py::test_enum_choices_generates_unique_enums PASSED 145s tests/test_fields.py::test_listing PASSED 145s tests/test_files.py::test_image_field_schema PASSED 145s tests/test_main.py::test_config_errors PASSED 145s tests/test_main.py::test_get_field_names PASSED 145s tests/test_queries.py::test_get_instance PASSED 145s tests/test_queries.py::test_get_instance_with_generic_foreign_key FAILED 145s tests/test_queries.py::test_get_queryset_with_reverse_one_to_one FAILED 145s tests/test_queries.py::test_get_queryset_with_foreign_key FAILED 146s tests/test_queries.py::test_get_queryset_with_reverse_foreign_key FAILED 146s tests/test_queries.py::test_get_queryset_with_generic_foreign_key PASSED 146s tests/test_relations.py::test_m2m FAILED 146s tests/test_relations.py::test_foreign_key FAILED 146s tests/test_relations.py::test_one_to_one FAILED 146s tests/test_relations.py::test_one_to_one_reverse FAILED 146s tests/test_relations.py::test_generic_relation FAILED 146s tests/test_relations.py::test_m2m_reverse FAILED 146s tests/test_schemas.py::test_description PASSED 146s tests/test_schemas.py::test_cache PASSED 146s tests/test_schemas.py::test_include_exclude PASSED 146s tests/test_schemas.py::test_json PASSED 146s tests/test_schemas.py::test_include_from_annotations FAILED 146s tests/test_schemas.py::test_by_alias_generator PASSEDDestroying test database for alias 'default'... 146s 146s 146s =================================== FAILURES =================================== 146s __________________ test_get_instance_with_generic_foreign_key __________________ 146s 146s @pytest.mark.django_db 146s def test_get_instance_with_generic_foreign_key(): 146s 146s bookmark = Bookmark.objects.create(url="https://www.djangoproject.com/") 146s Tagged.objects.create(content_object=bookmark, slug="django") 146s 146s class TaggedSchema(ModelSchema): 146s class Config: 146s model = Tagged 146s 146s class BookmarkWithTaggedSchema(ModelSchema): 146s 146s tags: List[TaggedSchema] 146s 146s class Config: 146s model = Bookmark 146s 146s bookmark_with_tagged_schema = BookmarkWithTaggedSchema.from_django(bookmark) 146s 146s > assert bookmark_with_tagged_schema.dict() == { 146s "id": 1, 146s "tags": [ 146s { 146s 'content_object': 1, 146s "content_type": 20, 146s "id": 1, 146s "object_id": 1, 146s "slug": "django", 146s } 146s ], 146s "url": "https://www.djangoproject.com/", 146s } 146s E AssertionError: assert {'id': 1, 'ta...project.com/'} == {'id': 1, 'ta...project.com/'} 146s E 146s E Omitting 2 identical items, use -vv to show 146s E Differing items: 146s E {'tags': [{'id': 1}]} != {'tags': [{'content_object': 1, 'content_type': 20, 'id': 1, 'object_id': 1, ...}]} 146s E 146s E Full diff: 146s E {... 146s E 146s E ...Full output truncated (12 lines hidden), use '-vv' to show 146s 146s tests/test_queries.py:46: AssertionError 146s __________________ test_get_queryset_with_reverse_one_to_one ___________________ 146s 146s @pytest.mark.django_db 146s def test_get_queryset_with_reverse_one_to_one(): 146s """ 146s Test retrieving a Django queryset with reverse one-to-one relationships. 146s """ 146s user_data = [ 146s {"first_name": "Jordan", "email": "jordan@eremieff.com"}, 146s {"first_name": "Sara", "email": "sara@example.com"}, 146s ] 146s for kwargs in user_data: 146s user = User.objects.create(**kwargs) 146s Profile.objects.create(user=user, location="Australia") 146s 146s class UserSchema(ModelSchema): 146s class Config: 146s model = User 146s include = ["id", "email", "first_name", "profile"] 146s 146s users = User.objects.all() 146s user_schema_qs = UserSchema.from_django(users, many=True) 146s assert user_schema_qs == [ 146s { 146s "email": "jordan@eremieff.com", 146s "first_name": "Jordan", 146s "id": 1, 146s "profile": 1, 146s }, 146s {"email": "sara@example.com", "first_name": "Sara", "id": 2, "profile": 2}, 146s ] 146s 146s # Test when using a declared sub-model 146s class ProfileSchema(ModelSchema): 146s class Config: 146s model = Profile 146s include = ["id", "location"] 146s 146s class UserWithProfileSchema(ModelSchema): 146s 146s profile: ProfileSchema 146s 146s class Config: 146s model = User 146s exclude = ["created_at", "updated_at", "last_name"] 146s 146s users = User.objects.all() 146s 146s user_with_profile_schema_qs = UserWithProfileSchema.from_django(users, many=True) 146s > assert user_with_profile_schema_qs == [ 146s { 146s "email": "jordan@eremieff.com", 146s "first_name": "Jordan", 146s "id": 1, 146s "profile": {"id": 1, "location": "Australia"}, 146s }, 146s { 146s "email": "sara@example.com", 146s "first_name": "Sara", 146s "id": 2, 146s "profile": {"id": 2, "location": "Australia"}, 146s }, 146s ] 146s E AssertionError: assert [UserWithProf...example.com')] == [{'email': 'j...'Australia'}}] 146s E 146s 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'}} 146s E 146s E Full diff: 146s E [ 146s E + UserWithProfileSchema(profile=1, id=1, first_name='Jordan', email='jordan@eremieff.com'), 146s E + UserWithProfileSchema(profile=2, id=2, first_name='Sara', email='sara@example.com'),... 146s E 146s E ...Full output truncated (19 lines hidden), use '-vv' to show 146s 146s tests/test_queries.py:108: AssertionError 146s ______________________ test_get_queryset_with_foreign_key ______________________ 146s 146s @pytest.mark.django_db 146s def test_get_queryset_with_foreign_key(): 146s """ 146s Test retrieving a Django queryset with foreign-key relationships. 146s """ 146s 146s thread = Thread.objects.create(title="My thread topic") 146s thread2 = Thread.objects.create(title="Another topic") 146s for content in ("I agree.", "I disagree!", "lol"): 146s message_one = Message.objects.create(content=content, thread=thread) 146s Message.objects.create(content=content, thread=thread2) 146s 146s class MessageSchema(ModelSchema): 146s class Config: 146s model = Message 146s exclude = ["created_at"] 146s 146s schema = MessageSchema.from_django(message_one) 146s assert schema.dict() == {"id": 5, "content": "lol", "thread": 1} 146s 146s class ThreadSchema(ModelSchema): 146s class Config: 146s model = Thread 146s exclude = ["created_at"] 146s 146s class MessageWithThreadSchema(ModelSchema): 146s thread: ThreadSchema 146s 146s class Config: 146s model = Message 146s exclude = ["created_at"] 146s 146s schema = MessageWithThreadSchema.from_django(message_one) 146s > assert schema.dict() == { 146s "id": 5, 146s "content": "lol", 146s "thread": { 146s "messages": [{"id": 1}, {"id": 3}, {"id": 5}], 146s "id": 1, 146s "title": "My thread topic", 146s }, 146s } 146s E AssertionError: assert {'content': '..., 'thread': 1} == {'content': '...hread topic'}} 146s E 146s E Omitting 2 identical items, use -vv to show 146s E Differing items: 146s E {'thread': 1} != {'thread': {'id': 1, 'messages': [{'id': 1}, {'id': 3}, {'id': 5}], 'title': 'My thread topic'}} 146s E 146s E Full diff: 146s E {... 146s E 146s E ...Full output truncated (21 lines hidden), use '-vv' to show 146s 146s tests/test_queries.py:157: AssertionError 146s __________________ test_get_queryset_with_reverse_foreign_key __________________ 146s 146s @pytest.mark.django_db 146s def test_get_queryset_with_reverse_foreign_key(): 146s """ 146s Test retrieving a Django queryset with reverse foreign-key relationships. 146s """ 146s 146s thread = Thread.objects.create(title="My thread topic") 146s thread2 = Thread.objects.create(title="Another topic") 146s for content in ("I agree.", "I disagree!", "lol"): 146s Message.objects.create(content=content, thread=thread) 146s Message.objects.create(content=content, thread=thread2) 146s 146s threads = Thread.objects.all() 146s 146s class MessageSchema(ModelSchema): 146s class Config: 146s model = Message 146s include = ["id", "content"] 146s 146s class ThreadSchema(ModelSchema): 146s class Config: 146s model = Thread 146s 146s thread_schema_qs = ThreadSchema.from_django(threads, many=True) 146s thread_schemas = [t.dict() for t in thread_schema_qs] 146s assert thread_schemas == [ 146s { 146s "messages": [{"id": 2}, {"id": 4}, {"id": 6}], 146s "id": 2, 146s "title": "Another topic", 146s }, 146s { 146s "messages": [{"id": 1}, {"id": 3}, {"id": 5}], 146s "id": 1, 146s "title": "My thread topic", 146s }, 146s ] 146s 146s # Test when using a declared sub-model 146s class ThreadWithMessageListSchema(ModelSchema): 146s messages: List[MessageSchema] 146s 146s class Config: 146s model = Thread 146s exclude = ["created_at", "updated_at"] 146s 146s thread_with_message_list_schema_qs = ThreadWithMessageListSchema.from_django( 146s threads, many=True 146s ) 146s 146s > assert thread_with_message_list_schema_qs == [ 146s { 146s "messages": [ 146s {"id": 2, "content": "I agree."}, 146s {"id": 4, "content": "I disagree!"}, 146s {"id": 6, "content": "lol"}, 146s ], 146s "id": 2, 146s "title": "Another topic", 146s }, 146s { 146s "messages": [ 146s {"id": 1, "content": "I agree."}, 146s {"id": 3, "content": "I disagree!"}, 146s {"id": 5, "content": "lol"}, 146s ], 146s "id": 1, 146s "title": "My thread topic", 146s }, 146s ] 146s E AssertionError: assert [ThreadWithMe...hread topic')] == [{'id': 2, 'm...hread topic'}] 146s E 146s 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'} 146s E 146s E Full diff: 146s E [ 146s E + ThreadWithMessageListSchema(messages=[{'id': 2}, {'id': 4}, {'id': 6}], id=2, title='Another topic'), 146s E + ThreadWithMessageListSchema(messages=[{'id': 1}, {'id': 3}, {'id': 5}], id=1, title='My thread topic'),... 146s E 146s E ...Full output truncated (37 lines hidden), use '-vv' to show 146s 146s tests/test_queries.py:218: AssertionError 146s ___________________________________ test_m2m ___________________________________ 146s 146s @pytest.mark.django_db 146s def test_m2m(): 146s """ 146s Test forward m2m relationships. 146s """ 146s 146s class ArticleSchema(ModelSchema): 146s class Config: 146s model = Article 146s 146s assert ArticleSchema.schema() == { 146s "title": "ArticleSchema", 146s "description": "A news article.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "headline": { 146s "title": "Headline", 146s "description": "headline", 146s "maxLength": 100, 146s "type": "string", 146s }, 146s "pub_date": { 146s "title": "Pub Date", 146s "description": "pub_date", 146s "type": "string", 146s "format": "date", 146s }, 146s "publications": { 146s "title": "Publications", 146s "description": "id", 146s "type": "array", 146s "items": { 146s "type": "object", 146s "additionalProperties": {"type": "integer"}, 146s }, 146s }, 146s }, 146s "required": ["headline", "pub_date", "publications"], 146s } 146s 146s class PublicationSchema(ModelSchema): 146s class Config: 146s model = Publication 146s 146s class ArticleWithPublicationListSchema(ModelSchema): 146s publications: List[PublicationSchema] 146s 146s class Config: 146s model = Article 146s 146s > assert ArticleWithPublicationListSchema.schema() == { 146s "title": "ArticleWithPublicationListSchema", 146s "description": "A news article.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "headline": { 146s "title": "Headline", 146s "description": "headline", 146s "maxLength": 100, 146s "type": "string", 146s }, 146s "pub_date": { 146s "title": "Pub Date", 146s "description": "pub_date", 146s "type": "string", 146s "format": "date", 146s }, 146s "publications": { 146s "title": "Publications", 146s "type": "array", 146s "items": {"$ref": "#/definitions/PublicationSchema"}, 146s }, 146s }, 146s "required": ["headline", "pub_date", "publications"], 146s "definitions": { 146s "PublicationSchema": { 146s "title": "PublicationSchema", 146s "description": "A news publication.", 146s "type": "object", 146s "properties": { 146s "article_set": { 146s "title": "Article Set", 146s "description": "id", 146s "type": "array", 146s "items": { 146s "type": "object", 146s "additionalProperties": {"type": "integer"}, 146s }, 146s }, 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "title": { 146s "title": "Title", 146s "description": "title", 146s "maxLength": 30, 146s "type": "string", 146s }, 146s }, 146s "required": ["title"], 146s } 146s }, 146s } 146s E AssertionError: assert {'description...tSchema', ...} == {'definitions...ations'], ...} 146s E 146s E Omitting 4 identical items, use -vv to show 146s E Differing items: 146s 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'}}} 146s E Right contains 1 more item: 146s E {'defi... 146s E 146s E ...Full output truncated (94 lines hidden), use '-vv' to show 146s 146s tests/test_relations.py:74: AssertionError 146s _______________________________ test_foreign_key _______________________________ 146s 146s @pytest.mark.django_db 146s def test_foreign_key(): 146s """ 146s Test forward foreign-key relationships. 146s """ 146s 146s class ThreadSchema(ModelSchema): 146s class Config: 146s model = Thread 146s 146s class MessageSchema(ModelSchema): 146s class Config: 146s model = Message 146s 146s assert MessageSchema.schema() == { 146s "title": "MessageSchema", 146s "description": "A message posted in a thread.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "content": {"title": "Content", "description": "content", "type": "string"}, 146s "created_at": { 146s "title": "Created At", 146s "description": "created_at", 146s "type": "string", 146s "format": "date-time", 146s }, 146s "thread": {"title": "Thread", "description": "id", "type": "integer"}, 146s }, 146s "required": ["content", "created_at", "thread"], 146s } 146s 146s class MessageWithThreadSchema(ModelSchema): 146s 146s thread: ThreadSchema 146s 146s class Config: 146s model = Message 146s 146s > assert MessageWithThreadSchema.schema() == { 146s "title": "MessageWithThreadSchema", 146s "description": "A message posted in a thread.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "content": {"title": "Content", "description": "content", "type": "string"}, 146s "created_at": { 146s "title": "Created At", 146s "description": "created_at", 146s "type": "string", 146s "format": "date-time", 146s }, 146s "thread": {"$ref": "#/definitions/ThreadSchema"}, 146s }, 146s "required": ["content", "created_at", "thread"], 146s "definitions": { 146s "ThreadSchema": { 146s "title": "ThreadSchema", 146s "description": "A thread of messages.", 146s "type": "object", 146s "properties": { 146s "messages": { 146s "title": "Messages", 146s "description": "id", 146s "type": "array", 146s "items": { 146s "type": "object", 146s "additionalProperties": {"type": "integer"}, 146s }, 146s }, 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "title": { 146s "title": "Title", 146s "description": "title", 146s "maxLength": 30, 146s "type": "string", 146s }, 146s }, 146s "required": ["title"], 146s } 146s }, 146s } 146s E AssertionError: assert {'description...dSchema', ...} == {'definitions...thread'], ...} 146s E 146s E Omitting 4 identical items, use -vv to show 146s E Differing items: 146s 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'}}} 146s E Right contains 1 more item: 146s E {'defi... 146s E 146s E ...Full output truncated (86 lines hidden), use '-vv' to show 146s 146s tests/test_relations.py:181: AssertionError 146s _______________________________ test_one_to_one ________________________________ 146s 146s @pytest.mark.django_db 146s def test_one_to_one(): 146s """ 146s Test forward one-to-one relationships. 146s """ 146s 146s class UserSchema(ModelSchema): 146s class Config: 146s model = User 146s 146s class ProfileSchema(ModelSchema): 146s class Config: 146s model = Profile 146s 146s assert ProfileSchema.schema() == { 146s "title": "ProfileSchema", 146s "description": "A user's profile.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "user": {"title": "User", "description": "id", "type": "integer"}, 146s "website": { 146s "title": "Website", 146s "description": "website", 146s "default": "", 146s "maxLength": 200, 146s "type": "string", 146s }, 146s "location": { 146s "title": "Location", 146s "description": "location", 146s "default": "", 146s "maxLength": 100, 146s "type": "string", 146s }, 146s }, 146s "required": ["user"], 146s } 146s 146s class ProfileWithUserSchema(ModelSchema): 146s user: UserSchema 146s 146s class Config: 146s model = Profile 146s 146s > assert ProfileWithUserSchema.schema() == { 146s "title": "ProfileWithUserSchema", 146s "description": "A user's profile.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "user": {"$ref": "#/definitions/UserSchema"}, 146s "website": { 146s "title": "Website", 146s "description": "website", 146s "default": "", 146s "maxLength": 200, 146s "type": "string", 146s }, 146s "location": { 146s "title": "Location", 146s "description": "location", 146s "default": "", 146s "maxLength": 100, 146s "type": "string", 146s }, 146s }, 146s "required": ["user"], 146s "definitions": { 146s "UserSchema": { 146s "title": "UserSchema", 146s "description": "A user of the application.", 146s "type": "object", 146s "properties": { 146s "profile": { 146s "title": "Profile", 146s "description": "id", 146s "type": "integer", 146s }, 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "first_name": { 146s "title": "First Name", 146s "description": "first_name", 146s "maxLength": 50, 146s "type": "string", 146s }, 146s "last_name": { 146s "title": "Last Name", 146s "description": "last_name", 146s "maxLength": 50, 146s "type": "string", 146s }, 146s "email": { 146s "title": "Email", 146s "description": "email", 146s "maxLength": 254, 146s "type": "string", 146s }, 146s "created_at": { 146s "title": "Created At", 146s "description": "created_at", 146s "type": "string", 146s "format": "date-time", 146s }, 146s "updated_at": { 146s "title": "Updated At", 146s "description": "updated_at", 146s "type": "string", 146s "format": "date-time", 146s }, 146s }, 146s "required": ["first_name", "email", "created_at", "updated_at"], 146s } 146s }, 146s } 146s E AssertionError: assert {'description...rSchema', ...} == {'definitions...['user'], ...} 146s E 146s E Omitting 4 identical items, use -vv to show 146s E Differing items: 146s 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', ...}}} 146s E Right contains 1 more item: 146s E {'defi... 146s E 146s E ...Full output truncated (129 lines hidden), use '-vv' to show 146s 146s tests/test_relations.py:325: AssertionError 146s ___________________________ test_one_to_one_reverse ____________________________ 146s 146s @pytest.mark.django_db 146s def test_one_to_one_reverse(): 146s """ 146s Test reverse one-to-one relationships. 146s """ 146s 146s class ProfileSchema(ModelSchema): 146s class Config: 146s model = Profile 146s 146s class UserSchema(ModelSchema): 146s class Config: 146s model = User 146s 146s assert ProfileSchema.schema() == { 146s "title": "ProfileSchema", 146s "description": "A user's profile.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "user": {"title": "User", "description": "id", "type": "integer"}, 146s "website": { 146s "title": "Website", 146s "description": "website", 146s "default": "", 146s "maxLength": 200, 146s "type": "string", 146s }, 146s "location": { 146s "title": "Location", 146s "description": "location", 146s "default": "", 146s "maxLength": 100, 146s "type": "string", 146s }, 146s }, 146s "required": ["user"], 146s } 146s 146s class UserWithProfileSchema(ModelSchema): 146s profile: ProfileSchema 146s 146s class Config: 146s model = User 146s 146s > assert UserWithProfileSchema.schema() == { 146s "title": "UserWithProfileSchema", 146s "description": "A user of the application.", 146s "type": "object", 146s "properties": { 146s "profile": {"$ref": "#/definitions/ProfileSchema"}, 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "first_name": { 146s "title": "First Name", 146s "description": "first_name", 146s "maxLength": 50, 146s "type": "string", 146s }, 146s "last_name": { 146s "title": "Last Name", 146s "description": "last_name", 146s "maxLength": 50, 146s "type": "string", 146s }, 146s "email": { 146s "title": "Email", 146s "description": "email", 146s "maxLength": 254, 146s "type": "string", 146s }, 146s "created_at": { 146s "title": "Created At", 146s "description": "created_at", 146s "type": "string", 146s "format": "date-time", 146s }, 146s "updated_at": { 146s "title": "Updated At", 146s "description": "updated_at", 146s "type": "string", 146s "format": "date-time", 146s }, 146s }, 146s "required": ["profile", "first_name", "email", "created_at", "updated_at"], 146s "definitions": { 146s "ProfileSchema": { 146s "title": "ProfileSchema", 146s "description": "A user's profile.", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "user": {"title": "User", "description": "id", "type": "integer"}, 146s "website": { 146s "title": "Website", 146s "description": "website", 146s "default": "", 146s "maxLength": 200, 146s "type": "string", 146s }, 146s "location": { 146s "title": "Location", 146s "description": "location", 146s "default": "", 146s "maxLength": 100, 146s "type": "string", 146s }, 146s }, 146s "required": ["user"], 146s } 146s }, 146s } 146s E AssertionError: assert {'description...eSchema', ...} == {'definitions...ted_at'], ...} 146s E 146s E Omitting 3 identical items, use -vv to show 146s E Differing items: 146s 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, 'title': 'First Name', 'type': 'string'}, 'id': {'description': 'id', 'title': 'Id', 'type': 'integer'}, ...}} 146s E {'required': ['first_name', 'emai... 146s E 146s E ...Full output truncated (115 lines hidden), use '-vv' to show 146s 146s tests/test_relations.py:442: AssertionError 146s ____________________________ test_generic_relation _____________________________ 146s 146s @pytest.mark.django_db 146s def test_generic_relation(): 146s """ 146s Test generic foreign-key relationships. 146s """ 146s 146s class TaggedSchema(ModelSchema): 146s class Config: 146s model = Tagged 146s 146s assert TaggedSchema.schema() == { 146s "title": "TaggedSchema", 146s "description": "Tagged(id, slug, content_type, object_id)", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "slug": { 146s "title": "Slug", 146s "description": "slug", 146s "maxLength": 50, 146s "type": "string", 146s }, 146s "content_type": { 146s "title": "Content Type", 146s "description": "id", 146s "type": "integer", 146s }, 146s "object_id": { 146s "title": "Object Id", 146s "description": "object_id", 146s "type": "integer", 146s }, 146s "content_object": { 146s "title": "Content Object", 146s "description": "content_object", 146s "type": "integer", 146s }, 146s }, 146s "required": ["slug", "content_type", "object_id", "content_object"], 146s } 146s 146s > class BookmarkSchema(ModelSchema): 146s 146s tests/test_relations.py:551: 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s /usr/lib/python3/dist-packages/djantic/main.py:45: in __new__ 146s cls = super().__new__(mcs, name, bases, namespace) 146s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 146s /usr/lib/python3/dist-packages/pydantic/v1/main.py:221: in __new__ 146s inferred = ModelField.infer( 146s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:504: in infer 146s return cls( 146s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:434: in __init__ 146s self.prepare() 146s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:544: in prepare 146s self._set_default_and_type() 146s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 146s 146s self = ModelField(name='tags', type=UndefinedType, required=False, default=None) 146s 146s def _set_default_and_type(self) -> None: 146s """ 146s Set the default value, infer the type if needed and check if `None` value is valid. 146s """ 146s if self.default_factory is not None: 146s if self.type_ is Undefined: 146s raise errors_.ConfigError( 146s f'you need to set the type of field {self.name!r} when using `default_factory`' 146s ) 146s return 146s 146s default_value = self.get_default() 146s 146s if default_value is not None and self.type_ is Undefined: 146s self.type_ = default_value.__class__ 146s self.outer_type_ = self.type_ 146s self.annotation = self.type_ 146s 146s if self.type_ is Undefined: 146s > raise errors_.ConfigError(f'unable to infer type for attribute "{self.name}"') 146s E pydantic.v1.errors.ConfigError: unable to infer type for attribute "tags" 146s 146s /usr/lib/python3/dist-packages/pydantic/v1/fields.py:576: ConfigError 146s _______________________________ test_m2m_reverse _______________________________ 146s 146s @pytest.mark.django_db 146s def test_m2m_reverse(): 146s class ExpertSchema(ModelSchema): 146s class Config: 146s model = Expert 146s 146s class CaseSchema(ModelSchema): 146s class Config: 146s model = Case 146s 146s assert ExpertSchema.schema() == { 146s "title": "ExpertSchema", 146s "description": "Expert(id, name)", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "name": { 146s "title": "Name", 146s "description": "name", 146s "maxLength": 128, 146s "type": "string", 146s }, 146s "cases": { 146s "title": "Cases", 146s "description": "id", 146s "type": "array", 146s "items": { 146s "type": "object", 146s "additionalProperties": {"type": "integer"}, 146s }, 146s }, 146s }, 146s "required": ["name", "cases"], 146s } 146s 146s assert CaseSchema.schema() == { 146s "title": "CaseSchema", 146s "description": "Case(id, name, details)", 146s "type": "object", 146s "properties": { 146s "related_experts": { 146s "title": "Related Experts", 146s "description": "id", 146s "type": "array", 146s "items": { 146s "type": "object", 146s "additionalProperties": {"type": "integer"}, 146s }, 146s }, 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "name": { 146s "title": "Name", 146s "description": "name", 146s "maxLength": 128, 146s "type": "string", 146s }, 146s "details": {"title": "Details", "description": "details", "type": "string"}, 146s }, 146s "required": ["name", "details"], 146s } 146s case = Case.objects.create(name="My Case", details="Some text data.") 146s expert = Expert.objects.create(name="My Expert") 146s case_schema = CaseSchema.from_django(case) 146s expert_schema = ExpertSchema.from_django(expert) 146s assert case_schema.dict() == { 146s "related_experts": [], 146s "id": 1, 146s "name": "My Case", 146s "details": "Some text data.", 146s } 146s assert expert_schema.dict() == {"id": 1, "name": "My Expert", "cases": []} 146s 146s expert.cases.add(case) 146s case_schema = CaseSchema.from_django(case) 146s expert_schema = ExpertSchema.from_django(expert) 146s assert case_schema.dict() == { 146s "related_experts": [{"id": 1}], 146s "id": 1, 146s "name": "My Case", 146s "details": "Some text data.", 146s } 146s assert expert_schema.dict() == {"id": 1, "name": "My Expert", "cases": [{"id": 1}]} 146s 146s class CustomExpertSchema(ModelSchema): 146s """Custom schema""" 146s 146s name: Optional[str] 146s 146s class Config: 146s model = Expert 146s 146s class CaseSchema(ModelSchema): 146s related_experts: List[CustomExpertSchema] 146s 146s class Config: 146s model = Case 146s 146s > assert CaseSchema.schema() == { 146s "title": "CaseSchema", 146s "description": "Case(id, name, details)", 146s "type": "object", 146s "properties": { 146s "related_experts": { 146s "title": "Related Experts", 146s "type": "array", 146s "items": {"$ref": "#/definitions/CustomExpertSchema"}, 146s }, 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "name": { 146s "title": "Name", 146s "description": "name", 146s "maxLength": 128, 146s "type": "string", 146s }, 146s "details": {"title": "Details", "description": "details", "type": "string"}, 146s }, 146s "required": ["related_experts", "name", "details"], 146s "definitions": { 146s "CustomExpertSchema": { 146s "title": "CustomExpertSchema", 146s "description": "Custom schema", 146s "type": "object", 146s "properties": { 146s "id": {"title": "Id", "description": "id", "type": "integer"}, 146s "name": {"title": "Name", "type": "string"}, 146s "cases": { 146s "title": "Cases", 146s "description": "id", 146s "type": "array", 146s "items": { 146s "type": "object", 146s "additionalProperties": {"type": "integer"}, 146s }, 146s }, 146s }, 146s "required": ["cases"], 146s } 146s }, 146s } 146s E AssertionError: assert {'description...eSchema', ...} == {'definitions...etails'], ...} 146s E 146s E Omitting 3 identical items, use -vv to show 146s E Differing items: 146s 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/CustomExpertSchema'}, 'title': 'Related Experts', 'type': 'array'}}} 146s E {'required': ['name', 'details']}... 146s E 146s E ...Full output truncated (90 lines hidden), use '-vv' to show 146s 146s tests/test_relations.py:807: AssertionError 146s ________________________ test_include_from_annotations _________________________ 146s 146s @pytest.mark.django_db 146s def test_include_from_annotations(): 146s """ 146s Test include="__annotations__" config. 146s """ 146s 146s class ProfileSchema(ModelSchema): 146s website: str 146s 146s class Config: 146s model = Profile 146s include = "__annotations__" 146s 146s > assert ProfileSchema.schema() == { 146s "title": "ProfileSchema", 146s "description": "A user's profile.", 146s "type": "object", 146s "properties": { 146s "website": { 146s "title": "Website", 146s "type": "string" 146s } 146s }, 146s "required": [ 146s "website" 146s ] 146s } 146s E AssertionError: assert {'description...eSchema', ...} == {'description...eSchema', ...} 146s E 146s E Omitting 3 identical items, use -vv to show 146s E Differing items: 146s 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'}}} 146s E {'required': ['user']} != {'required': ['website']} 146s E 146s E Full diff:... 146s E 146s E ...Full output truncated (35 lines hidden), use '-vv' to show 146s 146s tests/test_schemas.py:398: AssertionError 146s =============================== warnings summary =============================== 146s ../../../usr/lib/python3/dist-packages/djantic/main.py:12 146s /usr/lib/python3/dist-packages/djantic/main.py:12: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater. 146s from pydantic.v1 import BaseModel, ConfigError, create_model 146s 146s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 146s ============================= slowest 10 durations ============================= 146s 0.15s setup tests/test_fields.py::test_unhandled_field_type 146s 0.01s call tests/test_relations.py::test_m2m_reverse 146s 146s (8 durations < 0.005s hidden. Use -vv to show these durations.) 146s =========================== short test summary info ============================ 146s FAILED tests/test_queries.py::test_get_instance_with_generic_foreign_key - As... 146s FAILED tests/test_queries.py::test_get_queryset_with_reverse_one_to_one - Ass... 146s FAILED tests/test_queries.py::test_get_queryset_with_foreign_key - AssertionE... 146s FAILED tests/test_queries.py::test_get_queryset_with_reverse_foreign_key - As... 146s FAILED tests/test_relations.py::test_m2m - AssertionError: assert {'descripti... 146s FAILED tests/test_relations.py::test_foreign_key - AssertionError: assert {'d... 146s FAILED tests/test_relations.py::test_one_to_one - AssertionError: assert {'de... 146s FAILED tests/test_relations.py::test_one_to_one_reverse - AssertionError: ass... 146s FAILED tests/test_relations.py::test_generic_relation - pydantic.v1.errors.Co... 146s FAILED tests/test_relations.py::test_m2m_reverse - AssertionError: assert {'d... 146s FAILED tests/test_schemas.py::test_include_from_annotations - AssertionError:... 146s ============ 11 failed, 17 passed, 4 deselected, 1 warning in 0.53s ============ 146s autopkgtest [23:30:55]: test upstream: -----------------------] 147s upstream FAIL non-zero exit status 1 147s autopkgtest [23:30:56]: test upstream: - - - - - - - - - - results - - - - - - - - - - 147s autopkgtest [23:30:56]: @@@@@@@@@@@@@@@@@@@@ summary 147s upstream FAIL non-zero exit status 1