0s autopkgtest [17:17:36]: starting date and time: 2025-01-03 17:17:36+0000 0s autopkgtest [17:17:36]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [17:17:36]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.k5lqou4y/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade pyjwt --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.13.1-1~exp2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-arm64-3.secgroup --name adt-plucky-arm64-pyjwt-20250103-171736-juju-7f2275-prod-proposed-migration-environment-20-f132c1fa-cae8-4eeb-9dc8-66c9c82d4540 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 82s autopkgtest [17:18:58]: testbed dpkg architecture: arm64 82s autopkgtest [17:18:58]: testbed apt version: 2.9.18 83s autopkgtest [17:18:59]: @@@@@@@@@@@@@@@@@@@@ test bed setup 83s autopkgtest [17:18:59]: testbed release detected to be: None 84s autopkgtest [17:19:00]: updating testbed package index (apt update) 84s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 84s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 84s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 84s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 84s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [780 kB] 85s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 85s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 85s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [73.5 kB] 85s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [99.9 kB] 85s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 85s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [821 kB] 85s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [12.2 kB] 85s Fetched 1939 kB in 1s (2090 kB/s) 86s Reading package lists... 86s Reading package lists... 87s Building dependency tree... 87s Reading state information... 87s Calculating upgrade... 88s The following packages will be upgraded: 88s base-passwd bash-completion binutils binutils-aarch64-linux-gnu 88s binutils-common libbinutils libctf-nobfd0 libctf0 libgprofng0 libsframe1 88s 10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 88s Need to get 5715 kB of archives. 88s After this operation, 143 kB of additional disk space will be used. 88s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 base-passwd arm64 3.6.6 [53.6 kB] 88s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 bash-completion all 1:2.16.0-1 [214 kB] 88s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 libgprofng0 arm64 2.43.50.20241230-1ubuntu1 [781 kB] 88s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 libctf0 arm64 2.43.50.20241230-1ubuntu1 [99.0 kB] 88s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libctf-nobfd0 arm64 2.43.50.20241230-1ubuntu1 [102 kB] 88s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 binutils-aarch64-linux-gnu arm64 2.43.50.20241230-1ubuntu1 [3421 kB] 88s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 libbinutils arm64 2.43.50.20241230-1ubuntu1 [782 kB] 88s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 binutils arm64 2.43.50.20241230-1ubuntu1 [3254 B] 88s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 binutils-common arm64 2.43.50.20241230-1ubuntu1 [245 kB] 88s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libsframe1 arm64 2.43.50.20241230-1ubuntu1 [14.3 kB] 89s Preconfiguring packages ... 89s Fetched 5715 kB in 1s (7215 kB/s) 89s (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 ... 80060 files and directories currently installed.) 89s Preparing to unpack .../base-passwd_3.6.6_arm64.deb ... 89s Unpacking base-passwd (3.6.6) over (3.6.5) ... 90s Setting up base-passwd (3.6.6) ... 90s (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 ... 80060 files and directories currently installed.) 90s Preparing to unpack .../0-bash-completion_1%3a2.16.0-1_all.deb ... 90s Unpacking bash-completion (1:2.16.0-1) over (1:2.14.0-2) ... 90s Preparing to unpack .../1-libgprofng0_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking libgprofng0:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../2-libctf0_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking libctf0:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../3-libctf-nobfd0_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking libctf-nobfd0:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../4-binutils-aarch64-linux-gnu_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking binutils-aarch64-linux-gnu (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../5-libbinutils_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking libbinutils:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../6-binutils_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking binutils (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../7-binutils-common_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking binutils-common:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Preparing to unpack .../8-libsframe1_2.43.50.20241230-1ubuntu1_arm64.deb ... 90s Unpacking libsframe1:arm64 (2.43.50.20241230-1ubuntu1) over (2.43.50.20241221-1ubuntu1) ... 90s Setting up binutils-common:arm64 (2.43.50.20241230-1ubuntu1) ... 90s Setting up libctf-nobfd0:arm64 (2.43.50.20241230-1ubuntu1) ... 90s Setting up libsframe1:arm64 (2.43.50.20241230-1ubuntu1) ... 90s Setting up bash-completion (1:2.16.0-1) ... 90s Setting up libbinutils:arm64 (2.43.50.20241230-1ubuntu1) ... 90s Setting up libctf0:arm64 (2.43.50.20241230-1ubuntu1) ... 90s Setting up libgprofng0:arm64 (2.43.50.20241230-1ubuntu1) ... 90s Setting up binutils-aarch64-linux-gnu (2.43.50.20241230-1ubuntu1) ... 90s Setting up binutils (2.43.50.20241230-1ubuntu1) ... 90s Processing triggers for libc-bin (2.40-4ubuntu1) ... 90s Processing triggers for man-db (2.13.0-1) ... 92s Reading package lists... 92s Building dependency tree... 92s Reading state information... 93s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 93s autopkgtest [17:19:09]: upgrading testbed (apt dist-upgrade and autopurge) 93s Reading package lists... 94s Building dependency tree... 94s Reading state information... 94s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 94s Starting 2 pkgProblemResolver with broken count: 0 94s Done 95s Entering ResolveByKeep 95s 96s The following packages were automatically installed and are no longer required: 96s python3.12 python3.12-minimal 96s Use 'sudo apt autoremove' to remove them. 96s The following NEW packages will be installed: 96s libpython3.13-minimal libpython3.13-stdlib python3.13 python3.13-minimal 96s The following packages will be upgraded: 96s libpython3-stdlib python3 python3-minimal 96s 3 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 96s Need to get 5992 kB of archives. 96s After this operation, 24.3 MB of additional disk space will be used. 96s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 96s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 97s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.13.1-1~exp2 [27.6 kB] 97s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.13.1-1~exp2 [23.9 kB] 97s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 97s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 97s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.13.1-1~exp2 [10.2 kB] 97s Fetched 5992 kB in 1s (7310 kB/s) 97s Selecting previously unselected package libpython3.13-minimal:arm64. 97s (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 ... 80185 files and directories currently installed.) 97s Preparing to unpack .../libpython3.13-minimal_3.13.1-2_arm64.deb ... 97s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 97s Selecting previously unselected package python3.13-minimal. 97s Preparing to unpack .../python3.13-minimal_3.13.1-2_arm64.deb ... 97s Unpacking python3.13-minimal (3.13.1-2) ... 97s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 97s Setting up python3.13-minimal (3.13.1-2) ... 98s (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 ... 80505 files and directories currently installed.) 98s Preparing to unpack .../python3-minimal_3.13.1-1~exp2_arm64.deb ... 98s Unpacking python3-minimal (3.13.1-1~exp2) over (3.12.8-1) ... 98s Setting up python3-minimal (3.13.1-1~exp2) ... 99s (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 ... 80505 files and directories currently installed.) 99s Preparing to unpack .../python3_3.13.1-1~exp2_arm64.deb ... 99s Unpacking python3 (3.13.1-1~exp2) over (3.12.8-1) ... 99s Selecting previously unselected package libpython3.13-stdlib:arm64. 99s Preparing to unpack .../libpython3.13-stdlib_3.13.1-2_arm64.deb ... 99s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 99s Selecting previously unselected package python3.13. 99s Preparing to unpack .../python3.13_3.13.1-2_arm64.deb ... 99s Unpacking python3.13 (3.13.1-2) ... 99s Preparing to unpack .../libpython3-stdlib_3.13.1-1~exp2_arm64.deb ... 99s Unpacking libpython3-stdlib:arm64 (3.13.1-1~exp2) over (3.12.8-1) ... 99s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 99s Setting up libpython3-stdlib:arm64 (3.13.1-1~exp2) ... 99s Setting up python3.13 (3.13.1-2) ... 100s Setting up python3 (3.13.1-1~exp2) ... 100s /usr/bin/py3clean:101: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 100s for fn in glob1(directory, "%s.*" % fname): 101s Processing triggers for man-db (2.13.0-1) ... 101s Processing triggers for systemd (257-2ubuntu1) ... 101s Reading package lists... 101s Building dependency tree... 101s Reading state information... 102s Starting pkgProblemResolver with broken count: 0 102s Starting 2 pkgProblemResolver with broken count: 0 102s Done 103s The following packages will be REMOVED: 103s python3.12* python3.12-minimal* 103s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 103s After this operation, 8710 kB disk space will be freed. 103s (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 ... 80922 files and directories currently installed.) 103s Removing python3.12 (3.12.8-3) ... 103s Removing python3.12-minimal (3.12.8-3) ... 103s /usr/bin/py3clean:125: DeprecationWarning: glob.glob1 is deprecated and will be removed in Python 3.15. Use glob.glob and pass a directory to its root_dir argument instead. 103s for fn in glob1(directory, "%s.%s.py[co]" % (fname, magic_tag)): 104s Processing triggers for man-db (2.13.0-1) ... 104s Processing triggers for systemd (257-2ubuntu1) ... 104s (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 ... 80894 files and directories currently installed.) 104s Purging configuration files for python3.12-minimal (3.12.8-3) ... 107s autopkgtest [17:19:23]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 107s autopkgtest [17:19:23]: @@@@@@@@@@@@@@@@@@@@ apt-source pyjwt 108s Get:1 http://ftpmaster.internal/ubuntu plucky/main pyjwt 2.7.0-1 (dsc) [2280 B] 108s Get:2 http://ftpmaster.internal/ubuntu plucky/main pyjwt 2.7.0-1 (tar) [77.9 kB] 108s Get:3 http://ftpmaster.internal/ubuntu plucky/main pyjwt 2.7.0-1 (diff) [4540 B] 109s gpgv: Signature made Thu Jun 15 03:10:18 2023 UTC 109s gpgv: using RSA key C65AEF9FE5BF8CCBD6EDB0198BAF522C0D6CCEDD 109s gpgv: issuer "eriol@debian.org" 109s gpgv: Can't check signature: No public key 109s dpkg-source: warning: cannot verify inline signature for ./pyjwt_2.7.0-1.dsc: no acceptable signature found 109s autopkgtest [17:19:25]: testing package pyjwt version 2.7.0-1 109s autopkgtest [17:19:25]: build not needed 109s autopkgtest [17:19:25]: test python3-jwt: preparing testbed 110s Reading package lists... 110s Building dependency tree... 110s Reading state information... 110s Starting pkgProblemResolver with broken count: 0 110s Starting 2 pkgProblemResolver with broken count: 0 110s Done 111s The following NEW packages will be installed: 111s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 111s libjs-jquery-metadata libjs-jquery-tablesorter 111s libjs-jquery-throttle-debounce python3-all python3-coverage 111s python3-exceptiongroup python3-iniconfig python3-packaging python3-pluggy 111s python3-pytest python3-pytest-cov python3-pytest-runner python3-tomli 111s python3.12 python3.12-minimal 111s 0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded. 111s Need to get 4000 kB of archives. 111s After this operation, 13.7 MB of additional disk space will be used. 111s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12-minimal arm64 3.12.8-3 [2236 kB] 112s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 112s Get:3 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 112s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.12 arm64 3.12.8-3 [667 kB] 112s Get:5 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 112s Get:6 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 112s Get:7 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 112s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-all arm64 3.13.1-1~exp2 [894 B] 112s Get:9 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-coverage arm64 7.4.4+dfsg1-0ubuntu3 [150 kB] 112s Get:10 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-exceptiongroup all 1.2.2-1 [17.8 kB] 112s Get:11 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 112s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 112s Get:13 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 112s Get:14 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-tomli all 2.0.1-2 [16.5 kB] 112s Get:15 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.3-1 [251 kB] 112s Get:16 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 112s Get:17 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 112s Get:18 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest-runner all 2.11.1-4 [7450 B] 113s Fetched 4000 kB in 1s (4895 kB/s) 113s Selecting previously unselected package python3.12-minimal. 113s (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 ... 80894 files and directories currently installed.) 113s Preparing to unpack .../00-python3.12-minimal_3.12.8-3_arm64.deb ... 113s Unpacking python3.12-minimal (3.12.8-3) ... 113s Selecting previously unselected package libjs-jquery. 113s Preparing to unpack .../01-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 113s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 113s Selecting previously unselected package libjs-jquery-hotkeys. 113s Preparing to unpack .../02-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 113s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 113s Selecting previously unselected package python3.12. 113s Preparing to unpack .../03-python3.12_3.12.8-3_arm64.deb ... 113s Unpacking python3.12 (3.12.8-3) ... 113s Selecting previously unselected package libjs-jquery-metadata. 113s Preparing to unpack .../04-libjs-jquery-metadata_12-4_all.deb ... 113s Unpacking libjs-jquery-metadata (12-4) ... 113s Selecting previously unselected package libjs-jquery-tablesorter. 113s Preparing to unpack .../05-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 113s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 113s Selecting previously unselected package libjs-jquery-throttle-debounce. 113s Preparing to unpack .../06-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 113s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 113s Selecting previously unselected package python3-all. 113s Preparing to unpack .../07-python3-all_3.13.1-1~exp2_arm64.deb ... 113s Unpacking python3-all (3.13.1-1~exp2) ... 113s Selecting previously unselected package python3-coverage. 113s Preparing to unpack .../08-python3-coverage_7.4.4+dfsg1-0ubuntu3_arm64.deb ... 113s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 113s Selecting previously unselected package python3-exceptiongroup. 113s Preparing to unpack .../09-python3-exceptiongroup_1.2.2-1_all.deb ... 113s Unpacking python3-exceptiongroup (1.2.2-1) ... 113s Selecting previously unselected package python3-iniconfig. 113s Preparing to unpack .../10-python3-iniconfig_1.1.1-2_all.deb ... 113s Unpacking python3-iniconfig (1.1.1-2) ... 113s Selecting previously unselected package python3-packaging. 113s Preparing to unpack .../11-python3-packaging_24.2-1_all.deb ... 113s Unpacking python3-packaging (24.2-1) ... 113s Selecting previously unselected package python3-pluggy. 113s Preparing to unpack .../12-python3-pluggy_1.5.0-1_all.deb ... 113s Unpacking python3-pluggy (1.5.0-1) ... 113s Selecting previously unselected package python3-tomli. 113s Preparing to unpack .../13-python3-tomli_2.0.1-2_all.deb ... 113s Unpacking python3-tomli (2.0.1-2) ... 113s Selecting previously unselected package python3-pytest. 113s Preparing to unpack .../14-python3-pytest_8.3.3-1_all.deb ... 113s Unpacking python3-pytest (8.3.3-1) ... 113s Selecting previously unselected package libjs-jquery-isonscreen. 113s Preparing to unpack .../15-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 113s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 113s Selecting previously unselected package python3-pytest-cov. 113s Preparing to unpack .../16-python3-pytest-cov_5.0.0-1_all.deb ... 113s Unpacking python3-pytest-cov (5.0.0-1) ... 113s Selecting previously unselected package python3-pytest-runner. 113s Preparing to unpack .../17-python3-pytest-runner_2.11.1-4_all.deb ... 113s Unpacking python3-pytest-runner (2.11.1-4) ... 113s Setting up python3-iniconfig (1.1.1-2) ... 113s Setting up python3.12-minimal (3.12.8-3) ... 115s Setting up python3-tomli (2.0.1-2) ... 115s Setting up python3.12 (3.12.8-3) ... 116s Setting up python3-all (3.13.1-1~exp2) ... 116s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu3) ... 117s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 117s Setting up python3-packaging (24.2-1) ... 117s Setting up python3-pluggy (1.5.0-1) ... 118s Setting up python3-exceptiongroup (1.2.2-1) ... 118s Setting up python3-pytest-runner (2.11.1-4) ... 118s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 118s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 118s Setting up python3-pytest (8.3.3-1) ... 119s Setting up libjs-jquery-metadata (12-4) ... 119s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 119s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 119s Setting up python3-pytest-cov (5.0.0-1) ... 119s Processing triggers for man-db (2.13.0-1) ... 120s Processing triggers for systemd (257-2ubuntu1) ... 120s autopkgtest [17:19:36]: test python3-jwt: [----------------------- 121s ============================= test session starts ============================== 121s platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 121s cachedir: .pytest_cache 121s rootdir: /tmp/autopkgtest.nJSxOy/build.XvY/src 121s configfile: tox.ini 121s testpaths: tests 121s plugins: cov-5.0.0, typeguard-4.4.1 121s collecting ... collected 256 items 121s 121s tests/test_advisory.py::TestAdvisory::test_ghsa_ffqj_6fqr_9h24 PASSED [ 0%] 121s tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_if_key_is_not_none PASSED [ 0%] 121s tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_on_to_jwk PASSED [ 1%] 121s tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_on_from_jwk PASSED [ 1%] 121s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_reject_nonstring_key PASSED [ 1%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_accept_unicode_key PASSED [ 2%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem0] PASSED [ 2%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem1] PASSED [ 3%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_pkcs1.pub.pem] PASSED [ 3%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.cer] PASSED [ 3%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.pub] PASSED [ 4%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_jwk_should_parse_and_verify PASSED [ 4%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values[False] PASSED [ 5%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values[True] PASSED [ 5%] 122s tests/test_algorithms.py::TestAlgorithms::test_hmac_from_jwk_should_raise_exception_if_not_hmac_key PASSED [ 5%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_parse_pem_public_key PASSED [ 6%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_pem_private_key_bytes PASSED [ 6%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_unicode_key PASSED [ 7%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_reject_non_string_key PASSED [ 7%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_verify_should_return_false_if_signature_invalid PASSED [ 7%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_public_and_private_keys_should_parse_and_verify PASSED [ 8%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_fails_on_invalid_json PASSED [ 8%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_private_key_to_jwk_works_with_from_jwk PASSED [ 8%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_public_key_to_jwk_works_with_from_jwk PASSED [ 9%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key[False] PASSED [ 9%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key[True] PASSED [ 10%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key[False] PASSED [ 10%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key[True] PASSED [ 10%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_raises_exception_on_invalid_key PASSED [ 11%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves[False] PASSED [ 11%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves[True] PASSED [ 12%] 122s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_invalid_curve PASSED [ 12%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_public_and_private_keys_should_parse_and_verify PASSED [ 12%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_private_key_to_jwk_works_with_from_jwk PASSED [ 13%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_public_key_to_jwk_works_with_from_jwk PASSED [ 13%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_other_primes_is_invalid PASSED [ 14%] 122s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_values_is_invalid PASSED [ 14%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_can_recover_prime_factors PASSED [ 14%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_required_values_is_invalid PASSED [ 15%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_raises_exception_if_not_a_valid_key PASSED [ 15%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key[False] PASSED [ 16%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key[True] PASSED [ 16%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key[False] PASSED [ 16%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key[True] PASSED [ 17%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_raises_exception_on_invalid_key PASSED [ 17%] 123s tests/test_algorithms.py::TestAlgorithms::test_rsa_from_jwk_raises_exception_on_invalid_key PASSED [ 17%] 123s tests/test_algorithms.py::TestAlgorithms::test_ec_should_reject_non_string_key PASSED [ 18%] 123s tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_pem_private_key_bytes PASSED [ 18%] 123s tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_ssh_public_key_bytes PASSED [ 19%] 123s tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_invalid PASSED [ 19%] 123s tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_wrong_length PASSED [ 19%] 123s tests/test_algorithms.py::TestAlgorithms::test_ec_should_throw_exception_on_wrong_key PASSED [ 20%] 124s tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_sign_then_verify_should_return_true PASSED [ 20%] 124s tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_verify_should_return_false_if_signature_invalid PASSED [ 21%] 124s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_hmac_verify_should_return_true_for_test_vector PASSED [ 21%] 124s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsa_verify_should_return_true_for_test_vector PASSED [ 21%] 124s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsapss_verify_should_return_true_for_test_vector PASSED [ 22%] 124s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_ec_verify_should_return_true_for_test_vector PASSED [ 22%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_should_reject_non_string_key PASSED [ 23%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_sign_should_generate_correct_signature_value PASSED [ 23%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_false_if_signature_invalid PASSED [ 23%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_true_if_signature_valid PASSED [ 24%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_prepare_key_should_be_idempotent PASSED [ 24%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify PASSED [ 25%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED [ 25%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_public_key_should_parse_and_verify PASSED [ 25%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_fails_on_invalid_json PASSED [ 26%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk[False] PASSED [ 26%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk[True] PASSED [ 26%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_to_jwk_raises_exception_on_invalid_key PASSED [ 27%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify PASSED [ 27%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED [ 28%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_public_key_should_parse_and_verify PASSED [ 28%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_fails_on_invalid_json PASSED [ 28%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk[False] PASSED [ 29%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk[True] PASSED [ 29%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_rsa_can_compute_digest PASSED [ 30%] 124s tests/test_algorithms.py::TestOKPAlgorithms::test_hmac_can_compute_digest PASSED [ 30%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_dict PASSED [ 30%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_json_string PASSED [ 31%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_without_alg_from_dict PASSED [ 31%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_dict_with_algorithm PASSED [ 32%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p256_from_dict PASSED [ 32%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p384_from_dict PASSED [ 32%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p521_from_dict PASSED [ 33%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_secp256k1_from_dict PASSED [ 33%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_from_dict PASSED [ 33%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_without_alg_from_dict PASSED [ 34%] 124s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_okp_without_alg_from_dict PASSED [ 34%] 124s tests/test_api_jwk.py::TestPyJWK::test_from_dict_should_throw_exception_if_arg_is_invalid PASSED [ 35%] 124s tests/test_api_jwk.py::TestPyJWK::test_missing_crypto_library_good_error_message SKIPPED [ 35%] 124s tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_dict PASSED [ 35%] 124s tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_json_string PASSED [ 36%] 124s tests/test_api_jwk.py::TestPyJWKSet::test_keyset_should_index_by_kid PASSED [ 36%] 124s tests/test_api_jwk.py::TestPyJWKSet::test_keyset_with_unknown_alg PASSED [ 37%] 124s tests/test_api_jwk.py::TestPyJWKSet::test_invalid_keys_list PASSED [ 37%] 124s tests/test_api_jwk.py::TestPyJWKSet::test_empty_keys_list PASSED [ 37%] 124s tests/test_api_jws.py::TestJWS::test_register_algo_does_not_allow_duplicate_registration PASSED [ 38%] 124s tests/test_api_jws.py::TestJWS::test_register_algo_rejects_non_algorithm_obj PASSED [ 38%] 124s tests/test_api_jws.py::TestJWS::test_unregister_algo_removes_algorithm PASSED [ 39%] 124s tests/test_api_jws.py::TestJWS::test_unregister_algo_throws_error_if_not_registered PASSED [ 39%] 124s tests/test_api_jws.py::TestJWS::test_algo_parameter_removes_alg_from_algorithms_list PASSED [ 39%] 124s tests/test_api_jws.py::TestJWS::test_override_options PASSED [ 40%] 124s tests/test_api_jws.py::TestJWS::test_non_object_options_dont_persist PASSED [ 40%] 124s tests/test_api_jws.py::TestJWS::test_options_must_be_dict PASSED [ 41%] 124s tests/test_api_jws.py::TestJWS::test_encode_decode PASSED [ 41%] 124s tests/test_api_jws.py::TestJWS::test_decode_fails_when_alg_is_not_on_method_algorithms_param PASSED [ 41%] 124s tests/test_api_jws.py::TestJWS::test_decode_works_with_unicode_token PASSED [ 42%] 124s tests/test_api_jws.py::TestJWS::test_decode_missing_segments_throws_exception PASSED [ 42%] 124s tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_none PASSED [ 42%] 124s tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_int PASSED [ 43%] 124s tests/test_api_jws.py::TestJWS::test_decode_with_non_mapping_header_throws_exception PASSED [ 43%] 124s tests/test_api_jws.py::TestJWS::test_encode_algorithm_param_should_be_case_sensitive PASSED [ 44%] 124s tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_none PASSED [ 44%] 124s tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_es256 PASSED [ 44%] 124s tests/test_api_jws.py::TestJWS::test_encode_with_alg_hs256_and_headers_alg_es256 PASSED [ 45%] 124s tests/test_api_jws.py::TestJWS::test_decode_algorithm_param_should_be_case_sensitive PASSED [ 45%] 124s tests/test_api_jws.py::TestJWS::test_bad_secret PASSED [ 46%] 124s tests/test_api_jws.py::TestJWS::test_decodes_valid_jws PASSED [ 46%] 124s tests/test_api_jws.py::TestJWS::test_decodes_complete_valid_jws PASSED [ 46%] 124s tests/test_api_jws.py::TestJWS::test_decodes_valid_es384_jws PASSED [ 47%] 124s tests/test_api_jws.py::TestJWS::test_decodes_valid_rs384_jws PASSED [ 47%] 124s tests/test_api_jws.py::TestJWS::test_load_verify_valid_jws PASSED [ 48%] 124s tests/test_api_jws.py::TestJWS::test_allow_skip_verification PASSED [ 48%] 124s tests/test_api_jws.py::TestJWS::test_decode_with_optional_algorithms PASSED [ 48%] 124s tests/test_api_jws.py::TestJWS::test_decode_no_algorithms_verify_signature_false PASSED [ 49%] 124s tests/test_api_jws.py::TestJWS::test_load_no_verification PASSED [ 49%] 124s tests/test_api_jws.py::TestJWS::test_no_secret PASSED [ 50%] 124s tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_secret PASSED [ 50%] 124s tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_algo_header_throws_exception PASSED [ 50%] 124s tests/test_api_jws.py::TestJWS::test_invalid_crypto_alg PASSED [ 51%] 124s tests/test_api_jws.py::TestJWS::test_missing_crypto_library_better_error_messages SKIPPED [ 51%] 124s tests/test_api_jws.py::TestJWS::test_unicode_secret PASSED [ 51%] 124s tests/test_api_jws.py::TestJWS::test_nonascii_secret PASSED [ 52%] 124s tests/test_api_jws.py::TestJWS::test_bytes_secret PASSED [ 52%] 124s tests/test_api_jws.py::TestJWS::test_sorting_of_headers[False] PASSED [ 53%] 124s tests/test_api_jws.py::TestJWS::test_sorting_of_headers[True] PASSED [ 53%] 124s tests/test_api_jws.py::TestJWS::test_decode_invalid_header_padding PASSED [ 53%] 124s tests/test_api_jws.py::TestJWS::test_decode_invalid_header_string PASSED [ 54%] 124s tests/test_api_jws.py::TestJWS::test_decode_invalid_payload_padding PASSED [ 54%] 124s tests/test_api_jws.py::TestJWS::test_decode_invalid_crypto_padding PASSED [ 55%] 124s tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_should_fail PASSED [ 55%] 124s tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_and_verify_false_should_pass PASSED [ 55%] 124s tests/test_api_jws.py::TestJWS::test_get_unverified_header_returns_header_values PASSED [ 56%] 124s tests/test_api_jws.py::TestJWS::test_get_unverified_header_fails_on_bad_header_types PASSED [ 56%] 124s tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS256] PASSED [ 57%] 124s tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS384] PASSED [ 57%] 125s tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS512] PASSED [ 57%] 125s tests/test_api_jws.py::TestJWS::test_rsa_related_algorithms PASSED [ 58%] 125s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256] PASSED [ 58%] 125s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256K] PASSED [ 58%] 125s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES384] PASSED [ 59%] 125s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES512] PASSED [ 59%] 125s tests/test_api_jws.py::TestJWS::test_ecdsa_related_algorithms PASSED [ 60%] 125s tests/test_api_jws.py::TestJWS::test_skip_check_signature PASSED [ 60%] 125s tests/test_api_jws.py::TestJWS::test_decode_options_must_be_dict PASSED [ 60%] 125s tests/test_api_jws.py::TestJWS::test_custom_json_encoder PASSED [ 61%] 125s tests/test_api_jws.py::TestJWS::test_encode_headers_parameter_adds_headers PASSED [ 61%] 125s tests/test_api_jws.py::TestJWS::test_encode_with_typ PASSED [ 62%] 125s tests/test_api_jws.py::TestJWS::test_encode_with_typ_empty_string PASSED [ 62%] 125s tests/test_api_jws.py::TestJWS::test_encode_with_typ_none PASSED [ 62%] 125s tests/test_api_jws.py::TestJWS::test_encode_with_typ_without_keywords PASSED [ 63%] 125s tests/test_api_jws.py::TestJWS::test_encode_fails_on_invalid_kid_types PASSED [ 63%] 125s tests/test_api_jws.py::TestJWS::test_encode_decode_with_detached_content PASSED [ 64%] 125s tests/test_api_jws.py::TestJWS::test_encode_detached_content_with_b64_header PASSED [ 64%] 125s tests/test_api_jws.py::TestJWS::test_decode_detached_content_without_proper_argument PASSED [ 64%] 125s tests/test_api_jws.py::TestJWS::test_decode_warns_on_unsupported_kwarg PASSED [ 65%] 125s tests/test_api_jws.py::TestJWS::test_decode_complete_warns_on_unuspported_kwarg PASSED [ 65%] 125s tests/test_api_jwt.py::TestJWT::test_decodes_valid_jwt PASSED [ 66%] 125s tests/test_api_jwt.py::TestJWT::test_decodes_complete_valid_jwt PASSED [ 66%] 125s tests/test_api_jwt.py::TestJWT::test_load_verify_valid_jwt PASSED [ 66%] 125s tests/test_api_jwt.py::TestJWT::test_decode_invalid_payload_string PASSED [ 67%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_non_mapping_payload_throws_exception PASSED [ 67%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_audience_param_throws_exception PASSED [ 67%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_nonlist_aud_claim_throws_exception PASSED [ 68%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_aud_list_member_throws_exception PASSED [ 68%] 125s tests/test_api_jwt.py::TestJWT::test_encode_bad_type PASSED [ 69%] 125s tests/test_api_jwt.py::TestJWT::test_encode_with_typ PASSED [ 69%] 125s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_exp_is_not_int PASSED [ 69%] 125s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_not_int PASSED [ 70%] 125s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_greater_than_now PASSED [ 70%] 125s tests/test_api_jwt.py::TestJWT::test_decode_works_if_iat_is_str_of_a_number PASSED [ 71%] 125s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_nbf_is_not_int PASSED [ 71%] 125s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_aud_is_none PASSED [ 71%] 125s tests/test_api_jwt.py::TestJWT::test_encode_datetime PASSED [ 72%] 125s tests/test_api_jwt.py::TestJWT::test_decodes_valid_es256_jwt PASSED [ 72%] 125s tests/test_api_jwt.py::TestJWT::test_decodes_valid_rs384_jwt PASSED [ 73%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_expiration PASSED [ 73%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore PASSED [ 73%] 125s tests/test_api_jwt.py::TestJWT::test_decode_skip_expiration_verification PASSED [ 74%] 125s tests/test_api_jwt.py::TestJWT::test_decode_skip_notbefore_verification PASSED [ 74%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_expiration_with_leeway PASSED [ 75%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore_with_leeway PASSED [ 75%] 125s tests/test_api_jwt.py::TestJWT::test_check_audience_when_valid PASSED [ 75%] 125s tests/test_api_jwt.py::TestJWT::test_check_audience_list_when_valid PASSED [ 76%] 125s tests/test_api_jwt.py::TestJWT::test_check_audience_none_specified PASSED [ 76%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_list PASSED [ 76%] 125s tests/test_api_jwt.py::TestJWT::test_check_audience_in_array_when_valid PASSED [ 77%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience PASSED [ 77%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_audience_as_bytes PASSED [ 78%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_in_array PASSED [ 78%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_issuer PASSED [ 78%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_audience PASSED [ 79%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_token_with_aud_none_and_without_audience PASSED [ 79%] 125s tests/test_api_jwt.py::TestJWT::test_check_issuer_when_valid PASSED [ 80%] 125s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_issuer PASSED [ 80%] 125s tests/test_api_jwt.py::TestJWT::test_skip_check_audience PASSED [ 80%] 125s tests/test_api_jwt.py::TestJWT::test_skip_check_exp PASSED [ 81%] 125s tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_exp_required_but_not_present PASSED [ 81%] 125s tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_iat_required_but_not_present PASSED [ 82%] 125s tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_nbf_required_but_not_present PASSED [ 82%] 125s tests/test_api_jwt.py::TestJWT::test_skip_check_signature PASSED [ 82%] 125s tests/test_api_jwt.py::TestJWT::test_skip_check_iat PASSED [ 83%] 125s tests/test_api_jwt.py::TestJWT::test_skip_check_nbf PASSED [ 83%] 125s tests/test_api_jwt.py::TestJWT::test_custom_json_encoder PASSED [ 83%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option PASSED [ 84%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option_and_signature_off PASSED [ 84%] 125s tests/test_api_jwt.py::TestJWT::test_decode_with_optional_algorithms PASSED [ 85%] 125s tests/test_api_jwt.py::TestJWT::test_decode_no_algorithms_verify_signature_false PASSED [ 85%] 125s tests/test_api_jwt.py::TestJWT::test_decode_legacy_verify_warning PASSED [ 85%] 125s tests/test_api_jwt.py::TestJWT::test_decode_no_options_mutation PASSED [ 86%] 125s tests/test_api_jwt.py::TestJWT::test_decode_warns_on_unsupported_kwarg PASSED [ 86%] 125s tests/test_api_jwt.py::TestJWT::test_decode_complete_warns_on_unsupported_kwarg PASSED [ 87%] 125s tests/test_compressed_jwt.py::test_decodes_complete_valid_jwt_with_compressed_payload PASSED [ 87%] 125s tests/test_exceptions.py::test_missing_required_claim_error_has_proper_str PASSED [ 87%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_fetch_data_forwards_headers_to_correct_url PASSED [ 88%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set PASSED [ 88%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys PASSED [ 89%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_if_no_use_provided PASSED [ 89%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_raises_if_none_found PASSED [ 89%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key PASSED [ 90%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_caches_result PASSED [ 90%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_does_not_cache_opt_out PASSED [ 91%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_from_jwt PASSED [ 91%] 125s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set_caches_result PASSED [ 91%] 127s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_expired_result PASSED [ 92%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_disabled PASSED [ 92%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_failed_request_should_clear_cache PASSED [ 92%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_failed_request_should_raise_connection_error PASSED [ 93%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_refresh_cache PASSED [ 93%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_no_matching_kid_after_second_attempt PASSED [ 94%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_invalid_lifespan PASSED [ 94%] 129s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_timeout PASSED [ 94%] 129s tests/test_jwt.py::test_encode_decode PASSED [ 95%] 129s tests/test_utils.py::test_to_base64url_uint[0-AA] PASSED [ 95%] 129s tests/test_utils.py::test_to_base64url_uint[1-AQ] PASSED [ 96%] 129s tests/test_utils.py::test_to_base64url_uint[255-_w] PASSED [ 96%] 129s tests/test_utils.py::test_to_base64url_uint[65537-AQAB] PASSED [ 96%] 129s tests/test_utils.py::test_to_base64url_uint[123456789-B1vNFQ] PASSED [ 97%] 129s tests/test_utils.py::test_to_base64url_uint[-1-] XFAIL [ 97%] 129s tests/test_utils.py::test_from_base64url_uint[AA-0] PASSED [ 98%] 129s tests/test_utils.py::test_from_base64url_uint[AQ-1] PASSED [ 98%] 129s tests/test_utils.py::test_from_base64url_uint[_w-255] PASSED [ 98%] 129s tests/test_utils.py::test_from_base64url_uint[AQAB-65537] PASSED [ 99%] 129s tests/test_utils.py::test_from_base64url_uint[B1vNFQ-123456789] PASSED [ 99%] 129s tests/test_utils.py::test_force_bytes_raises_error_on_invalid_object PASSED [100%] 129s 129s =========================== short test summary info ============================ 129s SKIPPED [1] tests/test_api_jwk.py:200: Requires cryptography library not installed 129s SKIPPED [1] tests/test_api_jws.py:387: Requires cryptography library not installed 129s ================== 253 passed, 2 skipped, 1 xfailed in 7.93s =================== 129s ============================= test session starts ============================== 129s platform linux -- Python 3.13.1, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 129s cachedir: .pytest_cache 129s rootdir: /tmp/autopkgtest.nJSxOy/build.XvY/src 129s configfile: tox.ini 129s testpaths: tests 129s plugins: cov-5.0.0, typeguard-4.4.1 130s collecting ... collected 256 items 130s 130s tests/test_advisory.py::TestAdvisory::test_ghsa_ffqj_6fqr_9h24 PASSED [ 0%] 130s tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_if_key_is_not_none PASSED [ 0%] 130s tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_on_to_jwk PASSED [ 1%] 130s tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_on_from_jwk PASSED [ 1%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_reject_nonstring_key PASSED [ 1%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_accept_unicode_key PASSED [ 2%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem0] PASSED [ 2%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem1] PASSED [ 3%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_pkcs1.pub.pem] PASSED [ 3%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.cer] PASSED [ 3%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.pub] PASSED [ 4%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_jwk_should_parse_and_verify PASSED [ 4%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values[False] PASSED [ 5%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values[True] PASSED [ 5%] 130s tests/test_algorithms.py::TestAlgorithms::test_hmac_from_jwk_should_raise_exception_if_not_hmac_key PASSED [ 5%] 130s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_parse_pem_public_key PASSED [ 6%] 130s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_pem_private_key_bytes PASSED [ 6%] 130s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_unicode_key PASSED [ 7%] 130s tests/test_algorithms.py::TestAlgorithms::test_rsa_should_reject_non_string_key PASSED [ 7%] 130s tests/test_algorithms.py::TestAlgorithms::test_rsa_verify_should_return_false_if_signature_invalid PASSED [ 7%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_public_and_private_keys_should_parse_and_verify PASSED [ 8%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_fails_on_invalid_json PASSED [ 8%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_private_key_to_jwk_works_with_from_jwk PASSED [ 8%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_public_key_to_jwk_works_with_from_jwk PASSED [ 9%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key[False] PASSED [ 9%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key[True] PASSED [ 10%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key[False] PASSED [ 10%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key[True] PASSED [ 10%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_raises_exception_on_invalid_key PASSED [ 11%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves[False] PASSED [ 11%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves[True] PASSED [ 12%] 130s tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_invalid_curve PASSED [ 12%] 130s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_public_and_private_keys_should_parse_and_verify PASSED [ 12%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_private_key_to_jwk_works_with_from_jwk PASSED [ 13%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_public_key_to_jwk_works_with_from_jwk PASSED [ 13%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_other_primes_is_invalid PASSED [ 14%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_values_is_invalid PASSED [ 14%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_can_recover_prime_factors PASSED [ 14%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_required_values_is_invalid PASSED [ 15%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_raises_exception_if_not_a_valid_key PASSED [ 15%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key[False] PASSED [ 16%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key[True] PASSED [ 16%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key[False] PASSED [ 16%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key[True] PASSED [ 17%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_raises_exception_on_invalid_key PASSED [ 17%] 131s tests/test_algorithms.py::TestAlgorithms::test_rsa_from_jwk_raises_exception_on_invalid_key PASSED [ 17%] 131s tests/test_algorithms.py::TestAlgorithms::test_ec_should_reject_non_string_key PASSED [ 18%] 131s tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_pem_private_key_bytes PASSED [ 18%] 131s tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_ssh_public_key_bytes PASSED [ 19%] 131s tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_invalid PASSED [ 19%] 131s tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_wrong_length PASSED [ 19%] 132s tests/test_algorithms.py::TestAlgorithms::test_ec_should_throw_exception_on_wrong_key PASSED [ 20%] 132s tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_sign_then_verify_should_return_true PASSED [ 20%] 132s tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_verify_should_return_false_if_signature_invalid PASSED [ 21%] 132s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_hmac_verify_should_return_true_for_test_vector PASSED [ 21%] 132s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsa_verify_should_return_true_for_test_vector PASSED [ 21%] 132s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsapss_verify_should_return_true_for_test_vector PASSED [ 22%] 132s tests/test_algorithms.py::TestAlgorithmsRFC7520::test_ec_verify_should_return_true_for_test_vector PASSED [ 22%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_should_reject_non_string_key PASSED [ 23%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_sign_should_generate_correct_signature_value PASSED [ 23%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_false_if_signature_invalid PASSED [ 23%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_true_if_signature_valid PASSED [ 24%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_prepare_key_should_be_idempotent PASSED [ 24%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify PASSED [ 25%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED [ 25%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_public_key_should_parse_and_verify PASSED [ 25%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_fails_on_invalid_json PASSED [ 26%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk[False] PASSED [ 26%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk[True] PASSED [ 26%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_to_jwk_raises_exception_on_invalid_key PASSED [ 27%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify PASSED [ 27%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED [ 28%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_public_key_should_parse_and_verify PASSED [ 28%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_fails_on_invalid_json PASSED [ 28%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk[False] PASSED [ 29%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk[True] PASSED [ 29%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_rsa_can_compute_digest PASSED [ 30%] 132s tests/test_algorithms.py::TestOKPAlgorithms::test_hmac_can_compute_digest PASSED [ 30%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_dict PASSED [ 30%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_json_string PASSED [ 31%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_without_alg_from_dict PASSED [ 31%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_dict_with_algorithm PASSED [ 32%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p256_from_dict PASSED [ 32%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p384_from_dict PASSED [ 32%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p521_from_dict PASSED [ 33%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_secp256k1_from_dict PASSED [ 33%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_from_dict PASSED [ 33%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_without_alg_from_dict PASSED [ 34%] 132s tests/test_api_jwk.py::TestPyJWK::test_should_load_key_okp_without_alg_from_dict PASSED [ 34%] 132s tests/test_api_jwk.py::TestPyJWK::test_from_dict_should_throw_exception_if_arg_is_invalid PASSED [ 35%] 132s tests/test_api_jwk.py::TestPyJWK::test_missing_crypto_library_good_error_message SKIPPED [ 35%] 132s tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_dict PASSED [ 35%] 132s tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_json_string PASSED [ 36%] 132s tests/test_api_jwk.py::TestPyJWKSet::test_keyset_should_index_by_kid PASSED [ 36%] 132s tests/test_api_jwk.py::TestPyJWKSet::test_keyset_with_unknown_alg PASSED [ 37%] 132s tests/test_api_jwk.py::TestPyJWKSet::test_invalid_keys_list PASSED [ 37%] 132s tests/test_api_jwk.py::TestPyJWKSet::test_empty_keys_list PASSED [ 37%] 132s tests/test_api_jws.py::TestJWS::test_register_algo_does_not_allow_duplicate_registration PASSED [ 38%] 132s tests/test_api_jws.py::TestJWS::test_register_algo_rejects_non_algorithm_obj PASSED [ 38%] 132s tests/test_api_jws.py::TestJWS::test_unregister_algo_removes_algorithm PASSED [ 39%] 132s tests/test_api_jws.py::TestJWS::test_unregister_algo_throws_error_if_not_registered PASSED [ 39%] 132s tests/test_api_jws.py::TestJWS::test_algo_parameter_removes_alg_from_algorithms_list PASSED [ 39%] 132s tests/test_api_jws.py::TestJWS::test_override_options PASSED [ 40%] 132s tests/test_api_jws.py::TestJWS::test_non_object_options_dont_persist PASSED [ 40%] 132s tests/test_api_jws.py::TestJWS::test_options_must_be_dict PASSED [ 41%] 132s tests/test_api_jws.py::TestJWS::test_encode_decode PASSED [ 41%] 132s tests/test_api_jws.py::TestJWS::test_decode_fails_when_alg_is_not_on_method_algorithms_param PASSED [ 41%] 132s tests/test_api_jws.py::TestJWS::test_decode_works_with_unicode_token PASSED [ 42%] 132s tests/test_api_jws.py::TestJWS::test_decode_missing_segments_throws_exception PASSED [ 42%] 132s tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_none PASSED [ 42%] 132s tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_int PASSED [ 43%] 132s tests/test_api_jws.py::TestJWS::test_decode_with_non_mapping_header_throws_exception PASSED [ 43%] 132s tests/test_api_jws.py::TestJWS::test_encode_algorithm_param_should_be_case_sensitive PASSED [ 44%] 132s tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_none PASSED [ 44%] 132s tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_es256 PASSED [ 44%] 132s tests/test_api_jws.py::TestJWS::test_encode_with_alg_hs256_and_headers_alg_es256 PASSED [ 45%] 132s tests/test_api_jws.py::TestJWS::test_decode_algorithm_param_should_be_case_sensitive PASSED [ 45%] 132s tests/test_api_jws.py::TestJWS::test_bad_secret PASSED [ 46%] 132s tests/test_api_jws.py::TestJWS::test_decodes_valid_jws PASSED [ 46%] 132s tests/test_api_jws.py::TestJWS::test_decodes_complete_valid_jws PASSED [ 46%] 132s tests/test_api_jws.py::TestJWS::test_decodes_valid_es384_jws PASSED [ 47%] 132s tests/test_api_jws.py::TestJWS::test_decodes_valid_rs384_jws PASSED [ 47%] 132s tests/test_api_jws.py::TestJWS::test_load_verify_valid_jws PASSED [ 48%] 132s tests/test_api_jws.py::TestJWS::test_allow_skip_verification PASSED [ 48%] 132s tests/test_api_jws.py::TestJWS::test_decode_with_optional_algorithms PASSED [ 48%] 132s tests/test_api_jws.py::TestJWS::test_decode_no_algorithms_verify_signature_false PASSED [ 49%] 132s tests/test_api_jws.py::TestJWS::test_load_no_verification PASSED [ 49%] 132s tests/test_api_jws.py::TestJWS::test_no_secret PASSED [ 50%] 132s tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_secret PASSED [ 50%] 132s tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_algo_header_throws_exception PASSED [ 50%] 132s tests/test_api_jws.py::TestJWS::test_invalid_crypto_alg PASSED [ 51%] 132s tests/test_api_jws.py::TestJWS::test_missing_crypto_library_better_error_messages SKIPPED [ 51%] 132s tests/test_api_jws.py::TestJWS::test_unicode_secret PASSED [ 51%] 132s tests/test_api_jws.py::TestJWS::test_nonascii_secret PASSED [ 52%] 132s tests/test_api_jws.py::TestJWS::test_bytes_secret PASSED [ 52%] 132s tests/test_api_jws.py::TestJWS::test_sorting_of_headers[False] PASSED [ 53%] 132s tests/test_api_jws.py::TestJWS::test_sorting_of_headers[True] PASSED [ 53%] 132s tests/test_api_jws.py::TestJWS::test_decode_invalid_header_padding PASSED [ 53%] 132s tests/test_api_jws.py::TestJWS::test_decode_invalid_header_string PASSED [ 54%] 132s tests/test_api_jws.py::TestJWS::test_decode_invalid_payload_padding PASSED [ 54%] 132s tests/test_api_jws.py::TestJWS::test_decode_invalid_crypto_padding PASSED [ 55%] 132s tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_should_fail PASSED [ 55%] 132s tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_and_verify_false_should_pass PASSED [ 55%] 132s tests/test_api_jws.py::TestJWS::test_get_unverified_header_returns_header_values PASSED [ 56%] 132s tests/test_api_jws.py::TestJWS::test_get_unverified_header_fails_on_bad_header_types PASSED [ 56%] 132s tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS256] PASSED [ 57%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS384] PASSED [ 57%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS512] PASSED [ 57%] 133s tests/test_api_jws.py::TestJWS::test_rsa_related_algorithms PASSED [ 58%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256] PASSED [ 58%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256K] PASSED [ 58%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES384] PASSED [ 59%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES512] PASSED [ 59%] 133s tests/test_api_jws.py::TestJWS::test_ecdsa_related_algorithms PASSED [ 60%] 133s tests/test_api_jws.py::TestJWS::test_skip_check_signature PASSED [ 60%] 133s tests/test_api_jws.py::TestJWS::test_decode_options_must_be_dict PASSED [ 60%] 133s tests/test_api_jws.py::TestJWS::test_custom_json_encoder PASSED [ 61%] 133s tests/test_api_jws.py::TestJWS::test_encode_headers_parameter_adds_headers PASSED [ 61%] 133s tests/test_api_jws.py::TestJWS::test_encode_with_typ PASSED [ 62%] 133s tests/test_api_jws.py::TestJWS::test_encode_with_typ_empty_string PASSED [ 62%] 133s tests/test_api_jws.py::TestJWS::test_encode_with_typ_none PASSED [ 62%] 133s tests/test_api_jws.py::TestJWS::test_encode_with_typ_without_keywords PASSED [ 63%] 133s tests/test_api_jws.py::TestJWS::test_encode_fails_on_invalid_kid_types PASSED [ 63%] 133s tests/test_api_jws.py::TestJWS::test_encode_decode_with_detached_content PASSED [ 64%] 133s tests/test_api_jws.py::TestJWS::test_encode_detached_content_with_b64_header PASSED [ 64%] 133s tests/test_api_jws.py::TestJWS::test_decode_detached_content_without_proper_argument PASSED [ 64%] 133s tests/test_api_jws.py::TestJWS::test_decode_warns_on_unsupported_kwarg PASSED [ 65%] 133s tests/test_api_jws.py::TestJWS::test_decode_complete_warns_on_unuspported_kwarg PASSED [ 65%] 133s tests/test_api_jwt.py::TestJWT::test_decodes_valid_jwt PASSED [ 66%] 133s tests/test_api_jwt.py::TestJWT::test_decodes_complete_valid_jwt PASSED [ 66%] 133s tests/test_api_jwt.py::TestJWT::test_load_verify_valid_jwt PASSED [ 66%] 133s tests/test_api_jwt.py::TestJWT::test_decode_invalid_payload_string PASSED [ 67%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_non_mapping_payload_throws_exception PASSED [ 67%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_audience_param_throws_exception PASSED [ 67%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_nonlist_aud_claim_throws_exception PASSED [ 68%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_aud_list_member_throws_exception PASSED [ 68%] 133s tests/test_api_jwt.py::TestJWT::test_encode_bad_type PASSED [ 69%] 133s tests/test_api_jwt.py::TestJWT::test_encode_with_typ PASSED [ 69%] 133s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_exp_is_not_int PASSED [ 69%] 133s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_not_int PASSED [ 70%] 133s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_greater_than_now PASSED [ 70%] 133s tests/test_api_jwt.py::TestJWT::test_decode_works_if_iat_is_str_of_a_number PASSED [ 71%] 133s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_nbf_is_not_int PASSED [ 71%] 133s tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_aud_is_none PASSED [ 71%] 133s tests/test_api_jwt.py::TestJWT::test_encode_datetime PASSED [ 72%] 133s tests/test_api_jwt.py::TestJWT::test_decodes_valid_es256_jwt PASSED [ 72%] 133s tests/test_api_jwt.py::TestJWT::test_decodes_valid_rs384_jwt PASSED [ 73%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_expiration PASSED [ 73%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore PASSED [ 73%] 133s tests/test_api_jwt.py::TestJWT::test_decode_skip_expiration_verification PASSED [ 74%] 133s tests/test_api_jwt.py::TestJWT::test_decode_skip_notbefore_verification PASSED [ 74%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_expiration_with_leeway PASSED [ 75%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore_with_leeway PASSED [ 75%] 133s tests/test_api_jwt.py::TestJWT::test_check_audience_when_valid PASSED [ 75%] 133s tests/test_api_jwt.py::TestJWT::test_check_audience_list_when_valid PASSED [ 76%] 133s tests/test_api_jwt.py::TestJWT::test_check_audience_none_specified PASSED [ 76%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_list PASSED [ 76%] 133s tests/test_api_jwt.py::TestJWT::test_check_audience_in_array_when_valid PASSED [ 77%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience PASSED [ 77%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_audience_as_bytes PASSED [ 78%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_in_array PASSED [ 78%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_issuer PASSED [ 78%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_audience PASSED [ 79%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_token_with_aud_none_and_without_audience PASSED [ 79%] 133s tests/test_api_jwt.py::TestJWT::test_check_issuer_when_valid PASSED [ 80%] 133s tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_issuer PASSED [ 80%] 133s tests/test_api_jwt.py::TestJWT::test_skip_check_audience PASSED [ 80%] 133s tests/test_api_jwt.py::TestJWT::test_skip_check_exp PASSED [ 81%] 133s tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_exp_required_but_not_present PASSED [ 81%] 133s tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_iat_required_but_not_present PASSED [ 82%] 133s tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_nbf_required_but_not_present PASSED [ 82%] 133s tests/test_api_jwt.py::TestJWT::test_skip_check_signature PASSED [ 82%] 133s tests/test_api_jwt.py::TestJWT::test_skip_check_iat PASSED [ 83%] 133s tests/test_api_jwt.py::TestJWT::test_skip_check_nbf PASSED [ 83%] 133s tests/test_api_jwt.py::TestJWT::test_custom_json_encoder PASSED [ 83%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option PASSED [ 84%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option_and_signature_off PASSED [ 84%] 133s tests/test_api_jwt.py::TestJWT::test_decode_with_optional_algorithms PASSED [ 85%] 133s tests/test_api_jwt.py::TestJWT::test_decode_no_algorithms_verify_signature_false PASSED [ 85%] 133s tests/test_api_jwt.py::TestJWT::test_decode_legacy_verify_warning PASSED [ 85%] 133s tests/test_api_jwt.py::TestJWT::test_decode_no_options_mutation PASSED [ 86%] 133s tests/test_api_jwt.py::TestJWT::test_decode_warns_on_unsupported_kwarg PASSED [ 86%] 133s tests/test_api_jwt.py::TestJWT::test_decode_complete_warns_on_unsupported_kwarg PASSED [ 87%] 133s tests/test_compressed_jwt.py::test_decodes_complete_valid_jwt_with_compressed_payload PASSED [ 87%] 133s tests/test_exceptions.py::test_missing_required_claim_error_has_proper_str PASSED [ 87%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_fetch_data_forwards_headers_to_correct_url PASSED [ 88%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set PASSED [ 88%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys PASSED [ 89%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_if_no_use_provided PASSED [ 89%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_raises_if_none_found PASSED [ 89%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key PASSED [ 90%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_caches_result PASSED [ 90%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_does_not_cache_opt_out PASSED [ 91%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_from_jwt PASSED [ 91%] 133s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set_caches_result PASSED [ 91%] 135s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_expired_result PASSED [ 92%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_disabled PASSED [ 92%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_failed_request_should_clear_cache PASSED [ 92%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_failed_request_should_raise_connection_error PASSED [ 93%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_refresh_cache PASSED [ 93%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_no_matching_kid_after_second_attempt PASSED [ 94%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_invalid_lifespan PASSED [ 94%] 137s tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_timeout PASSED [ 94%] 137s tests/test_jwt.py::test_encode_decode PASSED [ 95%] 137s tests/test_utils.py::test_to_base64url_uint[0-AA] PASSED [ 95%] 137s tests/test_utils.py::test_to_base64url_uint[1-AQ] PASSED [ 96%] 137s tests/test_utils.py::test_to_base64url_uint[255-_w] PASSED [ 96%] 137s tests/test_utils.py::test_to_base64url_uint[65537-AQAB] PASSED [ 96%] 137s tests/test_utils.py::test_to_base64url_uint[123456789-B1vNFQ] PASSED [ 97%] 137s tests/test_utils.py::test_to_base64url_uint[-1-] XFAIL [ 97%] 137s tests/test_utils.py::test_from_base64url_uint[AA-0] PASSED [ 98%] 137s tests/test_utils.py::test_from_base64url_uint[AQ-1] PASSED [ 98%] 137s tests/test_utils.py::test_from_base64url_uint[_w-255] PASSED [ 98%] 137s tests/test_utils.py::test_from_base64url_uint[AQAB-65537] PASSED [ 99%] 137s tests/test_utils.py::test_from_base64url_uint[B1vNFQ-123456789] PASSED [ 99%] 137s tests/test_utils.py::test_force_bytes_raises_error_on_invalid_object PASSED [100%] 137s 137s =========================== short test summary info ============================ 137s SKIPPED [1] tests/test_api_jwk.py:200: Requires cryptography library not installed 137s SKIPPED [1] tests/test_api_jws.py:387: Requires cryptography library not installed 137s ================== 253 passed, 2 skipped, 1 xfailed in 7.82s =================== 138s autopkgtest [17:19:54]: test python3-jwt: -----------------------] 138s python3-jwt PASS 138s autopkgtest [17:19:54]: test python3-jwt: - - - - - - - - - - results - - - - - - - - - - 139s autopkgtest [17:19:55]: @@@@@@@@@@@@@@@@@@@@ summary 139s python3-jwt PASS 156s nova [W] Using flock in prodstack6-arm64 156s Creating nova instance adt-plucky-arm64-pyjwt-20250103-171736-juju-7f2275-prod-proposed-migration-environment-20-f132c1fa-cae8-4eeb-9dc8-66c9c82d4540 from image adt/ubuntu-plucky-arm64-server-20250102.img (UUID 4cb073f4-4206-4362-b576-2406cb25ddd8)... 156s nova [W] Timed out waiting for 9b394e4b-db2a-4d7c-b8bb-f914056405e9 to get deleted.