0s autopkgtest [04:08:10]: starting date and time: 2024-11-15 04:08:10+0000 0s autopkgtest [04:08:10]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [04:08:10]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.jolp1r0k/out --timeout-copy=6000 -a i386 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults,src:python3-stdlib-extensions --apt-upgrade python-pgpy --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python3-defaults/3.12.7-1 python3-stdlib-extensions/3.12.7-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor builder-cpu2-ram4-disk20 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-16.secgroup --name adt-plucky-i386-python-pgpy-20241115-040810-juju-7f2275-prod-proposed-migration-environment-20-0485cfc6-b1cd-4fba-8ad5-c24fc08d444c --image adt/ubuntu-plucky-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-amd64 -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'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 40s autopkgtest [04:08:50]: testbed dpkg architecture: amd64 40s autopkgtest [04:08:50]: testbed apt version: 2.9.8 40s autopkgtest [04:08:50]: test architecture: i386 40s autopkgtest [04:08:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 41s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 41s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [99.3 kB] 41s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [1027 kB] 41s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.5 kB] 41s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 41s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main i386 Packages [131 kB] 41s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 Packages [202 kB] 41s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/restricted amd64 Packages [32.6 kB] 41s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/universe amd64 Packages [810 kB] 42s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/universe i386 Packages [296 kB] 42s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse i386 Packages [740 B] 42s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse amd64 Packages [9128 B] 42s Fetched 2705 kB in 1s (3204 kB/s) 42s Reading package lists... 44s Reading package lists... 44s Building dependency tree... 44s Reading state information... 44s Calculating upgrade... 44s The following NEW packages will be installed: 44s python3.13-gdbm 44s The following packages will be upgraded: 44s firmware-sof-signed libcap-ng0 libexpat1 libpython3-stdlib lxd-installer 44s man-db pastebinit python3 python3-gdbm python3-minimal python3-systemd 44s xfsprogs 45s 12 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 45s Need to get 9638 kB of archives. 45s After this operation, 542 kB of additional disk space will be used. 45s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-minimal amd64 3.12.7-1 [27.4 kB] 45s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3 amd64 3.12.7-1 [24.0 kB] 45s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 libpython3-stdlib amd64 3.12.7-1 [10.0 kB] 45s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 firmware-sof-signed all 2024.06-1ubuntu2 [7083 kB] 45s Get:5 http://ftpmaster.internal/ubuntu plucky/main amd64 libcap-ng0 amd64 0.8.5-3build1 [15.6 kB] 45s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 libexpat1 amd64 2.6.4-1 [94.9 kB] 45s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 man-db amd64 2.13.0-1 [1352 kB] 45s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-gdbm amd64 3.13.0-2 [31.3 kB] 45s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-gdbm amd64 3.12.7-1 [8642 B] 45s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 lxd-installer all 9 [5084 B] 45s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 pastebinit all 1.7.1-1 [14.9 kB] 45s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-systemd amd64 235-1build5 [45.7 kB] 45s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 xfsprogs amd64 6.8.0-2.2ubuntu2 [926 kB] 46s Preconfiguring packages ... 46s Fetched 9638 kB in 1s (10.8 MB/s) 46s (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 ... 75542 files and directories currently installed.) 46s Preparing to unpack .../python3-minimal_3.12.7-1_amd64.deb ... 46s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 46s Setting up python3-minimal (3.12.7-1) ... 46s (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 ... 75542 files and directories currently installed.) 46s Preparing to unpack .../python3_3.12.7-1_amd64.deb ... 46s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 46s Preparing to unpack .../libpython3-stdlib_3.12.7-1_amd64.deb ... 46s Unpacking libpython3-stdlib:amd64 (3.12.7-1) over (3.12.6-0ubuntu1) ... 46s Preparing to unpack .../firmware-sof-signed_2024.06-1ubuntu2_all.deb ... 46s Unpacking firmware-sof-signed (2024.06-1ubuntu2) over (2024.06-1ubuntu1) ... 46s Preparing to unpack .../libcap-ng0_0.8.5-3build1_amd64.deb ... 46s Unpacking libcap-ng0:amd64 (0.8.5-3build1) over (0.8.5-1) ... 46s Setting up libcap-ng0:amd64 (0.8.5-3build1) ... 46s (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 ... 75568 files and directories currently installed.) 46s Preparing to unpack .../0-libexpat1_2.6.4-1_amd64.deb ... 46s Unpacking libexpat1:amd64 (2.6.4-1) over (2.6.2-2) ... 46s Preparing to unpack .../1-man-db_2.13.0-1_amd64.deb ... 46s Unpacking man-db (2.13.0-1) over (2.12.1-3) ... 47s Selecting previously unselected package python3.13-gdbm. 47s Preparing to unpack .../2-python3.13-gdbm_3.13.0-2_amd64.deb ... 47s Unpacking python3.13-gdbm (3.13.0-2) ... 47s Preparing to unpack .../3-python3-gdbm_3.12.7-1_amd64.deb ... 47s Unpacking python3-gdbm:amd64 (3.12.7-1) over (3.12.6-1ubuntu1) ... 47s Preparing to unpack .../4-lxd-installer_9_all.deb ... 47s Unpacking lxd-installer (9) over (8) ... 47s Preparing to unpack .../5-pastebinit_1.7.1-1_all.deb ... 47s Unpacking pastebinit (1.7.1-1) over (1.7.0-1) ... 47s Preparing to unpack .../6-python3-systemd_235-1build5_amd64.deb ... 47s Unpacking python3-systemd (235-1build5) over (235-1build4) ... 47s Preparing to unpack .../7-xfsprogs_6.8.0-2.2ubuntu2_amd64.deb ... 47s Unpacking xfsprogs (6.8.0-2.2ubuntu2) over (6.8.0-2.2ubuntu1) ... 47s Setting up libexpat1:amd64 (2.6.4-1) ... 47s Setting up firmware-sof-signed (2024.06-1ubuntu2) ... 47s Setting up man-db (2.13.0-1) ... 47s Updating database of manual pages ... 49s man-db.service is a disabled or a static unit not running, not starting it. 49s Setting up lxd-installer (9) ... 49s Setting up python3.13-gdbm (3.13.0-2) ... 49s Setting up libpython3-stdlib:amd64 (3.12.7-1) ... 49s Setting up python3 (3.12.7-1) ... 49s Setting up xfsprogs (6.8.0-2.2ubuntu2) ... 49s update-initramfs: deferring update (trigger activated) 50s Setting up python3-systemd (235-1build5) ... 50s Setting up python3-gdbm:amd64 (3.12.7-1) ... 50s Setting up pastebinit (1.7.1-1) ... 50s Processing triggers for libc-bin (2.40-1ubuntu3) ... 50s Processing triggers for initramfs-tools (0.142ubuntu34) ... 50s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 50s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 58s Reading package lists... 58s Building dependency tree... 58s Reading state information... 58s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 58s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 59s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 59s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 59s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 59s Reading package lists... 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 60s Calculating upgrade... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s autopkgtest [04:09:10]: rebooting testbed after setup commands that affected boot 77s autopkgtest [04:09:27]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 13:41:20 UTC 2024 80s autopkgtest [04:09:30]: @@@@@@@@@@@@@@@@@@@@ apt-source python-pgpy 82s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-pgpy 0.6.0-1.2 (dsc) [2386 B] 82s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-pgpy 0.6.0-1.2 (tar) [602 kB] 82s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-pgpy 0.6.0-1.2 (diff) [5284 B] 82s gpgv: Signature made Sun Jun 30 17:46:47 2024 UTC 82s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 82s gpgv: issuer "tchet@debian.org" 82s gpgv: Can't check signature: No public key 82s dpkg-source: warning: cannot verify inline signature for ./python-pgpy_0.6.0-1.2.dsc: no acceptable signature found 82s autopkgtest [04:09:32]: testing package python-pgpy version 0.6.0-1.2 82s autopkgtest [04:09:32]: build not needed 83s autopkgtest [04:09:33]: test pybuild-autopkgtest: preparing testbed 85s Note, using file '/tmp/autopkgtest.U8CVDj/1-autopkgtest-satdep.dsc' to get the build dependencies 85s Reading package lists... 85s Building dependency tree... 85s Reading state information... 85s Starting pkgProblemResolver with broken count: 0 85s Starting 2 pkgProblemResolver with broken count: 0 85s Done 86s The following NEW packages will be installed: 86s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 86s cpp-14-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 86s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz g++ 86s g++-14 g++-14-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-14 86s gcc-14-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 86s libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl libffi-dev 86s libfile-stripnondeterminism-perl libgcc-14-dev libgomp1 libhwasan0 libisl23 86s libitm1 libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 86s libjs-jquery-metadata libjs-jquery-tablesorter 86s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libjson-perl 86s liblsan0 libmpc3 libpython3.13-minimal libpython3.13-stdlib libquadmath0 86s libstdc++-14-dev libtool libtsan2 libubsan1 m4 pgpdump po-debconf 86s pybuild-plugin-autopkgtest python3-alabaster python3-all python3-coverage 86s python3-defusedxml python3-docutils python3-flake8 python3-flake8-polyfill 86s python3-gpg python3-imagesize python3-iniconfig python3-mccabe 86s python3-packaging python3-pep8-naming python3-pgpy python3-pgpy-doc 86s python3-pluggy python3-progressbar python3-pyasn1 python3-pycodestyle 86s python3-pyflakes python3-pytest python3-pytest-cov python3-roman 86s python3-snowballstemmer python3-sphinx python3-wheel python3.13 86s python3.13-minimal sgml-base sphinx-common xml-core 86s 0 upgraded, 90 newly installed, 0 to remove and 0 not upgraded. 86s Need to get 80.1 MB of archives. 86s After this operation, 278 MB of additional disk space will be used. 86s Get:1 http://ftpmaster.internal/ubuntu plucky/main amd64 libpython3.13-minimal amd64 3.13.0-2 [879 kB] 86s Get:2 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13-minimal amd64 3.13.0-2 [2188 kB] 86s Get:3 http://ftpmaster.internal/ubuntu plucky/main amd64 sgml-base all 1.31 [11.4 kB] 86s Get:4 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 86s Get:5 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 86s Get:6 http://ftpmaster.internal/ubuntu plucky/main amd64 m4 amd64 1.4.19-4build1 [244 kB] 87s Get:7 http://ftpmaster.internal/ubuntu plucky/main amd64 autoconf all 2.72-3 [382 kB] 87s Get:8 http://ftpmaster.internal/ubuntu plucky/main amd64 autotools-dev all 20220109.1 [44.9 kB] 87s Get:9 http://ftpmaster.internal/ubuntu plucky/main amd64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 87s Get:10 http://ftpmaster.internal/ubuntu plucky/main amd64 autopoint all 0.22.5-2 [616 kB] 87s Get:11 http://ftpmaster.internal/ubuntu plucky/main amd64 libisl23 amd64 0.27-1 [685 kB] 87s Get:12 http://ftpmaster.internal/ubuntu plucky/main amd64 libmpc3 amd64 1.3.1-1build2 [55.3 kB] 87s Get:13 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp-14-x86-64-linux-gnu amd64 14.2.0-8ubuntu1 [11.9 MB] 87s Get:14 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp-14 amd64 14.2.0-8ubuntu1 [1030 B] 87s Get:15 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp-x86-64-linux-gnu amd64 4:14.1.0-2ubuntu1 [5452 B] 87s Get:16 http://ftpmaster.internal/ubuntu plucky/main amd64 cpp amd64 4:14.1.0-2ubuntu1 [22.4 kB] 87s Get:17 http://ftpmaster.internal/ubuntu plucky/main amd64 libcc1-0 amd64 14.2.0-8ubuntu1 [47.6 kB] 87s Get:18 http://ftpmaster.internal/ubuntu plucky/main amd64 libgomp1 amd64 14.2.0-8ubuntu1 [148 kB] 87s Get:19 http://ftpmaster.internal/ubuntu plucky/main amd64 libitm1 amd64 14.2.0-8ubuntu1 [29.1 kB] 87s Get:20 http://ftpmaster.internal/ubuntu plucky/main amd64 libasan8 amd64 14.2.0-8ubuntu1 [2998 kB] 87s Get:21 http://ftpmaster.internal/ubuntu plucky/main amd64 liblsan0 amd64 14.2.0-8ubuntu1 [1317 kB] 87s Get:22 http://ftpmaster.internal/ubuntu plucky/main amd64 libtsan2 amd64 14.2.0-8ubuntu1 [2732 kB] 87s Get:23 http://ftpmaster.internal/ubuntu plucky/main amd64 libubsan1 amd64 14.2.0-8ubuntu1 [1177 kB] 87s Get:24 http://ftpmaster.internal/ubuntu plucky/main amd64 libhwasan0 amd64 14.2.0-8ubuntu1 [1634 kB] 87s Get:25 http://ftpmaster.internal/ubuntu plucky/main amd64 libquadmath0 amd64 14.2.0-8ubuntu1 [153 kB] 87s Get:26 http://ftpmaster.internal/ubuntu plucky/main amd64 libgcc-14-dev amd64 14.2.0-8ubuntu1 [2814 kB] 87s Get:27 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc-14-x86-64-linux-gnu amd64 14.2.0-8ubuntu1 [23.3 MB] 88s Get:28 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc-14 amd64 14.2.0-8ubuntu1 [528 kB] 88s Get:29 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc-x86-64-linux-gnu amd64 4:14.1.0-2ubuntu1 [1214 B] 88s Get:30 http://ftpmaster.internal/ubuntu plucky/main amd64 gcc amd64 4:14.1.0-2ubuntu1 [5000 B] 88s Get:31 http://ftpmaster.internal/ubuntu plucky/main amd64 libstdc++-14-dev amd64 14.2.0-8ubuntu1 [2504 kB] 88s Get:32 http://ftpmaster.internal/ubuntu plucky/main amd64 g++-14-x86-64-linux-gnu amd64 14.2.0-8ubuntu1 [13.3 MB] 88s Get:33 http://ftpmaster.internal/ubuntu plucky/main amd64 g++-14 amd64 14.2.0-8ubuntu1 [19.9 kB] 88s Get:34 http://ftpmaster.internal/ubuntu plucky/main amd64 g++-x86-64-linux-gnu amd64 4:14.1.0-2ubuntu1 [966 B] 88s Get:35 http://ftpmaster.internal/ubuntu plucky/main amd64 g++ amd64 4:14.1.0-2ubuntu1 [1100 B] 88s Get:36 http://ftpmaster.internal/ubuntu plucky/main amd64 build-essential amd64 12.10ubuntu1 [4928 B] 88s Get:37 http://ftpmaster.internal/ubuntu plucky/main amd64 libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 88s Get:38 http://ftpmaster.internal/ubuntu plucky/main amd64 libtool all 2.4.7-7build1 [166 kB] 88s Get:39 http://ftpmaster.internal/ubuntu plucky/main amd64 dh-autoreconf all 20 [16.1 kB] 88s Get:40 http://ftpmaster.internal/ubuntu plucky/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 88s Get:41 http://ftpmaster.internal/ubuntu plucky/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 88s Get:42 http://ftpmaster.internal/ubuntu plucky/main amd64 dh-strip-nondeterminism all 1.14.0-1 [5058 B] 88s Get:43 http://ftpmaster.internal/ubuntu plucky/main amd64 debugedit amd64 1:5.1-1 [46.9 kB] 88s Get:44 http://ftpmaster.internal/ubuntu plucky/main amd64 dwz amd64 0.15-1build6 [115 kB] 88s Get:45 http://ftpmaster.internal/ubuntu plucky/main amd64 gettext amd64 0.22.5-2 [948 kB] 88s Get:46 http://ftpmaster.internal/ubuntu plucky/main amd64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 88s Get:47 http://ftpmaster.internal/ubuntu plucky/main amd64 po-debconf all 1.0.21+nmu1 [233 kB] 88s Get:48 http://ftpmaster.internal/ubuntu plucky/main amd64 debhelper all 13.20ubuntu1 [893 kB] 89s Get:49 http://ftpmaster.internal/ubuntu plucky/universe amd64 dh-python all 6.20241024 [112 kB] 89s Get:50 http://ftpmaster.internal/ubuntu plucky/main amd64 xml-core all 0.19 [20.3 kB] 89s Get:51 http://ftpmaster.internal/ubuntu plucky/main amd64 docutils-common all 0.21.2+dfsg-2 [131 kB] 89s Get:52 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-metadata all 12-4 [6582 B] 89s Get:53 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 89s Get:54 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 89s Get:55 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 89s Get:56 http://ftpmaster.internal/ubuntu plucky/main amd64 libjs-sphinxdoc all 7.4.7-4 [158 kB] 89s Get:57 http://ftpmaster.internal/ubuntu plucky/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 89s Get:58 http://ftpmaster.internal/ubuntu plucky/main amd64 libpython3.13-stdlib amd64 3.13.0-2 [2107 kB] 89s Get:59 http://ftpmaster.internal/ubuntu plucky/universe amd64 pgpdump amd64 0.36-1 [20.8 kB] 89s Get:60 http://ftpmaster.internal/ubuntu plucky/universe amd64 pybuild-plugin-autopkgtest all 6.20241024 [1746 B] 89s Get:61 http://ftpmaster.internal/ubuntu plucky/main amd64 python3.13 amd64 3.13.0-2 [719 kB] 89s Get:62 http://ftpmaster.internal/ubuntu plucky-proposed/main amd64 python3-all amd64 3.12.7-1 [890 B] 89s Get:63 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-coverage amd64 7.4.4+dfsg1-0ubuntu2 [147 kB] 89s Get:64 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-defusedxml all 0.7.1-2 [42.0 kB] 89s Get:65 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-roman all 4.2-1 [10.0 kB] 89s Get:66 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-docutils all 0.21.2+dfsg-2 [409 kB] 89s Get:67 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-mccabe all 0.7.0-1 [8678 B] 89s Get:68 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pycodestyle all 2.11.1-1 [29.9 kB] 89s Get:69 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pyflakes all 3.2.0-1 [52.8 kB] 89s Get:70 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-flake8 all 7.1.1-1 [43.9 kB] 89s Get:71 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-flake8-polyfill all 1.0.2-4 [6868 B] 89s Get:72 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-gpg amd64 1.23.2-5ubuntu4 [221 kB] 89s Get:73 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-imagesize all 1.4.1-1 [6844 B] 89s Get:74 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 89s Get:75 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-packaging all 24.1-1 [41.4 kB] 89s Get:76 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pep8-naming all 0.10.0-2 [10.1 kB] 89s Get:77 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-pyasn1 all 0.6.0-1 [57.8 kB] 89s Get:78 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pgpy all 0.6.0-1.2 [68.9 kB] 89s Get:79 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pgpy-doc all 0.6.0-1.2 [61.3 kB] 89s Get:80 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pluggy all 1.5.0-1 [21.0 kB] 89s Get:81 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-progressbar all 2.5-4 [11.0 kB] 89s Get:82 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest all 8.3.3-1 [251 kB] 89s Get:83 http://ftpmaster.internal/ubuntu plucky/universe amd64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 89s Get:84 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-pytest-cov all 5.0.0-1 [21.3 kB] 89s Get:85 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 89s Get:86 http://ftpmaster.internal/ubuntu plucky/main amd64 sphinx-common all 7.4.7-4 [775 kB] 89s Get:87 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-alabaster all 0.7.16-0.1 [18.5 kB] 89s Get:88 http://ftpmaster.internal/ubuntu plucky/main amd64 python3-sphinx all 7.4.7-4 [593 kB] 89s Get:89 http://ftpmaster.internal/ubuntu plucky/universe amd64 python3-wheel all 0.44.0-1 [54.2 kB] 89s Get:90 http://ftpmaster.internal/ubuntu plucky/main amd64 libffi-dev amd64 3.4.6-1build1 [62.8 kB] 89s Fetched 80.1 MB in 3s (24.4 MB/s) 89s Selecting previously unselected package libpython3.13-minimal:amd64. 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 ... 75581 files and directories currently installed.) 90s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_amd64.deb ... 90s Unpacking libpython3.13-minimal:amd64 (3.13.0-2) ... 90s Selecting previously unselected package python3.13-minimal. 90s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_amd64.deb ... 90s Unpacking python3.13-minimal (3.13.0-2) ... 90s Selecting previously unselected package sgml-base. 90s Preparing to unpack .../02-sgml-base_1.31_all.deb ... 90s Unpacking sgml-base (1.31) ... 90s Selecting previously unselected package libjs-jquery. 90s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 90s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 90s Selecting previously unselected package libjs-jquery-hotkeys. 90s Preparing to unpack .../04-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 90s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 90s Selecting previously unselected package m4. 90s Preparing to unpack .../05-m4_1.4.19-4build1_amd64.deb ... 90s Unpacking m4 (1.4.19-4build1) ... 90s Selecting previously unselected package autoconf. 90s Preparing to unpack .../06-autoconf_2.72-3_all.deb ... 90s Unpacking autoconf (2.72-3) ... 90s Selecting previously unselected package autotools-dev. 90s Preparing to unpack .../07-autotools-dev_20220109.1_all.deb ... 90s Unpacking autotools-dev (20220109.1) ... 90s Selecting previously unselected package automake. 90s Preparing to unpack .../08-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 90s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 90s Selecting previously unselected package autopoint. 90s Preparing to unpack .../09-autopoint_0.22.5-2_all.deb ... 90s Unpacking autopoint (0.22.5-2) ... 90s Selecting previously unselected package libisl23:amd64. 90s Preparing to unpack .../10-libisl23_0.27-1_amd64.deb ... 90s Unpacking libisl23:amd64 (0.27-1) ... 90s Selecting previously unselected package libmpc3:amd64. 90s Preparing to unpack .../11-libmpc3_1.3.1-1build2_amd64.deb ... 90s Unpacking libmpc3:amd64 (1.3.1-1build2) ... 90s Selecting previously unselected package cpp-14-x86-64-linux-gnu. 90s Preparing to unpack .../12-cpp-14-x86-64-linux-gnu_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking cpp-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package cpp-14. 90s Preparing to unpack .../13-cpp-14_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package cpp-x86-64-linux-gnu. 90s Preparing to unpack .../14-cpp-x86-64-linux-gnu_4%3a14.1.0-2ubuntu1_amd64.deb ... 90s Unpacking cpp-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 90s Selecting previously unselected package cpp. 90s Preparing to unpack .../15-cpp_4%3a14.1.0-2ubuntu1_amd64.deb ... 90s Unpacking cpp (4:14.1.0-2ubuntu1) ... 90s Selecting previously unselected package libcc1-0:amd64. 90s Preparing to unpack .../16-libcc1-0_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking libcc1-0:amd64 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package libgomp1:amd64. 90s Preparing to unpack .../17-libgomp1_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking libgomp1:amd64 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package libitm1:amd64. 90s Preparing to unpack .../18-libitm1_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking libitm1:amd64 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package libasan8:amd64. 90s Preparing to unpack .../19-libasan8_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking libasan8:amd64 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package liblsan0:amd64. 90s Preparing to unpack .../20-liblsan0_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking liblsan0:amd64 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package libtsan2:amd64. 90s Preparing to unpack .../21-libtsan2_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking libtsan2:amd64 (14.2.0-8ubuntu1) ... 90s Selecting previously unselected package libubsan1:amd64. 90s Preparing to unpack .../22-libubsan1_14.2.0-8ubuntu1_amd64.deb ... 90s Unpacking libubsan1:amd64 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package libhwasan0:amd64. 91s Preparing to unpack .../23-libhwasan0_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking libhwasan0:amd64 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package libquadmath0:amd64. 91s Preparing to unpack .../24-libquadmath0_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking libquadmath0:amd64 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package libgcc-14-dev:amd64. 91s Preparing to unpack .../25-libgcc-14-dev_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking libgcc-14-dev:amd64 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package gcc-14-x86-64-linux-gnu. 91s Preparing to unpack .../26-gcc-14-x86-64-linux-gnu_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking gcc-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package gcc-14. 91s Preparing to unpack .../27-gcc-14_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package gcc-x86-64-linux-gnu. 91s Preparing to unpack .../28-gcc-x86-64-linux-gnu_4%3a14.1.0-2ubuntu1_amd64.deb ... 91s Unpacking gcc-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 91s Selecting previously unselected package gcc. 91s Preparing to unpack .../29-gcc_4%3a14.1.0-2ubuntu1_amd64.deb ... 91s Unpacking gcc (4:14.1.0-2ubuntu1) ... 91s Selecting previously unselected package libstdc++-14-dev:amd64. 91s Preparing to unpack .../30-libstdc++-14-dev_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking libstdc++-14-dev:amd64 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package g++-14-x86-64-linux-gnu. 91s Preparing to unpack .../31-g++-14-x86-64-linux-gnu_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking g++-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package g++-14. 91s Preparing to unpack .../32-g++-14_14.2.0-8ubuntu1_amd64.deb ... 91s Unpacking g++-14 (14.2.0-8ubuntu1) ... 91s Selecting previously unselected package g++-x86-64-linux-gnu. 91s Preparing to unpack .../33-g++-x86-64-linux-gnu_4%3a14.1.0-2ubuntu1_amd64.deb ... 91s Unpacking g++-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 91s Selecting previously unselected package g++. 91s Preparing to unpack .../34-g++_4%3a14.1.0-2ubuntu1_amd64.deb ... 91s Unpacking g++ (4:14.1.0-2ubuntu1) ... 92s Selecting previously unselected package build-essential. 92s Preparing to unpack .../35-build-essential_12.10ubuntu1_amd64.deb ... 92s Unpacking build-essential (12.10ubuntu1) ... 92s Selecting previously unselected package libdebhelper-perl. 92s Preparing to unpack .../36-libdebhelper-perl_13.20ubuntu1_all.deb ... 92s Unpacking libdebhelper-perl (13.20ubuntu1) ... 92s Selecting previously unselected package libtool. 92s Preparing to unpack .../37-libtool_2.4.7-7build1_all.deb ... 92s Unpacking libtool (2.4.7-7build1) ... 92s Selecting previously unselected package dh-autoreconf. 92s Preparing to unpack .../38-dh-autoreconf_20_all.deb ... 92s Unpacking dh-autoreconf (20) ... 92s Selecting previously unselected package libarchive-zip-perl. 92s Preparing to unpack .../39-libarchive-zip-perl_1.68-1_all.deb ... 92s Unpacking libarchive-zip-perl (1.68-1) ... 92s Selecting previously unselected package libfile-stripnondeterminism-perl. 92s Preparing to unpack .../40-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 92s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 92s Selecting previously unselected package dh-strip-nondeterminism. 92s Preparing to unpack .../41-dh-strip-nondeterminism_1.14.0-1_all.deb ... 92s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 92s Selecting previously unselected package debugedit. 92s Preparing to unpack .../42-debugedit_1%3a5.1-1_amd64.deb ... 92s Unpacking debugedit (1:5.1-1) ... 92s Selecting previously unselected package dwz. 92s Preparing to unpack .../43-dwz_0.15-1build6_amd64.deb ... 92s Unpacking dwz (0.15-1build6) ... 92s Selecting previously unselected package gettext. 92s Preparing to unpack .../44-gettext_0.22.5-2_amd64.deb ... 92s Unpacking gettext (0.22.5-2) ... 92s Selecting previously unselected package intltool-debian. 92s Preparing to unpack .../45-intltool-debian_0.35.0+20060710.6_all.deb ... 92s Unpacking intltool-debian (0.35.0+20060710.6) ... 92s Selecting previously unselected package po-debconf. 92s Preparing to unpack .../46-po-debconf_1.0.21+nmu1_all.deb ... 92s Unpacking po-debconf (1.0.21+nmu1) ... 92s Selecting previously unselected package debhelper. 92s Preparing to unpack .../47-debhelper_13.20ubuntu1_all.deb ... 92s Unpacking debhelper (13.20ubuntu1) ... 92s Selecting previously unselected package dh-python. 92s Preparing to unpack .../48-dh-python_6.20241024_all.deb ... 92s Unpacking dh-python (6.20241024) ... 92s Selecting previously unselected package xml-core. 92s Preparing to unpack .../49-xml-core_0.19_all.deb ... 92s Unpacking xml-core (0.19) ... 92s Selecting previously unselected package docutils-common. 92s Preparing to unpack .../50-docutils-common_0.21.2+dfsg-2_all.deb ... 92s Unpacking docutils-common (0.21.2+dfsg-2) ... 92s Selecting previously unselected package libjs-jquery-metadata. 92s Preparing to unpack .../51-libjs-jquery-metadata_12-4_all.deb ... 92s Unpacking libjs-jquery-metadata (12-4) ... 92s Selecting previously unselected package libjs-jquery-tablesorter. 92s Preparing to unpack .../52-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 92s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 92s Selecting previously unselected package libjs-jquery-throttle-debounce. 92s Preparing to unpack .../53-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 92s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 92s Selecting previously unselected package libjs-underscore. 92s Preparing to unpack .../54-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 92s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 92s Selecting previously unselected package libjs-sphinxdoc. 92s Preparing to unpack .../55-libjs-sphinxdoc_7.4.7-4_all.deb ... 92s Unpacking libjs-sphinxdoc (7.4.7-4) ... 92s Selecting previously unselected package libjson-perl. 92s Preparing to unpack .../56-libjson-perl_4.10000-1_all.deb ... 92s Unpacking libjson-perl (4.10000-1) ... 92s Selecting previously unselected package libpython3.13-stdlib:amd64. 92s Preparing to unpack .../57-libpython3.13-stdlib_3.13.0-2_amd64.deb ... 92s Unpacking libpython3.13-stdlib:amd64 (3.13.0-2) ... 92s Selecting previously unselected package pgpdump. 92s Preparing to unpack .../58-pgpdump_0.36-1_amd64.deb ... 92s Unpacking pgpdump (0.36-1) ... 92s Selecting previously unselected package pybuild-plugin-autopkgtest. 92s Preparing to unpack .../59-pybuild-plugin-autopkgtest_6.20241024_all.deb ... 92s Unpacking pybuild-plugin-autopkgtest (6.20241024) ... 92s Selecting previously unselected package python3.13. 92s Preparing to unpack .../60-python3.13_3.13.0-2_amd64.deb ... 92s Unpacking python3.13 (3.13.0-2) ... 92s Selecting previously unselected package python3-all. 92s Preparing to unpack .../61-python3-all_3.12.7-1_amd64.deb ... 92s Unpacking python3-all (3.12.7-1) ... 92s Selecting previously unselected package python3-coverage. 92s Preparing to unpack .../62-python3-coverage_7.4.4+dfsg1-0ubuntu2_amd64.deb ... 92s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 92s Selecting previously unselected package python3-defusedxml. 92s Preparing to unpack .../63-python3-defusedxml_0.7.1-2_all.deb ... 92s Unpacking python3-defusedxml (0.7.1-2) ... 92s Selecting previously unselected package python3-roman. 92s Preparing to unpack .../64-python3-roman_4.2-1_all.deb ... 92s Unpacking python3-roman (4.2-1) ... 92s Selecting previously unselected package python3-docutils. 92s Preparing to unpack .../65-python3-docutils_0.21.2+dfsg-2_all.deb ... 92s Unpacking python3-docutils (0.21.2+dfsg-2) ... 93s Selecting previously unselected package python3-mccabe. 93s Preparing to unpack .../66-python3-mccabe_0.7.0-1_all.deb ... 93s Unpacking python3-mccabe (0.7.0-1) ... 93s Selecting previously unselected package python3-pycodestyle. 93s Preparing to unpack .../67-python3-pycodestyle_2.11.1-1_all.deb ... 93s Unpacking python3-pycodestyle (2.11.1-1) ... 93s Selecting previously unselected package python3-pyflakes. 93s Preparing to unpack .../68-python3-pyflakes_3.2.0-1_all.deb ... 93s Unpacking python3-pyflakes (3.2.0-1) ... 93s Selecting previously unselected package python3-flake8. 93s Preparing to unpack .../69-python3-flake8_7.1.1-1_all.deb ... 93s Unpacking python3-flake8 (7.1.1-1) ... 93s Selecting previously unselected package python3-flake8-polyfill. 93s Preparing to unpack .../70-python3-flake8-polyfill_1.0.2-4_all.deb ... 93s Unpacking python3-flake8-polyfill (1.0.2-4) ... 93s Selecting previously unselected package python3-gpg. 93s Preparing to unpack .../71-python3-gpg_1.23.2-5ubuntu4_amd64.deb ... 93s Unpacking python3-gpg (1.23.2-5ubuntu4) ... 93s Selecting previously unselected package python3-imagesize. 93s Preparing to unpack .../72-python3-imagesize_1.4.1-1_all.deb ... 93s Unpacking python3-imagesize (1.4.1-1) ... 93s Selecting previously unselected package python3-iniconfig. 93s Preparing to unpack .../73-python3-iniconfig_1.1.1-2_all.deb ... 93s Unpacking python3-iniconfig (1.1.1-2) ... 93s Selecting previously unselected package python3-packaging. 93s Preparing to unpack .../74-python3-packaging_24.1-1_all.deb ... 93s Unpacking python3-packaging (24.1-1) ... 93s Selecting previously unselected package python3-pep8-naming. 93s Preparing to unpack .../75-python3-pep8-naming_0.10.0-2_all.deb ... 93s Unpacking python3-pep8-naming (0.10.0-2) ... 93s Selecting previously unselected package python3-pyasn1. 93s Preparing to unpack .../76-python3-pyasn1_0.6.0-1_all.deb ... 93s Unpacking python3-pyasn1 (0.6.0-1) ... 93s Selecting previously unselected package python3-pgpy. 93s Preparing to unpack .../77-python3-pgpy_0.6.0-1.2_all.deb ... 93s Unpacking python3-pgpy (0.6.0-1.2) ... 93s Selecting previously unselected package python3-pgpy-doc. 93s Preparing to unpack .../78-python3-pgpy-doc_0.6.0-1.2_all.deb ... 93s Unpacking python3-pgpy-doc (0.6.0-1.2) ... 93s Selecting previously unselected package python3-pluggy. 93s Preparing to unpack .../79-python3-pluggy_1.5.0-1_all.deb ... 93s Unpacking python3-pluggy (1.5.0-1) ... 93s Selecting previously unselected package python3-progressbar. 93s Preparing to unpack .../80-python3-progressbar_2.5-4_all.deb ... 93s Unpacking python3-progressbar (2.5-4) ... 93s Selecting previously unselected package python3-pytest. 93s Preparing to unpack .../81-python3-pytest_8.3.3-1_all.deb ... 93s Unpacking python3-pytest (8.3.3-1) ... 93s Selecting previously unselected package libjs-jquery-isonscreen. 93s Preparing to unpack .../82-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 93s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 93s Selecting previously unselected package python3-pytest-cov. 93s Preparing to unpack .../83-python3-pytest-cov_5.0.0-1_all.deb ... 93s Unpacking python3-pytest-cov (5.0.0-1) ... 93s Selecting previously unselected package python3-snowballstemmer. 93s Preparing to unpack .../84-python3-snowballstemmer_2.2.0-4build1_all.deb ... 93s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 93s Selecting previously unselected package sphinx-common. 93s Preparing to unpack .../85-sphinx-common_7.4.7-4_all.deb ... 93s Unpacking sphinx-common (7.4.7-4) ... 93s Selecting previously unselected package python3-alabaster. 93s Preparing to unpack .../86-python3-alabaster_0.7.16-0.1_all.deb ... 93s Unpacking python3-alabaster (0.7.16-0.1) ... 93s Selecting previously unselected package python3-sphinx. 93s Preparing to unpack .../87-python3-sphinx_7.4.7-4_all.deb ... 93s Unpacking python3-sphinx (7.4.7-4) ... 93s Selecting previously unselected package python3-wheel. 93s Preparing to unpack .../88-python3-wheel_0.44.0-1_all.deb ... 93s Unpacking python3-wheel (0.44.0-1) ... 93s Selecting previously unselected package libffi-dev:amd64. 93s Preparing to unpack .../89-libffi-dev_3.4.6-1build1_amd64.deb ... 93s Unpacking libffi-dev:amd64 (3.4.6-1build1) ... 93s Setting up dh-python (6.20241024) ... 93s Setting up python3-iniconfig (1.1.1-2) ... 94s Setting up pgpdump (0.36-1) ... 94s Setting up python3-defusedxml (0.7.1-2) ... 94s Setting up libarchive-zip-perl (1.68-1) ... 94s Setting up python3-alabaster (0.7.16-0.1) ... 94s Setting up libdebhelper-perl (13.20ubuntu1) ... 94s Setting up python3-pyflakes (3.2.0-1) ... 94s Setting up m4 (1.4.19-4build1) ... 94s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 95s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 95s Setting up libgomp1:amd64 (14.2.0-8ubuntu1) ... 95s Setting up libffi-dev:amd64 (3.4.6-1build1) ... 95s Setting up python3-wheel (0.44.0-1) ... 95s Setting up libpython3.13-minimal:amd64 (3.13.0-2) ... 95s Setting up python3-progressbar (2.5-4) ... 95s Setting up python3-roman (4.2-1) ... 95s Setting up python3-pycodestyle (2.11.1-1) ... 95s Setting up autotools-dev (20220109.1) ... 95s Setting up python3-packaging (24.1-1) ... 96s Setting up python3-gpg (1.23.2-5ubuntu4) ... 96s Setting up python3-snowballstemmer (2.2.0-4build1) ... 96s Setting up libquadmath0:amd64 (14.2.0-8ubuntu1) ... 96s Setting up libmpc3:amd64 (1.3.1-1build2) ... 96s Setting up autopoint (0.22.5-2) ... 96s Setting up autoconf (2.72-3) ... 96s Setting up python3-pluggy (1.5.0-1) ... 96s Setting up libubsan1:amd64 (14.2.0-8ubuntu1) ... 96s Setting up dwz (0.15-1build6) ... 96s Setting up libhwasan0:amd64 (14.2.0-8ubuntu1) ... 96s Setting up libasan8:amd64 (14.2.0-8ubuntu1) ... 96s Setting up libjson-perl (4.10000-1) ... 96s Setting up python3-pgpy-doc (0.6.0-1.2) ... 96s Setting up python3-pyasn1 (0.6.0-1) ... 97s Setting up debugedit (1:5.1-1) ... 97s Setting up python3.13-minimal (3.13.0-2) ... 97s Setting up python3-mccabe (0.7.0-1) ... 97s Setting up sgml-base (1.31) ... 98s Setting up libtsan2:amd64 (14.2.0-8ubuntu1) ... 98s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 98s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 98s Setting up libisl23:amd64 (0.27-1) ... 98s Setting up libpython3.13-stdlib:amd64 (3.13.0-2) ... 98s Setting up libcc1-0:amd64 (14.2.0-8ubuntu1) ... 98s Setting up liblsan0:amd64 (14.2.0-8ubuntu1) ... 98s Setting up libitm1:amd64 (14.2.0-8ubuntu1) ... 98s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 98s Setting up python3-imagesize (1.4.1-1) ... 98s Setting up automake (1:1.16.5-1.3ubuntu1) ... 98s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 98s Setting up python3-pgpy (0.6.0-1.2) ... 98s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 98s Setting up gettext (0.22.5-2) ... 98s Setting up python3.13 (3.13.0-2) ... 99s Setting up python3-pytest (8.3.3-1) ... 99s Setting up python3-all (3.12.7-1) ... 99s Setting up intltool-debian (0.35.0+20060710.6) ... 99s Setting up python3-flake8 (7.1.1-1) ... 100s Setting up libjs-jquery-metadata (12-4) ... 100s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 100s Setting up cpp-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 100s Setting up libjs-sphinxdoc (7.4.7-4) ... 100s Setting up cpp-14 (14.2.0-8ubuntu1) ... 100s Setting up dh-strip-nondeterminism (1.14.0-1) ... 100s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 100s Setting up xml-core (0.19) ... 100s Setting up python3-flake8-polyfill (1.0.2-4) ... 100s Setting up libgcc-14-dev:amd64 (14.2.0-8ubuntu1) ... 100s Setting up libstdc++-14-dev:amd64 (14.2.0-8ubuntu1) ... 100s Setting up cpp-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 100s Setting up python3-pep8-naming (0.10.0-2) ... 100s Setting up po-debconf (1.0.21+nmu1) ... 100s Setting up python3-pytest-cov (5.0.0-1) ... 100s Setting up sphinx-common (7.4.7-4) ... 100s Setting up cpp (4:14.1.0-2ubuntu1) ... 100s Setting up gcc-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 100s Setting up gcc-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 100s Setting up gcc-14 (14.2.0-8ubuntu1) ... 100s Setting up g++-14-x86-64-linux-gnu (14.2.0-8ubuntu1) ... 100s Setting up g++-x86-64-linux-gnu (4:14.1.0-2ubuntu1) ... 100s Setting up g++-14 (14.2.0-8ubuntu1) ... 100s Setting up libtool (2.4.7-7build1) ... 100s Setting up gcc (4:14.1.0-2ubuntu1) ... 100s Setting up dh-autoreconf (20) ... 100s Setting up g++ (4:14.1.0-2ubuntu1) ... 100s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 100s Setting up build-essential (12.10ubuntu1) ... 100s Setting up debhelper (13.20ubuntu1) ... 100s Setting up pybuild-plugin-autopkgtest (6.20241024) ... 100s Processing triggers for install-info (7.1.1-1) ... 100s Processing triggers for libc-bin (2.40-1ubuntu3) ... 100s Processing triggers for systemd (256.5-2ubuntu4) ... 100s Processing triggers for man-db (2.13.0-1) ... 102s Processing triggers for sgml-base (1.31) ... 102s Setting up docutils-common (0.21.2+dfsg-2) ... 102s Processing triggers for sgml-base (1.31) ... 102s Setting up python3-docutils (0.21.2+dfsg-2) ... 102s Setting up python3-sphinx (7.4.7-4) ... 106s Reading package lists... 106s Building dependency tree... 107s Reading state information... 107s Starting pkgProblemResolver with broken count: 0 107s Starting 2 pkgProblemResolver with broken count: 0 107s Done 107s The following NEW packages will be installed: 107s autopkgtest-satdep 107s 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 107s Need to get 0 B/700 B of archives. 107s After this operation, 0 B of additional disk space will be used. 107s Get:1 /tmp/autopkgtest.U8CVDj/2-autopkgtest-satdep.deb autopkgtest-satdep amd64 0 [700 B] 107s Selecting previously unselected package autopkgtest-satdep. 107s (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 ... 80842 files and directories currently installed.) 107s Preparing to unpack .../2-autopkgtest-satdep.deb ... 107s Unpacking autopkgtest-satdep (0) ... 107s Setting up autopkgtest-satdep (0) ... 109s (Reading database ... 80842 files and directories currently installed.) 109s Removing autopkgtest-satdep (0) ... 110s autopkgtest [04:10:00]: test pybuild-autopkgtest: pybuild-autopkgtest 110s autopkgtest [04:10:00]: test pybuild-autopkgtest: [----------------------- 110s pybuild-autopkgtest 111s I: pybuild base:311: cd /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build; python3.13 -m pytest tests 111s ImportError while loading conftest '/tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/conftest.py'. 111s tests/conftest.py:17: in 111s from cryptography.hazmat.backends import openssl 111s /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py:7: in 111s from cryptography.hazmat.backends.openssl.backend import backend 111s /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py:12: in 111s from cryptography import utils, x509 111s /usr/lib/python3/dist-packages/cryptography/x509/__init__.py:7: in 111s from cryptography.x509 import certificate_transparency, verification 111s /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py:11: in 111s from cryptography.hazmat.bindings._rust import x509 as rust_x509 111s E ImportError: cannot import name 'x509' from 'cryptography.hazmat.bindings._rust' (unknown location) 111s E: pybuild pybuild:389: test: plugin distutils failed with: exit code=4: cd /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build; python3.13 -m pytest tests 111s I: pybuild base:311: cd /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build; python3.12 -m pytest tests 112s == PGPy Test Suite == 112s Working Directory: /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build 112s Using OpenSSL 3.3.1 112s Using GnuPG 2.4.4 112s 112s ============================= test session starts ============================== 112s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 112s rootdir: /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build 112s configfile: pyproject.toml 112s plugins: typeguard-4.4.1, cov-5.0.0 112s collected 1106 items 112s 112s tests/test_00_exports.py ............. [ 1%] 112s tests/test_01_packetfields.py .......................................... [ 4%] 112s ........................................................................ [ 11%] 112s ........................................................................ [ 17%] 112s ........................................................................ [ 24%] 112s ........................................................................ [ 31%] 112s .......................................... [ 34%] 112s tests/test_01_types.py ........ [ 35%] 112s tests/test_02_packets.py ............................................... [ 39%] 112s ... [ 40%] 112s tests/test_03_armor.py s................................................ [ 44%] 112s ............................................. [ 48%] 112s tests/test_04_PGP_objects.py ........................................... [ 52%] 113s ...................................... [ 55%] 113s tests/test_04_copy.py ............. [ 57%] 116s tests/test_05_actions.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...... [ 61%] 146s ....FFFFFFxFFFFFFxFFFFFFxFFFFFFxFFFFFFFFFFFF........FFFFFFFF............ [ 67%] 178s FFFFFFxFFFFFFxFFFFFFxFFFFFFxFFFFFFFFs................................... [ 74%] 179s ......................Fssssssssssssxx......x...xx......x...xx......x...x [ 80%] 182s x......x...ssssssssssssss......s...ss......s...ss......s...ss......s...s [ 87%] 183s sssssssssssss......s...ss......s...ss......s...ss......s...... [ 92%] 184s tests/test_10_exceptions.py ............................................ [ 96%] 184s ............. [ 98%] 184s tests/test_99_regressions.py ..................... [100%] 184s 184s =================================== FAILURES =================================== 184s _______________________ TestPGPMessage.test_new[0-False] _______________________ 184s 184s self = 184s comp_alg = , sensitive = False 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:171: in wrapper 184s return _funcwrap(self, *args) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[0-True] ________________________ 184s 184s self = 184s comp_alg = , sensitive = True 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[1-False] _______________________ 184s 184s self = 184s comp_alg = , sensitive = False 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[1-True] ________________________ 184s 184s self = 184s comp_alg = , sensitive = True 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[2-False] _______________________ 184s 184s self = 184s comp_alg = , sensitive = False 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[2-True] ________________________ 184s 184s self = 184s comp_alg = , sensitive = True 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[3-False] _______________________ 184s 184s self = 184s comp_alg = , sensitive = False 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _______________________ TestPGPMessage.test_new[3-True] ________________________ 184s 184s self = 184s comp_alg = , sensitive = True 184s 184s @pytest.mark.parametrize('comp_alg,sensitive', 184s itertools.product(CompressionAlgorithm, [False, True])) 184s def test_new(self, comp_alg, sensitive): 184s mtxt = u"This is a new message!" 184s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else '') 184s assert msg.is_sensitive is sensitive 184s assert msg.type == 'literal' 184s assert msg.message == mtxt 184s assert msg._compression == comp_alg 184s 184s if gpg: 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg).decode('utf-8') == mtxt 184s 184s tests/test_05_actions.py:86: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s __ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s __ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s __ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = False 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.1.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.1.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.2.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.2.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s __ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.bin] __ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.bin' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 184s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 184s 184s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 184s _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] _ 184s 184s self = 184s comp_alg = , sensitive = True 184s path = 'tests/testdata/files/literal.dashesc.txt' 184s 184s @pytest.mark.parametrize('comp_alg,sensitive,path', 184s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 184s def test_new_from_file(self, comp_alg, sensitive, path): 184s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 184s 184s assert isinstance(msg, PGPMessage) 184s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 184s assert msg.type == 'literal' 184s assert msg.is_sensitive is sensitive 184s 184s if gpg: 184s with open(path, 'rb') as tf: 184s mtxt = tf.read() 184s 184s # see if GPG can parse our message 184s > assert self.gpg_message(msg) == mtxt 184s 184s tests/test_05_actions.py:103: 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s tests/test_05_actions.py:49: in gpg_message 184s msg, _ = c.verify(gpg.Data(string=str(msg))) 184s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 184s raise e 184s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 184s self.op_verify(signed_data, None, data) 184s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 184s return errorcheck(result, name) 184s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184s 184s retval = 117440570, extradata = 'gpgme_op_verify' 184s 184s def errorcheck(retval, extradata=None): 184s if retval: 184s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _____________________ TestPGPMessage.test_new_non_unicode ______________________ 185s 185s self = 185s 185s @pytest.mark.regression(issue=154) 185s # @pytest.mark.parametrize('cleartext', [False, True]) 185s def test_new_non_unicode(self): 185s # this message text comes from http://www.columbia.edu/~fdc/utf8/ 185s text = u'色は匂へど 散りぬるを\n' \ 185s u'我が世誰ぞ 常ならむ\n' \ 185s u'有為の奥山 今日越えて\n' \ 185s u'浅き夢見じ 酔ひもせず' 185s msg = PGPMessage.new(text.encode('jisx0213'), encoding='jisx0213') 185s 185s assert msg.type == 'literal' 185s assert msg.message == text.encode('jisx0213') 185s 185s if gpg: 185s # see if GPG can parse our message 185s > assert self.gpg_message(msg).decode('jisx0213') == text 185s 185s tests/test_05_actions.py:120: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:49: in gpg_message 185s msg, _ = c.verify(gpg.Data(string=str(msg))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440570, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_gen_key[1-2048] __________________ 185s 185s self = 185s alg = , size = 2048 185s 185s @pytest.mark.order(1) 185s @pytest.mark.parametrize('alg,size', pkeyspecs) 185s def test_gen_key(self, alg, size): 185s # create a primary key with a UID 185s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 185s key = PGPKey.new(alg, size) 185s 185s if alg is PubKeyAlgorithm.ECDSA: 185s # ECDSA keys require larger hash digests 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 185s 185s else: 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 185s 185s assert uid in key 185s 185s # self-verify the key 185s assert key.verify(key) 185s self.keys[(alg, size)] = key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:277: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _________________ TestPGPKey_Management.test_gen_key[17-2048] __________________ 185s 185s self = 185s alg = , size = 2048 185s 185s @pytest.mark.order(1) 185s @pytest.mark.parametrize('alg,size', pkeyspecs) 185s def test_gen_key(self, alg, size): 185s # create a primary key with a UID 185s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 185s key = PGPKey.new(alg, size) 185s 185s if alg is PubKeyAlgorithm.ECDSA: 185s # ECDSA keys require larger hash digests 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 185s 185s else: 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 185s 185s assert uid in key 185s 185s # self-verify the key 185s assert key.verify(key) 185s self.keys[(alg, size)] = key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:277: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ______ TestPGPKey_Management.test_gen_key[19-EllipticCurveOID.NIST_P256] _______ 185s 185s self = 185s alg = 185s size = , payload [1.2.840.10045.3.1.7]>> 185s 185s @pytest.mark.order(1) 185s @pytest.mark.parametrize('alg,size', pkeyspecs) 185s def test_gen_key(self, alg, size): 185s # create a primary key with a UID 185s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 185s key = PGPKey.new(alg, size) 185s 185s if alg is PubKeyAlgorithm.ECDSA: 185s # ECDSA keys require larger hash digests 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 185s 185s else: 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 185s 185s assert uid in key 185s 185s # self-verify the key 185s assert key.verify(key) 185s self.keys[(alg, size)] = key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:277: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _______ TestPGPKey_Management.test_gen_key[22-EllipticCurveOID.Ed25519] ________ 185s 185s self = 185s alg = 185s size = , payload [1.3.6.1.4.1.11591.15.1]>> 185s 185s @pytest.mark.order(1) 185s @pytest.mark.parametrize('alg,size', pkeyspecs) 185s def test_gen_key(self, alg, size): 185s # create a primary key with a UID 185s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 185s key = PGPKey.new(alg, size) 185s 185s if alg is PubKeyAlgorithm.ECDSA: 185s # ECDSA keys require larger hash digests 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 185s 185s else: 185s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 185s 185s assert uid in key 185s 185s # self-verify the key 185s assert key.verify(key) 185s self.keys[(alg, size)] = key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:277: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _______ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-DSA-2048] _______ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _______ TestPGPKey_Management.test_add_subkey[DSA-RSAEncryptOrSign-2048] _______ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _____________ TestPGPKey_Management.test_add_subkey[DSA-DSA-2048] ______________ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] __ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __ TestPGPKey_Management.test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] ___ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] __ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ______ TestPGPKey_Management.test_add_subkey[ECDSA-RSAEncryptOrSign-2048] ______ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________ TestPGPKey_Management.test_add_subkey[ECDSA-DSA-2048] _____________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] __ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ______ TestPGPKey_Management.test_add_subkey[EdDSA-RSAEncryptOrSign-2048] ______ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________ TestPGPKey_Management.test_add_subkey[EdDSA-DSA-2048] _____________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] __ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_gen_key') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 185s def test_add_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s key = self.keys[pkspec] 185s subkey = PGPKey.new(*skspec) 185s 185s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivKeyV4) 185s assert not isinstance(subkey._key, PrivSubKeyV4) 185s 185s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 185s 185s # now that we've added it, it should be a PrivSubKeyV4 185s assert isinstance(subkey._key, PrivSubKeyV4) 185s 185s # self-verify 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s assert key.verify(subkey) 185s 185s sv = key.verify(key) 185s assert sv 185s assert subkey in sv 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:317: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________________ TestPGPKey_Management.test_add_altuid[1] ___________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_add_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_altuid(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s key = self.keys[pkspec] 185s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 185s 185s expiration = datetime.now(timezone.utc) + timedelta(days=2) 185s 185s # add all of the sbpackets that only work on self-certifications 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(uid, 185s usage=[KeyFlags.Certify, KeyFlags.Sign], 185s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 185s hashes=[HashAlgorithm.SHA384], 185s compression=[CompressionAlgorithm.ZLIB], 185s key_expiration=expiration, 185s keyserver_flags={KeyServerPreferences.NoModify}, 185s keyserver='about:none', 185s primary=False) 185s 185s sig = uid.selfsig 185s 185s assert sig.type == SignatureType.Positive_Cert 185s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 185s assert sig.hashprefs == [HashAlgorithm.SHA384] 185s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 185s assert sig.features == {Features.ModificationDetection} 185s assert sig.key_expiration == expiration - key.created 185s assert sig.keyserver == 'about:none' 185s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 185s 185s assert uid.is_primary is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:358: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_add_altuid[17] ___________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_add_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_altuid(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s key = self.keys[pkspec] 185s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 185s 185s expiration = datetime.now(timezone.utc) + timedelta(days=2) 185s 185s # add all of the sbpackets that only work on self-certifications 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(uid, 185s usage=[KeyFlags.Certify, KeyFlags.Sign], 185s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 185s hashes=[HashAlgorithm.SHA384], 185s compression=[CompressionAlgorithm.ZLIB], 185s key_expiration=expiration, 185s keyserver_flags={KeyServerPreferences.NoModify}, 185s keyserver='about:none', 185s primary=False) 185s 185s sig = uid.selfsig 185s 185s assert sig.type == SignatureType.Positive_Cert 185s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 185s assert sig.hashprefs == [HashAlgorithm.SHA384] 185s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 185s assert sig.features == {Features.ModificationDetection} 185s assert sig.key_expiration == expiration - key.created 185s assert sig.keyserver == 'about:none' 185s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 185s 185s assert uid.is_primary is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:358: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_add_altuid[19] ___________________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s 185s @pytest.mark.order(after='test_add_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_altuid(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s key = self.keys[pkspec] 185s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 185s 185s expiration = datetime.now(timezone.utc) + timedelta(days=2) 185s 185s # add all of the sbpackets that only work on self-certifications 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(uid, 185s usage=[KeyFlags.Certify, KeyFlags.Sign], 185s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 185s hashes=[HashAlgorithm.SHA384], 185s compression=[CompressionAlgorithm.ZLIB], 185s key_expiration=expiration, 185s keyserver_flags={KeyServerPreferences.NoModify}, 185s keyserver='about:none', 185s primary=False) 185s 185s sig = uid.selfsig 185s 185s assert sig.type == SignatureType.Positive_Cert 185s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 185s assert sig.hashprefs == [HashAlgorithm.SHA384] 185s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 185s assert sig.features == {Features.ModificationDetection} 185s assert sig.key_expiration == expiration - key.created 185s assert sig.keyserver == 'about:none' 185s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 185s 185s assert uid.is_primary is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:358: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_add_altuid[22] ___________________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_add_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_altuid(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s key = self.keys[pkspec] 185s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 185s 185s expiration = datetime.now(timezone.utc) + timedelta(days=2) 185s 185s # add all of the sbpackets that only work on self-certifications 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(uid, 185s usage=[KeyFlags.Certify, KeyFlags.Sign], 185s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 185s hashes=[HashAlgorithm.SHA384], 185s compression=[CompressionAlgorithm.ZLIB], 185s key_expiration=expiration, 185s keyserver_flags={KeyServerPreferences.NoModify}, 185s keyserver='about:none', 185s primary=False) 185s 185s sig = uid.selfsig 185s 185s assert sig.type == SignatureType.Positive_Cert 185s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 185s assert sig.hashprefs == [HashAlgorithm.SHA384] 185s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 185s assert sig.features == {Features.ModificationDetection} 185s assert sig.key_expiration == expiration - key.created 185s assert sig.keyserver == 'about:none' 185s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 185s 185s assert uid.is_primary is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:358: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________________ TestPGPKey_Management.test_add_photo[1] ____________________ 185s 185s self = 185s pkspec = (, 2048) 185s userphoto = 185s 185s @pytest.mark.order(after='test_add_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_photo(self, pkspec, userphoto): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a photo 185s key = self.keys[pkspec] 185s photo = copy.copy(userphoto) 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(photo) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:375: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________________ TestPGPKey_Management.test_add_photo[17] ___________________ 185s 185s self = 185s pkspec = (, 2048) 185s userphoto = 185s 185s @pytest.mark.order(after='test_add_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_photo(self, pkspec, userphoto): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a photo 185s key = self.keys[pkspec] 185s photo = copy.copy(userphoto) 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(photo) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:375: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________________ TestPGPKey_Management.test_add_photo[19] ___________________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s userphoto = 185s 185s @pytest.mark.order(after='test_add_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_photo(self, pkspec, userphoto): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a photo 185s key = self.keys[pkspec] 185s photo = copy.copy(userphoto) 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(photo) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:375: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________________ TestPGPKey_Management.test_add_photo[22] ___________________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s userphoto = 185s 185s @pytest.mark.order(after='test_add_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_photo(self, pkspec, userphoto): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a photo 185s key = self.keys[pkspec] 185s photo = copy.copy(userphoto) 185s with warnings.catch_warnings(): 185s warnings.simplefilter('ignore') 185s key.add_uid(photo) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:375: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _______________ TestPGPKey_Management.test_add_revocation_key[1] _______________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_remove_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_revocation_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a revocation key 185s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 185s key = self.keys[pkspec] 185s revsig = key.revoker(rev) 185s key |= revsig 185s 185s assert revsig in key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:418: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ______________ TestPGPKey_Management.test_add_revocation_key[17] _______________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_remove_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_revocation_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a revocation key 185s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 185s key = self.keys[pkspec] 185s revsig = key.revoker(rev) 185s key |= revsig 185s 185s assert revsig in key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:418: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ______________ TestPGPKey_Management.test_add_revocation_key[19] _______________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s 185s @pytest.mark.order(after='test_remove_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_revocation_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a revocation key 185s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 185s key = self.keys[pkspec] 185s revsig = key.revoker(rev) 185s key |= revsig 185s 185s assert revsig in key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:418: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ______________ TestPGPKey_Management.test_add_revocation_key[22] _______________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_remove_altuid') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_add_revocation_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a revocation key 185s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 185s key = self.keys[pkspec] 185s revsig = key.revoker(rev) 185s key |= revsig 185s 185s assert revsig in key 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:418: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________________ TestPGPKey_Management.test_protect[1] _____________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_add_revocation_key') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_protect(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a passphrase 185s key = self.keys[pkspec] 185s 185s assert key.is_protected is False 185s key.protect('There Are Many Like It, But This Key Is Mine', 185s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 185s 185s assert key.is_protected 185s assert key.is_unlocked is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:438: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________________ TestPGPKey_Management.test_protect[17] ____________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_add_revocation_key') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_protect(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a passphrase 185s key = self.keys[pkspec] 185s 185s assert key.is_protected is False 185s key.protect('There Are Many Like It, But This Key Is Mine', 185s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 185s 185s assert key.is_protected 185s assert key.is_unlocked is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:438: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________________ TestPGPKey_Management.test_protect[19] ____________________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s 185s @pytest.mark.order(after='test_add_revocation_key') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_protect(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a passphrase 185s key = self.keys[pkspec] 185s 185s assert key.is_protected is False 185s key.protect('There Are Many Like It, But This Key Is Mine', 185s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 185s 185s assert key.is_protected 185s assert key.is_unlocked is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:438: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________________ TestPGPKey_Management.test_protect[22] ____________________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_add_revocation_key') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_protect(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # add a passphrase 185s key = self.keys[pkspec] 185s 185s assert key.is_protected is False 185s key.protect('There Are Many Like It, But This Key Is Mine', 185s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 185s 185s assert key.is_protected 185s assert key.is_unlocked is False 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:438: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _________________ TestPGPKey_Management.test_pub_from_spec[1] __________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_unlock2') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_pub_from_spec(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # get the public half of the key 185s priv = self.keys[pkspec] 185s pub = priv.pubkey 185s 185s assert pub.is_public 185s assert pub.fingerprint == priv.fingerprint 185s 185s for skid, subkey in priv.subkeys.items(): 185s assert skid in pub.subkeys 185s assert pub.subkeys[skid].is_public 185s assert len(subkey._key) == len(subkey._key.__bytes__()) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(pub) 185s 185s tests/test_05_actions.py:499: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _________________ TestPGPKey_Management.test_pub_from_spec[17] _________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_unlock2') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_pub_from_spec(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # get the public half of the key 185s priv = self.keys[pkspec] 185s pub = priv.pubkey 185s 185s assert pub.is_public 185s assert pub.fingerprint == priv.fingerprint 185s 185s for skid, subkey in priv.subkeys.items(): 185s assert skid in pub.subkeys 185s assert pub.subkeys[skid].is_public 185s assert len(subkey._key) == len(subkey._key.__bytes__()) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(pub) 185s 185s tests/test_05_actions.py:499: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _________________ TestPGPKey_Management.test_pub_from_spec[19] _________________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s 185s @pytest.mark.order(after='test_unlock2') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_pub_from_spec(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # get the public half of the key 185s priv = self.keys[pkspec] 185s pub = priv.pubkey 185s 185s assert pub.is_public 185s assert pub.fingerprint == priv.fingerprint 185s 185s for skid, subkey in priv.subkeys.items(): 185s assert skid in pub.subkeys 185s assert pub.subkeys[skid].is_public 185s assert len(subkey._key) == len(subkey._key.__bytes__()) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(pub) 185s 185s tests/test_05_actions.py:499: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _________________ TestPGPKey_Management.test_pub_from_spec[22] _________________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_unlock2') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_pub_from_spec(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # get the public half of the key 185s priv = self.keys[pkspec] 185s pub = priv.pubkey 185s 185s assert pub.is_public 185s assert pub.fingerprint == priv.fingerprint 185s 185s for skid, subkey in priv.subkeys.items(): 185s assert skid in pub.subkeys 185s assert pub.subkeys[skid].is_public 185s assert len(subkey._key) == len(subkey._key.__bytes__()) 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(pub) 185s 185s tests/test_05_actions.py:499: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _____ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-DSA-2048] ______ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _____ TestPGPKey_Management.test_revoke_subkey[DSA-RSAEncryptOrSign-2048] ______ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________ TestPGPKey_Management.test_revoke_subkey[DSA-DSA-2048] ____________ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, 2048) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____ TestPGPKey_Management.test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] _____ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________ TestPGPKey_Management.test_revoke_subkey[ECDSA-DSA-2048] ___________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____ TestPGPKey_Management.test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] _____ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________ TestPGPKey_Management.test_revoke_subkey[EdDSA-DSA-2048] ___________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, 2048) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.132.0.10]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] _ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 185s 185s @pytest.mark.order(after='test_pub_from_spec') 185s @pytest.mark.parametrize('pkspec,skspec', 185s itertools.product(pkeyspecs, skeyspecs), 185s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 185s itertools.product(pkeyspecs, skeyspecs)]) 185s def test_revoke_subkey(self, pkspec, skspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s alg, size = skspec 185s if not alg.can_gen: 185s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 185s 185s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 185s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 185s 185s # revoke the subkey 185s key = self.keys[pkspec] 185s # pub = key.pubkey 185s 185s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s 185s subkey |= rsig 185s 185s # verify with PGPy 185s assert key.verify(subkey, rsig) 185s assert rsig in subkey.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:536: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ___________________ TestPGPKey_Management.test_revoke_key[1] ___________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_revoke_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_revoke_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # revoke the key 185s key = self.keys[pkspec] 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 185s comment="But you're so oooold") 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s key |= rsig 185s 185s # verify with PGPy 185s assert key.verify(key, rsig) 185s assert rsig in key.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:560: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_revoke_key[17] ___________________ 185s 185s self = 185s pkspec = (, 2048) 185s 185s @pytest.mark.order(after='test_revoke_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_revoke_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # revoke the key 185s key = self.keys[pkspec] 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 185s comment="But you're so oooold") 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s key |= rsig 185s 185s # verify with PGPy 185s assert key.verify(key, rsig) 185s assert rsig in key.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:560: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_revoke_key[19] ___________________ 185s 185s self = 185s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 185s 185s @pytest.mark.order(after='test_revoke_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_revoke_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # revoke the key 185s key = self.keys[pkspec] 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 185s comment="But you're so oooold") 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s key |= rsig 185s 185s # verify with PGPy 185s assert key.verify(key, rsig) 185s assert rsig in key.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:560: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s __________________ TestPGPKey_Management.test_revoke_key[22] ___________________ 185s 185s self = 185s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 185s 185s @pytest.mark.order(after='test_revoke_subkey') 185s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 185s def test_revoke_key(self, pkspec): 185s if pkspec not in self.keys: 185s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 185s 185s # revoke the key 185s key = self.keys[pkspec] 185s 185s with key.unlock('This Password Has Been Changed') as ukey: 185s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 185s comment="But you're so oooold") 185s 185s assert 'ReasonForRevocation' in rsig._signature.subpackets 185s key |= rsig 185s 185s # verify with PGPy 185s assert key.verify(key, rsig) 185s assert rsig in key.revocation_signatures 185s 185s if gpg: 185s # try to verify with GPG 185s > self.gpg_verify_key(key) 185s 185s tests/test_05_actions.py:560: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:251: in gpg_verify_key 185s data, vres = c.verify(gpg.Data(string=str(key))) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ____________________ TestPGPKey_Actions.test_gpg_import_abe ____________________ 185s 185s self = 185s abe = 185s 185s def test_gpg_import_abe(self, abe): 185s if gpg is None: 185s pytest.skip('integration test') 185s # verify all of the things we did to Abe's key with GnuPG in one fell swoop 185s > self.gpg_verify(abe) 185s 185s tests/test_05_actions.py:906: 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s tests/test_05_actions.py:649: in gpg_verify 185s _, vres = c.verify(*vargs) 185s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 185s raise e 185s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 185s self.op_verify(signed_data, None, data) 185s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 185s return errorcheck(result, name) 185s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 185s 185s retval = 117440601, extradata = 'gpgme_op_verify' 185s 185s def errorcheck(retval, extradata=None): 185s if retval: 185s > raise GPGMEError(retval, extradata) 185s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 185s 185s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 185s ----------------------------- Captured stdout call ----------------------------- 185s [Key(can_authenticate=0, can_certify=1, can_encrypt=0, can_sign=1, chain_id=None, disabled=0, expired=0, fpr='D396FE3105C7676C74DE84760E79E47169AEC37A', has_authenticate=0, has_certify=1, has_encrypt=0, has_sign=1, invalid=0, is_qualified=0, issuer_name=None, issuer_serial=None, keylist_mode=1, last_update=0, origin=0, owner_trust=0, protocol=0, revoked=0, secret=0, subkeys=[SubKey(can_authenticate=0, can_certify=1, can_encrypt=0, can_renc=0, can_sign=1, can_timestamp=0, card_number=None, curve=None, disabled=0, expired=0, expires=0, fpr='D396FE3105C7676C74DE84760E79E47169AEC37A', invalid=0, is_cardkey=0, is_de_vs=0, is_group_owned=0, is_qualified=0, keygrip=None, keyid='0E79E47169AEC37A', length=1024, pubkey_algo=1, revoked=0, secret=0, thisown=False, timestamp=1411074782, v5fpr=None)], thisown=False, uids=[UID(address=None, comment='', email='', invalid=0, last_update=0, name="Targette R'Essay", origin=0, revoked=0, signatures=[], thisown=False, tofu=[], uid="Targette R'Essay", uidhash='44AB76D7B07E1A3BFE6F32FFE3C03D1C6A9A7069', validity=0)])] 185s =============================== warnings summary =============================== 185s ../../../../usr/lib/python3/dist-packages/pgpy/constants.py:5 185s /usr/lib/python3/dist-packages/pgpy/constants.py:5: DeprecationWarning: 'imghdr' is deprecated and slated for removal in Python 3.13 185s import imghdr 185s 185s tests/test_01_types.py:50 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_01_types.py:50: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=154) 185s 185s tests/test_01_types.py:57 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_01_types.py:57: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=154) 185s 185s tests/test_04_PGP_objects.py:114 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_04_PGP_objects.py:114: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=140) 185s 185s tests/test_04_PGP_objects.py:122 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_04_PGP_objects.py:122: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=140) 185s 185s tests/test_05_actions.py:105 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:105: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=154) 185s 185s tests/test_05_actions.py:122 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:122: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=154) 185s 185s tests/test_05_actions.py:255 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:255: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(1) 185s 185s tests/test_05_actions.py:279 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:279: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_gen_key') 185s 185s tests/test_05_actions.py:319 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:319: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_add_subkey') 185s 185s tests/test_05_actions.py:360 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:360: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_add_altuid') 185s 185s tests/test_05_actions.py:377 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:377: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_add_photo') 185s 185s tests/test_05_actions.py:390 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:390: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_revoke_altuid') 185s 185s tests/test_05_actions.py:402 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:402: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_remove_altuid') 185s 185s tests/test_05_actions.py:420 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:420: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_add_revocation_key') 185s 185s tests/test_05_actions.py:440 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:440: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_protect') 185s 185s tests/test_05_actions.py:455 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:455: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_unlock') 185s 185s tests/test_05_actions.py:467 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:467: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_change_passphrase') 185s 185s tests/test_05_actions.py:479 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:479: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_unlock2') 185s 185s tests/test_05_actions.py:501 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:501: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_pub_from_spec') 185s 185s tests/test_05_actions.py:538 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:538: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_revoke_subkey') 185s 185s tests/test_05_actions.py:562 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:562: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_revoke_key') 185s 185s tests/test_05_actions.py:709 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:709: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_sign_string') 185s 185s tests/test_05_actions.py:732 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:732: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_sign_message') 185s 185s tests/test_05_actions.py:755 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:755: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_sign_ctmessage') 185s 185s tests/test_05_actions.py:773 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:773: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_sign_timestamp') 185s 185s tests/test_05_actions.py:798 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:798: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_sign_standalone') 185s 185s tests/test_05_actions.py:856 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:856: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_certify_uid') 185s 185s tests/test_05_actions.py:873 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:873: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_certify_photo') 185s 185s tests/test_05_actions.py:926 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:926: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_encrypt_message') 185s 185s tests/test_05_actions.py:950 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_05_actions.py:950: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.order(after='test_encrypt_message') 185s 185s tests/test_99_regressions.py:18 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:18: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=56) 185s 185s tests/test_99_regressions.py:184 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:184: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=172) 185s 185s tests/test_99_regressions.py:195 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:195: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=183) 185s 185s tests/test_99_regressions.py:256 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:256: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(194) 185s 185s tests/test_99_regressions.py:297 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:297: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=192) 185s 185s tests/test_99_regressions.py:310 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:310: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=199) 185s 185s tests/test_99_regressions.py:316 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:316: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=226) 185s 185s tests/test_99_regressions.py:349 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:349: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=243) 185s 185s tests/test_99_regressions.py:388 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:388: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=291) 185s 185s tests/test_99_regressions.py:433 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:433: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression 185s 185s tests/test_99_regressions.py:555 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:555: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=341) 185s 185s tests/test_99_regressions.py:587 185s /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build/tests/test_99_regressions.py:587: PytestUnknownMarkWarning: Unknown pytest.mark.regression - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html 185s @pytest.mark.regression(issue=393) 185s 185s tests/test_01_packetfields.py: 330 warnings 185s tests/test_02_packets.py: 6 warnings 185s tests/test_03_armor.py: 2 warnings 185s tests/test_04_PGP_objects.py: 10 warnings 185s tests/test_05_actions.py: 53 warnings 185s tests/test_10_exceptions.py: 6 warnings 185s tests/test_99_regressions.py: 1 warning 185s /usr/lib/python3/dist-packages/pgpy/constants.py:192: CryptographyDeprecationWarning: IDEA has been deprecated and will be removed in a future release 185s bs = {SymmetricKeyAlgorithm.IDEA: algorithms.IDEA, 185s 185s tests/test_01_packetfields.py: 330 warnings 185s tests/test_02_packets.py: 6 warnings 185s tests/test_03_armor.py: 2 warnings 185s tests/test_04_PGP_objects.py: 10 warnings 185s tests/test_05_actions.py: 53 warnings 185s tests/test_10_exceptions.py: 6 warnings 185s tests/test_99_regressions.py: 1 warning 185s /usr/lib/python3/dist-packages/pgpy/constants.py:194: CryptographyDeprecationWarning: CAST5 has been deprecated and will be removed in a future release 185s SymmetricKeyAlgorithm.CAST5: algorithms.CAST5, 185s 185s tests/test_01_packetfields.py: 330 warnings 185s tests/test_02_packets.py: 6 warnings 185s tests/test_03_armor.py: 2 warnings 185s tests/test_04_PGP_objects.py: 10 warnings 185s tests/test_05_actions.py: 53 warnings 185s tests/test_10_exceptions.py: 6 warnings 185s tests/test_99_regressions.py: 1 warning 185s /usr/lib/python3/dist-packages/pgpy/constants.py:195: CryptographyDeprecationWarning: Blowfish has been deprecated and will be removed in a future release 185s SymmetricKeyAlgorithm.Blowfish: algorithms.Blowfish, 185s 185s tests/test_04_copy.py: 8 warnings 185s tests/test_05_actions.py: 56 warnings 185s tests/test_99_regressions.py: 3 warnings 185s /usr/lib/python3/dist-packages/pgpy/pgp.py:2389: UserWarning: TODO: Self-sigs verification is not yet working because self-sigs are not parsed!!! 185s warnings.warn("TODO: Self-sigs verification is not yet working because self-sigs are not parsed!!!") 185s 185s tests/test_05_actions.py: 56 warnings 185s tests/test_99_regressions.py: 3 warnings 185s /usr/lib/python3/dist-packages/pgpy/pgp.py:2406: UserWarning: TODO: Revocation checks are not yet implemented!!! 185s warnings.warn("TODO: Revocation checks are not yet implemented!!!") 185s 185s tests/test_05_actions.py: 56 warnings 185s tests/test_99_regressions.py: 3 warnings 185s /usr/lib/python3/dist-packages/pgpy/pgp.py:2407: UserWarning: TODO: Flags (s.a. `disabled`) checks are not yet implemented!!! 185s warnings.warn("TODO: Flags (s.a. `disabled`) checks are not yet implemented!!!") 185s 185s tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[dsa.1.sec.asc] 185s /usr/lib/python3/dist-packages/pgpy/pgp.py:1834: UserWarning: Selected hash algorithm not in key preferences 185s uid |= self.certify(uid, SignatureType.Positive_Cert, **prefs) 185s 185s tests/test_99_regressions.py::test_reg_bug_56 185s /usr/lib/python3/dist-packages/pgpy/packet/subpackets/signature.py:233: UserWarning: Passing TZ-naive datetime object to CreationTime subpacket 185s warnings.warn("Passing TZ-naive datetime object to CreationTime subpacket") 185s 185s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 185s =========================== short test summary info ============================ 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-False] - gpg.erro... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-True] - gpg.error... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-False] - gpg.erro... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-True] - gpg.error... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-False] - gpg.erro... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-True] - gpg.error... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-False] - gpg.erro... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-True] - gpg.error... 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.1.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.2.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.bin] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] 185s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_non_unicode - gpg.e... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[1-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[17-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[19-EllipticCurveOID.NIST_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[22-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256]E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /tmp/autopkgtest.U8CVDj/autopkgtest_tmp/build; python3.12 -m pytest tests 185s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 185s make: *** [/tmp/irKaJXoJbE/run:4: pybuild-autopkgtest] Error 25 185s pybuild-autopkgtest: error: /tmp/irKaJXoJbE/run pybuild-autopkgtest returned exit code 2 185s 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[1] - ... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[17] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[19] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[22] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[1] - g... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[17] - ... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[19] - ... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[22] - ... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[17] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[19] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[22] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[1] - gpg... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[17] - gp... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[19] - gp... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[22] - gp... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[17] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[19] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[22] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-DSA-2048] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[1] - ... 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[17] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[19] 185s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[22] 185s FAILED tests/test_05_actions.py::TestPGPKey_Actions::test_gpg_import_abe - gp... 185s = 118 failed, 906 passed, 62 skipped, 20 xfailed, 1454 warnings in 73.44s (0:01:13) = 185s autopkgtest [04:11:15]: test pybuild-autopkgtest: -----------------------] 186s pybuild-autopkgtest FAIL non-zero exit status 25 186s autopkgtest [04:11:16]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 186s autopkgtest [04:11:16]: @@@@@@@@@@@@@@@@@@@@ summary 186s pybuild-autopkgtest FAIL non-zero exit status 25 197s nova [W] Skipping flock for amd64 197s Creating nova instance adt-plucky-i386-python-pgpy-20241115-040810-juju-7f2275-prod-proposed-migration-environment-20-0485cfc6-b1cd-4fba-8ad5-c24fc08d444c from image adt/ubuntu-plucky-amd64-server-20241114.img (UUID 79d80331-8736-463c-82c6-8c9e13c0a4ca)...