1s autopkgtest [23:03:57]: starting date and time: 2024-11-13 23:03:57+0000 1s autopkgtest [23:03:58]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 1s autopkgtest [23:03:58]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.1fblrm3b/out --timeout-copy=6000 --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 autopkgtest-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-ppc64el-21.secgroup --name adt-plucky-ppc64el-python-pgpy-20241113-230357-juju-7f2275-prod-proposed-migration-environment-15-49229357-ec95-41d9-b86d-3c0fd1b1c0a4 --image adt/ubuntu-plucky-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration-ppc64el -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/ 78s autopkgtest [23:05:15]: testbed dpkg architecture: ppc64el 79s autopkgtest [23:05:16]: testbed apt version: 2.9.8 79s autopkgtest [23:05:16]: @@@@@@@@@@@@@@@@@@@@ test bed setup 79s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 80s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [971 kB] 80s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [17.2 kB] 80s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [7016 B] 80s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 80s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el Packages [110 kB] 80s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe ppc64el Packages [692 kB] 80s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse ppc64el Packages [20.8 kB] 80s Fetched 1993 kB in 1s (2198 kB/s) 80s Reading package lists... 83s Reading package lists... 83s Building dependency tree... 83s Reading state information... 84s Calculating upgrade... 84s The following NEW packages will be installed: 84s python3.13-gdbm 84s The following packages will be upgraded: 84s bpfcc-tools bpftrace libbpfcc libgnutls30t64 libjson-glib-1.0-0 84s libjson-glib-1.0-common libnewt0.52 libpython3-stdlib libutempter0 python3 84s python3-bpfcc python3-gdbm python3-minimal python3-newt whiptail 84s 15 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 84s Need to get 4700 kB of archives. 84s After this operation, 215 kB of additional disk space will be used. 84s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-minimal ppc64el 3.12.7-1 [27.4 kB] 84s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3 ppc64el 3.12.7-1 [24.0 kB] 84s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el libpython3-stdlib ppc64el 3.12.7-1 [10.0 kB] 84s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgnutls30t64 ppc64el 3.8.8-2ubuntu1 [1072 kB] 84s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-newt ppc64el 0.52.24-2ubuntu4 [21.8 kB] 84s Get:6 http://ftpmaster.internal/ubuntu plucky/main ppc64el libnewt0.52 ppc64el 0.52.24-2ubuntu4 [62.1 kB] 84s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el whiptail ppc64el 0.52.24-2ubuntu4 [19.5 kB] 84s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-gdbm ppc64el 3.13.0-2 [31.5 kB] 84s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-gdbm ppc64el 3.12.7-1 [8640 B] 84s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el libbpfcc ppc64el 0.30.0+ds-1ubuntu5 [696 kB] 85s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-bpfcc all 0.30.0+ds-1ubuntu5 [40.4 kB] 85s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el bpfcc-tools all 0.30.0+ds-1ubuntu5 [697 kB] 85s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el bpftrace ppc64el 0.21.2-2ubuntu2 [1898 kB] 85s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-glib-1.0-common all 1.10.0+ds-3 [5586 B] 85s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-glib-1.0-0 ppc64el 1.10.0+ds-3 [76.0 kB] 85s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el libutempter0 ppc64el 1.2.1-4 [9850 B] 85s Fetched 4700 kB in 1s (6083 kB/s) 85s (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 ... 73767 files and directories currently installed.) 85s Preparing to unpack .../python3-minimal_3.12.7-1_ppc64el.deb ... 85s Unpacking python3-minimal (3.12.7-1) over (3.12.6-0ubuntu1) ... 85s Setting up python3-minimal (3.12.7-1) ... 85s (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 ... 73767 files and directories currently installed.) 85s Preparing to unpack .../python3_3.12.7-1_ppc64el.deb ... 85s Unpacking python3 (3.12.7-1) over (3.12.6-0ubuntu1) ... 86s Preparing to unpack .../libpython3-stdlib_3.12.7-1_ppc64el.deb ... 86s Unpacking libpython3-stdlib:ppc64el (3.12.7-1) over (3.12.6-0ubuntu1) ... 86s Preparing to unpack .../libgnutls30t64_3.8.8-2ubuntu1_ppc64el.deb ... 86s Unpacking libgnutls30t64:ppc64el (3.8.8-2ubuntu1) over (3.8.6-2ubuntu1) ... 86s Setting up libgnutls30t64:ppc64el (3.8.8-2ubuntu1) ... 86s (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 ... 73767 files and directories currently installed.) 86s Preparing to unpack .../00-python3-newt_0.52.24-2ubuntu4_ppc64el.deb ... 86s Unpacking python3-newt:ppc64el (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 86s Preparing to unpack .../01-libnewt0.52_0.52.24-2ubuntu4_ppc64el.deb ... 86s Unpacking libnewt0.52:ppc64el (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 86s Preparing to unpack .../02-whiptail_0.52.24-2ubuntu4_ppc64el.deb ... 86s Unpacking whiptail (0.52.24-2ubuntu4) over (0.52.24-2ubuntu3) ... 86s Selecting previously unselected package python3.13-gdbm. 86s Preparing to unpack .../03-python3.13-gdbm_3.13.0-2_ppc64el.deb ... 86s Unpacking python3.13-gdbm (3.13.0-2) ... 86s Preparing to unpack .../04-python3-gdbm_3.12.7-1_ppc64el.deb ... 86s Unpacking python3-gdbm:ppc64el (3.12.7-1) over (3.12.6-1ubuntu1) ... 86s Preparing to unpack .../05-libbpfcc_0.30.0+ds-1ubuntu5_ppc64el.deb ... 86s Unpacking libbpfcc:ppc64el (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 86s Preparing to unpack .../06-python3-bpfcc_0.30.0+ds-1ubuntu5_all.deb ... 86s Unpacking python3-bpfcc (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 86s Preparing to unpack .../07-bpfcc-tools_0.30.0+ds-1ubuntu5_all.deb ... 86s Unpacking bpfcc-tools (0.30.0+ds-1ubuntu5) over (0.30.0+ds-1ubuntu4) ... 86s Preparing to unpack .../08-bpftrace_0.21.2-2ubuntu2_ppc64el.deb ... 86s Unpacking bpftrace (0.21.2-2ubuntu2) over (0.21.2-2) ... 86s Preparing to unpack .../09-libjson-glib-1.0-common_1.10.0+ds-3_all.deb ... 86s Unpacking libjson-glib-1.0-common (1.10.0+ds-3) over (1.10.0+ds-2) ... 86s Preparing to unpack .../10-libjson-glib-1.0-0_1.10.0+ds-3_ppc64el.deb ... 86s Unpacking libjson-glib-1.0-0:ppc64el (1.10.0+ds-3) over (1.10.0+ds-2) ... 86s Preparing to unpack .../11-libutempter0_1.2.1-4_ppc64el.deb ... 86s Unpacking libutempter0:ppc64el (1.2.1-4) over (1.2.1-3build1) ... 86s Setting up libnewt0.52:ppc64el (0.52.24-2ubuntu4) ... 86s Setting up libutempter0:ppc64el (1.2.1-4) ... 86s Setting up whiptail (0.52.24-2ubuntu4) ... 86s Setting up libjson-glib-1.0-common (1.10.0+ds-3) ... 86s Setting up libbpfcc:ppc64el (0.30.0+ds-1ubuntu5) ... 86s Setting up python3.13-gdbm (3.13.0-2) ... 86s Setting up libpython3-stdlib:ppc64el (3.12.7-1) ... 86s Setting up bpftrace (0.21.2-2ubuntu2) ... 86s Setting up python3 (3.12.7-1) ... 87s Setting up python3-newt:ppc64el (0.52.24-2ubuntu4) ... 87s Setting up libjson-glib-1.0-0:ppc64el (1.10.0+ds-3) ... 87s Setting up python3-bpfcc (0.30.0+ds-1ubuntu5) ... 87s Setting up python3-gdbm:ppc64el (3.12.7-1) ... 87s Setting up bpfcc-tools (0.30.0+ds-1ubuntu5) ... 87s Processing triggers for man-db (2.12.1-3) ... 88s Processing triggers for libc-bin (2.40-1ubuntu3) ... 88s Reading package lists... 88s Building dependency tree... 88s Reading state information... 89s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 89s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 89s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 89s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 89s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 90s Reading package lists... 90s Reading package lists... 91s Building dependency tree... 91s Reading state information... 91s Calculating upgrade... 91s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 91s Reading package lists... 91s Building dependency tree... 91s Reading state information... 92s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 94s autopkgtest [23:05:31]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 13:49:23 UTC 2024 95s autopkgtest [23:05:32]: @@@@@@@@@@@@@@@@@@@@ apt-source python-pgpy 97s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-pgpy 0.6.0-1.2 (dsc) [2386 B] 97s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-pgpy 0.6.0-1.2 (tar) [602 kB] 97s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-pgpy 0.6.0-1.2 (diff) [5284 B] 97s gpgv: Signature made Sun Jun 30 17:46:47 2024 UTC 97s gpgv: using RSA key 8F6DE104377F3B11E741748731F3144544A1741A 97s gpgv: issuer "tchet@debian.org" 97s gpgv: Can't check signature: No public key 97s dpkg-source: warning: cannot verify inline signature for ./python-pgpy_0.6.0-1.2.dsc: no acceptable signature found 97s autopkgtest [23:05:34]: testing package python-pgpy version 0.6.0-1.2 98s autopkgtest [23:05:35]: build not needed 98s autopkgtest [23:05:35]: test pybuild-autopkgtest: preparing testbed 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 100s Starting pkgProblemResolver with broken count: 0 100s Starting 2 pkgProblemResolver with broken count: 0 100s Done 101s The following additional packages will be installed: 101s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 101s cpp-14-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper debugedit 101s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz g++ 101s g++-14 g++-14-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-14 101s gcc-14-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 101s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 101s libffi-dev libfile-stripnondeterminism-perl libgcc-14-dev libgomp1 libisl23 101s libitm1 libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 101s libjs-jquery-metadata libjs-jquery-tablesorter 101s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libjson-perl 101s liblsan0 libmpc3 libpython3.13-minimal libpython3.13-stdlib libquadmath0 101s libstdc++-14-dev libtool libtsan2 libubsan1 m4 pgpdump po-debconf 101s pybuild-plugin-autopkgtest python3-alabaster python3-all python3-coverage 101s python3-defusedxml python3-docutils python3-flake8 python3-flake8-polyfill 101s python3-gpg python3-imagesize python3-iniconfig python3-mccabe 101s python3-packaging python3-pep8-naming python3-pgpy python3-pgpy-doc 101s python3-pluggy python3-progressbar python3-pyasn1 python3-pycodestyle 101s python3-pyflakes python3-pytest python3-pytest-cov python3-roman 101s python3-snowballstemmer python3-sphinx python3-wheel python3.13 101s python3.13-minimal sgml-base sphinx-common xml-core 101s Suggested packages: 101s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-14-locales 101s cpp-14-doc dh-make flit python3-build python3-installer gcc-14-doc 101s gcc-multilib manpages-dev flex bison gdb gcc-doc gdb-powerpc64le-linux-gnu 101s gettext-doc libasprintf-dev libgettextpo-dev libstdc++-14-doc libtool-doc 101s gfortran | fortran95-compiler gcj-jdk m4-doc libmail-box-perl 101s python-coverage-doc docutils-doc fonts-linuxlibertine | ttf-linux-libertine 101s texlive-lang-french texlive-latex-base texlive-latex-recommended 101s python3-stemmer dvipng dvisvgm fonts-freefont-otf imagemagick-6.q16 latexmk 101s libjs-mathjax python3-sphinx-rtd-theme sphinx-doc tex-gyre 101s texlive-fonts-extra texlive-fonts-recommended texlive-latex-extra 101s texlive-plain-generic python3.13-venv python3.13-doc binfmt-support 101s sgml-base-doc 101s Recommended packages: 101s libarchive-cpio-perl javascript-common libjson-xs-perl libltdl-dev 101s libmail-sendmail-perl libpaper-utils python3-pil pyflakes3 101s The following NEW packages will be installed: 101s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 101s cpp cpp-14 cpp-14-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper 101s debugedit dh-autoreconf dh-python dh-strip-nondeterminism docutils-common 101s dwz g++ g++-14 g++-14-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc 101s gcc-14 gcc-14-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 101s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 101s libffi-dev libfile-stripnondeterminism-perl libgcc-14-dev libgomp1 libisl23 101s libitm1 libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 101s libjs-jquery-metadata libjs-jquery-tablesorter 101s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore libjson-perl 101s liblsan0 libmpc3 libpython3.13-minimal libpython3.13-stdlib libquadmath0 101s libstdc++-14-dev libtool libtsan2 libubsan1 m4 pgpdump po-debconf 101s pybuild-plugin-autopkgtest python3-alabaster python3-all python3-coverage 101s python3-defusedxml python3-docutils python3-flake8 python3-flake8-polyfill 101s python3-gpg python3-imagesize python3-iniconfig python3-mccabe 101s python3-packaging python3-pep8-naming python3-pgpy python3-pgpy-doc 101s python3-pluggy python3-progressbar python3-pyasn1 python3-pycodestyle 101s python3-pyflakes python3-pytest python3-pytest-cov python3-roman 101s python3-snowballstemmer python3-sphinx python3-wheel python3.13 101s python3.13-minimal sgml-base sphinx-common xml-core 101s 0 upgraded, 90 newly installed, 0 to remove and 0 not upgraded. 101s Need to get 72.5 MB/72.5 MB of archives. 101s After this operation, 269 MB of additional disk space will be used. 101s Get:1 /tmp/autopkgtest.jnRWUK/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [892 B] 101s Get:2 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-minimal ppc64el 3.13.0-2 [881 kB] 102s Get:3 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13-minimal ppc64el 3.13.0-2 [2302 kB] 102s Get:4 http://ftpmaster.internal/ubuntu plucky/main ppc64el sgml-base all 1.31 [11.4 kB] 102s Get:5 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 102s Get:6 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] 102s Get:7 http://ftpmaster.internal/ubuntu plucky/main ppc64el m4 ppc64el 1.4.19-4build1 [278 kB] 102s Get:8 http://ftpmaster.internal/ubuntu plucky/main ppc64el autoconf all 2.72-3 [382 kB] 102s Get:9 http://ftpmaster.internal/ubuntu plucky/main ppc64el autotools-dev all 20220109.1 [44.9 kB] 102s Get:10 http://ftpmaster.internal/ubuntu plucky/main ppc64el automake all 1:1.16.5-1.3ubuntu1 [558 kB] 102s Get:11 http://ftpmaster.internal/ubuntu plucky/main ppc64el autopoint all 0.22.5-2 [616 kB] 102s Get:12 http://ftpmaster.internal/ubuntu plucky/main ppc64el libisl23 ppc64el 0.27-1 [882 kB] 102s Get:13 http://ftpmaster.internal/ubuntu plucky/main ppc64el libmpc3 ppc64el 1.3.1-1build2 [62.1 kB] 102s Get:14 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-14-powerpc64le-linux-gnu ppc64el 14.2.0-8ubuntu1 [10.5 MB] 102s Get:15 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-14 ppc64el 14.2.0-8ubuntu1 [1034 B] 102s Get:16 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:14.1.0-2ubuntu1 [5456 B] 102s Get:17 http://ftpmaster.internal/ubuntu plucky/main ppc64el cpp ppc64el 4:14.1.0-2ubuntu1 [22.5 kB] 102s Get:18 http://ftpmaster.internal/ubuntu plucky/main ppc64el libcc1-0 ppc64el 14.2.0-8ubuntu1 [48.1 kB] 102s Get:19 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgomp1 ppc64el 14.2.0-8ubuntu1 [161 kB] 102s Get:20 http://ftpmaster.internal/ubuntu plucky/main ppc64el libitm1 ppc64el 14.2.0-8ubuntu1 [31.9 kB] 102s Get:21 http://ftpmaster.internal/ubuntu plucky/main ppc64el libasan8 ppc64el 14.2.0-8ubuntu1 [2945 kB] 102s Get:22 http://ftpmaster.internal/ubuntu plucky/main ppc64el liblsan0 ppc64el 14.2.0-8ubuntu1 [1322 kB] 102s Get:23 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtsan2 ppc64el 14.2.0-8ubuntu1 [2695 kB] 102s Get:24 http://ftpmaster.internal/ubuntu plucky/main ppc64el libubsan1 ppc64el 14.2.0-8ubuntu1 [1191 kB] 102s Get:25 http://ftpmaster.internal/ubuntu plucky/main ppc64el libquadmath0 ppc64el 14.2.0-8ubuntu1 [158 kB] 102s Get:26 http://ftpmaster.internal/ubuntu plucky/main ppc64el libgcc-14-dev ppc64el 14.2.0-8ubuntu1 [1619 kB] 102s Get:27 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-14-powerpc64le-linux-gnu ppc64el 14.2.0-8ubuntu1 [20.6 MB] 102s Get:28 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-14 ppc64el 14.2.0-8ubuntu1 [528 kB] 102s Get:29 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:14.1.0-2ubuntu1 [1222 B] 102s Get:30 http://ftpmaster.internal/ubuntu plucky/main ppc64el gcc ppc64el 4:14.1.0-2ubuntu1 [5006 B] 102s Get:31 http://ftpmaster.internal/ubuntu plucky/main ppc64el libstdc++-14-dev ppc64el 14.2.0-8ubuntu1 [2673 kB] 103s Get:32 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-14-powerpc64le-linux-gnu ppc64el 14.2.0-8ubuntu1 [12.0 MB] 103s Get:33 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-14 ppc64el 14.2.0-8ubuntu1 [19.9 kB] 103s Get:34 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:14.1.0-2ubuntu1 [968 B] 103s Get:35 http://ftpmaster.internal/ubuntu plucky/main ppc64el g++ ppc64el 4:14.1.0-2ubuntu1 [1090 B] 103s Get:36 http://ftpmaster.internal/ubuntu plucky/main ppc64el build-essential ppc64el 12.10ubuntu1 [4936 B] 103s Get:37 http://ftpmaster.internal/ubuntu plucky/main ppc64el libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 103s Get:38 http://ftpmaster.internal/ubuntu plucky/main ppc64el libtool all 2.4.7-7build1 [166 kB] 103s Get:39 http://ftpmaster.internal/ubuntu plucky/main ppc64el dh-autoreconf all 20 [16.1 kB] 103s Get:40 http://ftpmaster.internal/ubuntu plucky/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 103s Get:41 http://ftpmaster.internal/ubuntu plucky/main ppc64el libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 103s Get:42 http://ftpmaster.internal/ubuntu plucky/main ppc64el dh-strip-nondeterminism all 1.14.0-1 [5058 B] 103s Get:43 http://ftpmaster.internal/ubuntu plucky/main ppc64el debugedit ppc64el 1:5.1-1 [52.1 kB] 103s Get:44 http://ftpmaster.internal/ubuntu plucky/main ppc64el dwz ppc64el 0.15-1build6 [142 kB] 103s Get:45 http://ftpmaster.internal/ubuntu plucky/main ppc64el gettext ppc64el 0.22.5-2 [1082 kB] 103s Get:46 http://ftpmaster.internal/ubuntu plucky/main ppc64el intltool-debian all 0.35.0+20060710.6 [23.2 kB] 103s Get:47 http://ftpmaster.internal/ubuntu plucky/main ppc64el po-debconf all 1.0.21+nmu1 [233 kB] 103s Get:48 http://ftpmaster.internal/ubuntu plucky/main ppc64el debhelper all 13.20ubuntu1 [893 kB] 103s Get:49 http://ftpmaster.internal/ubuntu plucky/universe ppc64el dh-python all 6.20241024 [112 kB] 103s Get:50 http://ftpmaster.internal/ubuntu plucky/main ppc64el xml-core all 0.19 [20.3 kB] 103s Get:51 http://ftpmaster.internal/ubuntu plucky/main ppc64el docutils-common all 0.21.2+dfsg-2 [131 kB] 103s Get:52 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-metadata all 12-4 [6582 B] 103s Get:53 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 103s Get:54 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 103s Get:55 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 103s Get:56 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjs-sphinxdoc all 7.4.7-4 [158 kB] 103s Get:57 http://ftpmaster.internal/ubuntu plucky/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 103s Get:58 http://ftpmaster.internal/ubuntu plucky/main ppc64el libpython3.13-stdlib ppc64el 3.13.0-2 [2148 kB] 103s Get:59 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pgpdump ppc64el 0.36-1 [21.7 kB] 103s Get:60 http://ftpmaster.internal/ubuntu plucky/universe ppc64el pybuild-plugin-autopkgtest all 6.20241024 [1746 B] 103s Get:61 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3.13 ppc64el 3.13.0-2 [719 kB] 103s Get:62 http://ftpmaster.internal/ubuntu plucky-proposed/main ppc64el python3-all ppc64el 3.12.7-1 [888 B] 103s Get:63 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-coverage ppc64el 7.4.4+dfsg1-0ubuntu2 [149 kB] 103s Get:64 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-defusedxml all 0.7.1-2 [42.0 kB] 103s Get:65 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-roman all 4.2-1 [10.0 kB] 103s Get:66 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-docutils all 0.21.2+dfsg-2 [409 kB] 103s Get:67 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-mccabe all 0.7.0-1 [8678 B] 103s Get:68 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pycodestyle all 2.11.1-1 [29.9 kB] 103s Get:69 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pyflakes all 3.2.0-1 [52.8 kB] 103s Get:70 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-flake8 all 7.1.1-1 [43.9 kB] 103s Get:71 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-flake8-polyfill all 1.0.2-4 [6868 B] 103s Get:72 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-gpg ppc64el 1.23.2-5ubuntu4 [220 kB] 103s Get:73 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-imagesize all 1.4.1-1 [6844 B] 103s Get:74 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 103s Get:75 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-packaging all 24.1-1 [41.4 kB] 103s Get:76 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pep8-naming all 0.10.0-2 [10.1 kB] 103s Get:77 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-pyasn1 all 0.5.1-1 [57.4 kB] 103s Get:78 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pgpy all 0.6.0-1.2 [68.9 kB] 103s Get:79 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pgpy-doc all 0.6.0-1.2 [61.3 kB] 103s Get:80 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pluggy all 1.5.0-1 [21.0 kB] 103s Get:81 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-progressbar all 2.5-4 [11.0 kB] 103s Get:82 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest all 8.3.3-1 [251 kB] 103s Get:83 http://ftpmaster.internal/ubuntu plucky/universe ppc64el libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 103s Get:84 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-pytest-cov all 5.0.0-1 [21.3 kB] 103s Get:85 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-snowballstemmer all 2.2.0-4build1 [59.8 kB] 103s Get:86 http://ftpmaster.internal/ubuntu plucky/main ppc64el sphinx-common all 7.4.7-4 [775 kB] 103s Get:87 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-alabaster all 0.7.16-0.1 [18.5 kB] 104s Get:88 http://ftpmaster.internal/ubuntu plucky/main ppc64el python3-sphinx all 7.4.7-4 [593 kB] 104s Get:89 http://ftpmaster.internal/ubuntu plucky/universe ppc64el python3-wheel all 0.44.0-1 [54.2 kB] 104s Get:90 http://ftpmaster.internal/ubuntu plucky/main ppc64el libffi-dev ppc64el 3.4.6-1build1 [67.5 kB] 104s Fetched 72.5 MB in 3s (25.5 MB/s) 104s Selecting previously unselected package libpython3.13-minimal:ppc64el. 104s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 73775 files and directories currently installed.) 104s Preparing to unpack .../00-libpython3.13-minimal_3.13.0-2_ppc64el.deb ... 104s Unpacking libpython3.13-minimal:ppc64el (3.13.0-2) ... 104s Selecting previously unselected package python3.13-minimal. 104s Preparing to unpack .../01-python3.13-minimal_3.13.0-2_ppc64el.deb ... 104s Unpacking python3.13-minimal (3.13.0-2) ... 104s Selecting previously unselected package sgml-base. 104s Preparing to unpack .../02-sgml-base_1.31_all.deb ... 104s Unpacking sgml-base (1.31) ... 104s Selecting previously unselected package libjs-jquery. 104s Preparing to unpack .../03-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 104s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 104s Selecting previously unselected package libjs-jquery-hotkeys. 104s Preparing to unpack .../04-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... 104s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 104s Selecting previously unselected package m4. 104s Preparing to unpack .../05-m4_1.4.19-4build1_ppc64el.deb ... 104s Unpacking m4 (1.4.19-4build1) ... 104s Selecting previously unselected package autoconf. 104s Preparing to unpack .../06-autoconf_2.72-3_all.deb ... 104s Unpacking autoconf (2.72-3) ... 104s Selecting previously unselected package autotools-dev. 104s Preparing to unpack .../07-autotools-dev_20220109.1_all.deb ... 104s Unpacking autotools-dev (20220109.1) ... 104s Selecting previously unselected package automake. 104s Preparing to unpack .../08-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 104s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 104s Selecting previously unselected package autopoint. 104s Preparing to unpack .../09-autopoint_0.22.5-2_all.deb ... 104s Unpacking autopoint (0.22.5-2) ... 104s Selecting previously unselected package libisl23:ppc64el. 104s Preparing to unpack .../10-libisl23_0.27-1_ppc64el.deb ... 104s Unpacking libisl23:ppc64el (0.27-1) ... 104s Selecting previously unselected package libmpc3:ppc64el. 104s Preparing to unpack .../11-libmpc3_1.3.1-1build2_ppc64el.deb ... 104s Unpacking libmpc3:ppc64el (1.3.1-1build2) ... 104s Selecting previously unselected package cpp-14-powerpc64le-linux-gnu. 104s Preparing to unpack .../12-cpp-14-powerpc64le-linux-gnu_14.2.0-8ubuntu1_ppc64el.deb ... 104s Unpacking cpp-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package cpp-14. 105s Preparing to unpack .../13-cpp-14_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 105s Preparing to unpack .../14-cpp-powerpc64le-linux-gnu_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 105s Unpacking cpp-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 105s Selecting previously unselected package cpp. 105s Preparing to unpack .../15-cpp_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 105s Unpacking cpp (4:14.1.0-2ubuntu1) ... 105s Selecting previously unselected package libcc1-0:ppc64el. 105s Preparing to unpack .../16-libcc1-0_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libcc1-0:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libgomp1:ppc64el. 105s Preparing to unpack .../17-libgomp1_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libgomp1:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libitm1:ppc64el. 105s Preparing to unpack .../18-libitm1_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libitm1:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libasan8:ppc64el. 105s Preparing to unpack .../19-libasan8_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libasan8:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package liblsan0:ppc64el. 105s Preparing to unpack .../20-liblsan0_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking liblsan0:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libtsan2:ppc64el. 105s Preparing to unpack .../21-libtsan2_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libtsan2:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libubsan1:ppc64el. 105s Preparing to unpack .../22-libubsan1_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libubsan1:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libquadmath0:ppc64el. 105s Preparing to unpack .../23-libquadmath0_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libquadmath0:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package libgcc-14-dev:ppc64el. 105s Preparing to unpack .../24-libgcc-14-dev_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libgcc-14-dev:ppc64el (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package gcc-14-powerpc64le-linux-gnu. 105s Preparing to unpack .../25-gcc-14-powerpc64le-linux-gnu_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking gcc-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package gcc-14. 105s Preparing to unpack .../26-gcc-14_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 105s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 105s Preparing to unpack .../27-gcc-powerpc64le-linux-gnu_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 105s Unpacking gcc-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 105s Selecting previously unselected package gcc. 105s Preparing to unpack .../28-gcc_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 105s Unpacking gcc (4:14.1.0-2ubuntu1) ... 105s Selecting previously unselected package libstdc++-14-dev:ppc64el. 105s Preparing to unpack .../29-libstdc++-14-dev_14.2.0-8ubuntu1_ppc64el.deb ... 105s Unpacking libstdc++-14-dev:ppc64el (14.2.0-8ubuntu1) ... 106s Selecting previously unselected package g++-14-powerpc64le-linux-gnu. 106s Preparing to unpack .../30-g++-14-powerpc64le-linux-gnu_14.2.0-8ubuntu1_ppc64el.deb ... 106s Unpacking g++-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 106s Selecting previously unselected package g++-14. 106s Preparing to unpack .../31-g++-14_14.2.0-8ubuntu1_ppc64el.deb ... 106s Unpacking g++-14 (14.2.0-8ubuntu1) ... 106s Selecting previously unselected package g++-powerpc64le-linux-gnu. 106s Preparing to unpack .../32-g++-powerpc64le-linux-gnu_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 106s Unpacking g++-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 106s Selecting previously unselected package g++. 106s Preparing to unpack .../33-g++_4%3a14.1.0-2ubuntu1_ppc64el.deb ... 106s Unpacking g++ (4:14.1.0-2ubuntu1) ... 106s Selecting previously unselected package build-essential. 106s Preparing to unpack .../34-build-essential_12.10ubuntu1_ppc64el.deb ... 106s Unpacking build-essential (12.10ubuntu1) ... 106s Selecting previously unselected package libdebhelper-perl. 106s Preparing to unpack .../35-libdebhelper-perl_13.20ubuntu1_all.deb ... 106s Unpacking libdebhelper-perl (13.20ubuntu1) ... 106s Selecting previously unselected package libtool. 106s Preparing to unpack .../36-libtool_2.4.7-7build1_all.deb ... 106s Unpacking libtool (2.4.7-7build1) ... 106s Selecting previously unselected package dh-autoreconf. 106s Preparing to unpack .../37-dh-autoreconf_20_all.deb ... 106s Unpacking dh-autoreconf (20) ... 106s Selecting previously unselected package libarchive-zip-perl. 106s Preparing to unpack .../38-libarchive-zip-perl_1.68-1_all.deb ... 106s Unpacking libarchive-zip-perl (1.68-1) ... 106s Selecting previously unselected package libfile-stripnondeterminism-perl. 106s Preparing to unpack .../39-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 106s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 106s Selecting previously unselected package dh-strip-nondeterminism. 106s Preparing to unpack .../40-dh-strip-nondeterminism_1.14.0-1_all.deb ... 106s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 106s Selecting previously unselected package debugedit. 106s Preparing to unpack .../41-debugedit_1%3a5.1-1_ppc64el.deb ... 106s Unpacking debugedit (1:5.1-1) ... 106s Selecting previously unselected package dwz. 106s Preparing to unpack .../42-dwz_0.15-1build6_ppc64el.deb ... 106s Unpacking dwz (0.15-1build6) ... 106s Selecting previously unselected package gettext. 106s Preparing to unpack .../43-gettext_0.22.5-2_ppc64el.deb ... 106s Unpacking gettext (0.22.5-2) ... 106s Selecting previously unselected package intltool-debian. 106s Preparing to unpack .../44-intltool-debian_0.35.0+20060710.6_all.deb ... 106s Unpacking intltool-debian (0.35.0+20060710.6) ... 106s Selecting previously unselected package po-debconf. 106s Preparing to unpack .../45-po-debconf_1.0.21+nmu1_all.deb ... 106s Unpacking po-debconf (1.0.21+nmu1) ... 106s Selecting previously unselected package debhelper. 106s Preparing to unpack .../46-debhelper_13.20ubuntu1_all.deb ... 106s Unpacking debhelper (13.20ubuntu1) ... 106s Selecting previously unselected package dh-python. 106s Preparing to unpack .../47-dh-python_6.20241024_all.deb ... 106s Unpacking dh-python (6.20241024) ... 106s Selecting previously unselected package xml-core. 106s Preparing to unpack .../48-xml-core_0.19_all.deb ... 106s Unpacking xml-core (0.19) ... 106s Selecting previously unselected package docutils-common. 106s Preparing to unpack .../49-docutils-common_0.21.2+dfsg-2_all.deb ... 106s Unpacking docutils-common (0.21.2+dfsg-2) ... 106s Selecting previously unselected package libjs-jquery-metadata. 106s Preparing to unpack .../50-libjs-jquery-metadata_12-4_all.deb ... 106s Unpacking libjs-jquery-metadata (12-4) ... 106s Selecting previously unselected package libjs-jquery-tablesorter. 106s Preparing to unpack .../51-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 106s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 106s Selecting previously unselected package libjs-jquery-throttle-debounce. 106s Preparing to unpack .../52-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 106s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 106s Selecting previously unselected package libjs-underscore. 106s Preparing to unpack .../53-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 106s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 106s Selecting previously unselected package libjs-sphinxdoc. 106s Preparing to unpack .../54-libjs-sphinxdoc_7.4.7-4_all.deb ... 106s Unpacking libjs-sphinxdoc (7.4.7-4) ... 106s Selecting previously unselected package libjson-perl. 106s Preparing to unpack .../55-libjson-perl_4.10000-1_all.deb ... 106s Unpacking libjson-perl (4.10000-1) ... 106s Selecting previously unselected package libpython3.13-stdlib:ppc64el. 106s Preparing to unpack .../56-libpython3.13-stdlib_3.13.0-2_ppc64el.deb ... 106s Unpacking libpython3.13-stdlib:ppc64el (3.13.0-2) ... 107s Selecting previously unselected package pgpdump. 107s Preparing to unpack .../57-pgpdump_0.36-1_ppc64el.deb ... 107s Unpacking pgpdump (0.36-1) ... 107s Selecting previously unselected package pybuild-plugin-autopkgtest. 107s Preparing to unpack .../58-pybuild-plugin-autopkgtest_6.20241024_all.deb ... 107s Unpacking pybuild-plugin-autopkgtest (6.20241024) ... 107s Selecting previously unselected package python3.13. 107s Preparing to unpack .../59-python3.13_3.13.0-2_ppc64el.deb ... 107s Unpacking python3.13 (3.13.0-2) ... 107s Selecting previously unselected package python3-all. 107s Preparing to unpack .../60-python3-all_3.12.7-1_ppc64el.deb ... 107s Unpacking python3-all (3.12.7-1) ... 107s Selecting previously unselected package python3-coverage. 107s Preparing to unpack .../61-python3-coverage_7.4.4+dfsg1-0ubuntu2_ppc64el.deb ... 107s Unpacking python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 107s Selecting previously unselected package python3-defusedxml. 107s Preparing to unpack .../62-python3-defusedxml_0.7.1-2_all.deb ... 107s Unpacking python3-defusedxml (0.7.1-2) ... 107s Selecting previously unselected package python3-roman. 107s Preparing to unpack .../63-python3-roman_4.2-1_all.deb ... 107s Unpacking python3-roman (4.2-1) ... 107s Selecting previously unselected package python3-docutils. 107s Preparing to unpack .../64-python3-docutils_0.21.2+dfsg-2_all.deb ... 107s Unpacking python3-docutils (0.21.2+dfsg-2) ... 107s Selecting previously unselected package python3-mccabe. 107s Preparing to unpack .../65-python3-mccabe_0.7.0-1_all.deb ... 107s Unpacking python3-mccabe (0.7.0-1) ... 107s Selecting previously unselected package python3-pycodestyle. 107s Preparing to unpack .../66-python3-pycodestyle_2.11.1-1_all.deb ... 107s Unpacking python3-pycodestyle (2.11.1-1) ... 107s Selecting previously unselected package python3-pyflakes. 107s Preparing to unpack .../67-python3-pyflakes_3.2.0-1_all.deb ... 107s Unpacking python3-pyflakes (3.2.0-1) ... 107s Selecting previously unselected package python3-flake8. 107s Preparing to unpack .../68-python3-flake8_7.1.1-1_all.deb ... 107s Unpacking python3-flake8 (7.1.1-1) ... 107s Selecting previously unselected package python3-flake8-polyfill. 107s Preparing to unpack .../69-python3-flake8-polyfill_1.0.2-4_all.deb ... 107s Unpacking python3-flake8-polyfill (1.0.2-4) ... 107s Selecting previously unselected package python3-gpg. 107s Preparing to unpack .../70-python3-gpg_1.23.2-5ubuntu4_ppc64el.deb ... 107s Unpacking python3-gpg (1.23.2-5ubuntu4) ... 107s Selecting previously unselected package python3-imagesize. 107s Preparing to unpack .../71-python3-imagesize_1.4.1-1_all.deb ... 107s Unpacking python3-imagesize (1.4.1-1) ... 107s Selecting previously unselected package python3-iniconfig. 107s Preparing to unpack .../72-python3-iniconfig_1.1.1-2_all.deb ... 107s Unpacking python3-iniconfig (1.1.1-2) ... 107s Selecting previously unselected package python3-packaging. 107s Preparing to unpack .../73-python3-packaging_24.1-1_all.deb ... 107s Unpacking python3-packaging (24.1-1) ... 107s Selecting previously unselected package python3-pep8-naming. 107s Preparing to unpack .../74-python3-pep8-naming_0.10.0-2_all.deb ... 107s Unpacking python3-pep8-naming (0.10.0-2) ... 107s Selecting previously unselected package python3-pyasn1. 107s Preparing to unpack .../75-python3-pyasn1_0.5.1-1_all.deb ... 107s Unpacking python3-pyasn1 (0.5.1-1) ... 107s Selecting previously unselected package python3-pgpy. 107s Preparing to unpack .../76-python3-pgpy_0.6.0-1.2_all.deb ... 107s Unpacking python3-pgpy (0.6.0-1.2) ... 107s Selecting previously unselected package python3-pgpy-doc. 107s Preparing to unpack .../77-python3-pgpy-doc_0.6.0-1.2_all.deb ... 107s Unpacking python3-pgpy-doc (0.6.0-1.2) ... 107s Selecting previously unselected package python3-pluggy. 107s Preparing to unpack .../78-python3-pluggy_1.5.0-1_all.deb ... 107s Unpacking python3-pluggy (1.5.0-1) ... 107s Selecting previously unselected package python3-progressbar. 107s Preparing to unpack .../79-python3-progressbar_2.5-4_all.deb ... 107s Unpacking python3-progressbar (2.5-4) ... 107s Selecting previously unselected package python3-pytest. 107s Preparing to unpack .../80-python3-pytest_8.3.3-1_all.deb ... 107s Unpacking python3-pytest (8.3.3-1) ... 107s Selecting previously unselected package libjs-jquery-isonscreen. 107s Preparing to unpack .../81-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 107s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 107s Selecting previously unselected package python3-pytest-cov. 107s Preparing to unpack .../82-python3-pytest-cov_5.0.0-1_all.deb ... 107s Unpacking python3-pytest-cov (5.0.0-1) ... 107s Selecting previously unselected package python3-snowballstemmer. 107s Preparing to unpack .../83-python3-snowballstemmer_2.2.0-4build1_all.deb ... 107s Unpacking python3-snowballstemmer (2.2.0-4build1) ... 107s Selecting previously unselected package sphinx-common. 107s Preparing to unpack .../84-sphinx-common_7.4.7-4_all.deb ... 107s Unpacking sphinx-common (7.4.7-4) ... 107s Selecting previously unselected package python3-alabaster. 107s Preparing to unpack .../85-python3-alabaster_0.7.16-0.1_all.deb ... 107s Unpacking python3-alabaster (0.7.16-0.1) ... 107s Selecting previously unselected package python3-sphinx. 107s Preparing to unpack .../86-python3-sphinx_7.4.7-4_all.deb ... 107s Unpacking python3-sphinx (7.4.7-4) ... 107s Selecting previously unselected package python3-wheel. 107s Preparing to unpack .../87-python3-wheel_0.44.0-1_all.deb ... 107s Unpacking python3-wheel (0.44.0-1) ... 107s Selecting previously unselected package libffi-dev:ppc64el. 107s Preparing to unpack .../88-libffi-dev_3.4.6-1build1_ppc64el.deb ... 107s Unpacking libffi-dev:ppc64el (3.4.6-1build1) ... 108s Selecting previously unselected package autopkgtest-satdep. 108s Preparing to unpack .../89-1-autopkgtest-satdep.deb ... 108s Unpacking autopkgtest-satdep (0) ... 108s Setting up dh-python (6.20241024) ... 108s Setting up python3-iniconfig (1.1.1-2) ... 108s Setting up pgpdump (0.36-1) ... 108s Setting up python3-defusedxml (0.7.1-2) ... 108s Setting up libarchive-zip-perl (1.68-1) ... 108s Setting up python3-alabaster (0.7.16-0.1) ... 108s Setting up libdebhelper-perl (13.20ubuntu1) ... 108s Setting up python3-pyflakes (3.2.0-1) ... 109s Setting up m4 (1.4.19-4build1) ... 109s Setting up python3-coverage (7.4.4+dfsg1-0ubuntu2) ... 109s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 109s Setting up libgomp1:ppc64el (14.2.0-8ubuntu1) ... 109s Setting up libffi-dev:ppc64el (3.4.6-1build1) ... 109s Setting up python3-wheel (0.44.0-1) ... 109s Setting up libpython3.13-minimal:ppc64el (3.13.0-2) ... 109s Setting up python3-progressbar (2.5-4) ... 110s Setting up python3-roman (4.2-1) ... 110s Setting up python3-pycodestyle (2.11.1-1) ... 110s Setting up autotools-dev (20220109.1) ... 110s Setting up python3-packaging (24.1-1) ... 110s Setting up python3-gpg (1.23.2-5ubuntu4) ... 110s Setting up python3-snowballstemmer (2.2.0-4build1) ... 111s Setting up libquadmath0:ppc64el (14.2.0-8ubuntu1) ... 111s Setting up libmpc3:ppc64el (1.3.1-1build2) ... 111s Setting up autopoint (0.22.5-2) ... 111s Setting up autoconf (2.72-3) ... 111s Setting up python3-pluggy (1.5.0-1) ... 111s Setting up libubsan1:ppc64el (14.2.0-8ubuntu1) ... 111s Setting up dwz (0.15-1build6) ... 111s Setting up libasan8:ppc64el (14.2.0-8ubuntu1) ... 111s Setting up libjson-perl (4.10000-1) ... 111s Setting up python3-pgpy-doc (0.6.0-1.2) ... 111s Setting up python3-pyasn1 (0.5.1-1) ... 112s Setting up debugedit (1:5.1-1) ... 112s Setting up python3.13-minimal (3.13.0-2) ... 113s Setting up python3-mccabe (0.7.0-1) ... 113s Setting up sgml-base (1.31) ... 113s Setting up libtsan2:ppc64el (14.2.0-8ubuntu1) ... 113s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 113s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... 113s Setting up libisl23:ppc64el (0.27-1) ... 113s Setting up libpython3.13-stdlib:ppc64el (3.13.0-2) ... 113s Setting up libcc1-0:ppc64el (14.2.0-8ubuntu1) ... 113s Setting up liblsan0:ppc64el (14.2.0-8ubuntu1) ... 113s Setting up libitm1:ppc64el (14.2.0-8ubuntu1) ... 113s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 113s Setting up python3-imagesize (1.4.1-1) ... 113s Setting up automake (1:1.16.5-1.3ubuntu1) ... 113s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 113s Setting up python3-pgpy (0.6.0-1.2) ... 113s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 113s Setting up gettext (0.22.5-2) ... 113s Setting up python3.13 (3.13.0-2) ... 115s Setting up python3-pytest (8.3.3-1) ... 115s Setting up python3-all (3.12.7-1) ... 115s Setting up intltool-debian (0.35.0+20060710.6) ... 115s Setting up python3-flake8 (7.1.1-1) ... 116s Setting up libjs-jquery-metadata (12-4) ... 116s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 116s Setting up cpp-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 116s Setting up libjs-sphinxdoc (7.4.7-4) ... 116s Setting up cpp-14 (14.2.0-8ubuntu1) ... 116s Setting up dh-strip-nondeterminism (1.14.0-1) ... 116s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 116s Setting up xml-core (0.19) ... 116s Setting up python3-flake8-polyfill (1.0.2-4) ... 116s Setting up libgcc-14-dev:ppc64el (14.2.0-8ubuntu1) ... 116s Setting up libstdc++-14-dev:ppc64el (14.2.0-8ubuntu1) ... 116s Setting up cpp-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 116s Setting up gcc-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 116s Setting up g++-14-powerpc64le-linux-gnu (14.2.0-8ubuntu1) ... 116s Setting up python3-pep8-naming (0.10.0-2) ... 116s Setting up po-debconf (1.0.21+nmu1) ... 116s Setting up python3-pytest-cov (5.0.0-1) ... 116s Setting up gcc-14 (14.2.0-8ubuntu1) ... 116s Setting up gcc-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 116s Setting up sphinx-common (7.4.7-4) ... 116s Setting up cpp (4:14.1.0-2ubuntu1) ... 116s Setting up g++-14 (14.2.0-8ubuntu1) ... 116s Setting up g++-powerpc64le-linux-gnu (4:14.1.0-2ubuntu1) ... 116s Setting up libtool (2.4.7-7build1) ... 116s Setting up gcc (4:14.1.0-2ubuntu1) ... 116s Setting up dh-autoreconf (20) ... 117s Setting up g++ (4:14.1.0-2ubuntu1) ... 117s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 117s Setting up build-essential (12.10ubuntu1) ... 117s Setting up debhelper (13.20ubuntu1) ... 117s Setting up pybuild-plugin-autopkgtest (6.20241024) ... 117s Processing triggers for libc-bin (2.40-1ubuntu3) ... 117s Processing triggers for systemd (256.5-2ubuntu4) ... 117s Processing triggers for man-db (2.12.1-3) ... 118s Processing triggers for install-info (7.1.1-1) ... 118s Processing triggers for sgml-base (1.31) ... 118s Setting up docutils-common (0.21.2+dfsg-2) ... 118s Processing triggers for sgml-base (1.31) ... 118s Setting up python3-docutils (0.21.2+dfsg-2) ... 119s Setting up python3-sphinx (7.4.7-4) ... 121s Setting up autopkgtest-satdep (0) ... 125s (Reading database ... 78942 files and directories currently installed.) 125s Removing autopkgtest-satdep (0) ... 125s autopkgtest [23:06:02]: test pybuild-autopkgtest: pybuild-autopkgtest 125s autopkgtest [23:06:02]: test pybuild-autopkgtest: [----------------------- 126s pybuild-autopkgtest 126s I: pybuild base:311: cd /tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build; python3.13 -m pytest tests 126s ImportError while loading conftest '/tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build/tests/conftest.py'. 126s tests/conftest.py:17: in 126s from cryptography.hazmat.backends import openssl 126s /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__init__.py:7: in 126s from cryptography.hazmat.backends.openssl.backend import backend 126s /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/backend.py:12: in 126s from cryptography import utils, x509 126s /usr/lib/python3/dist-packages/cryptography/x509/__init__.py:7: in 126s from cryptography.x509 import certificate_transparency, verification 126s /usr/lib/python3/dist-packages/cryptography/x509/certificate_transparency.py:11: in 126s from cryptography.hazmat.bindings._rust import x509 as rust_x509 126s E ImportError: cannot import name 'x509' from 'cryptography.hazmat.bindings._rust' (unknown location) 126s E: pybuild pybuild:389: test: plugin distutils failed with: exit code=4: cd /tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build; python3.13 -m pytest tests 126s I: pybuild base:311: cd /tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build; python3.12 -m pytest tests 128s == PGPy Test Suite == 128s Working Directory: /tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build 128s Using OpenSSL 3.3.1 128s Using GnuPG 2.4.4 128s 128s ============================= test session starts ============================== 128s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 128s rootdir: /tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build 128s configfile: pyproject.toml 128s plugins: cov-5.0.0, typeguard-4.4.1 128s collected 1106 items 128s 128s tests/test_00_exports.py ............. [ 1%] 128s tests/test_01_packetfields.py .......................................... [ 4%] 128s ........................................................................ [ 11%] 128s ........................................................................ [ 17%] 128s ........................................................................ [ 24%] 128s ........................................................................ [ 31%] 128s .......................................... [ 34%] 128s tests/test_01_types.py ........ [ 35%] 128s tests/test_02_packets.py ............................................... [ 39%] 128s ... [ 40%] 128s tests/test_03_armor.py s................................................ [ 44%] 128s ............................................. [ 48%] 129s tests/test_04_PGP_objects.py ........................................... [ 52%] 129s ...................................... [ 55%] 129s tests/test_04_copy.py ............. [ 57%] 134s tests/test_05_actions.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...... [ 61%] 178s ....FFFFFFxFFFFFFxFFFFFFxFFFFFFxFFFFFFFFFFFF........FFFFFFFF............ [ 67%] 231s FFFFFFxFFFFFFxFFFFFFxFFFFFFxFFFFFFFFs................................... [ 74%] 231s ......................Fssssssssssssxx......x...xx......x...xx......x...x [ 80%] 234s x......x...ssssssssssssss......s...ss......s...ss......s...ss......s...s [ 87%] 237s sssssssssssss......s...ss......s...ss......s...ss......s...... [ 92%] 237s tests/test_10_exceptions.py ............................................ [ 96%] 238s ............. [ 98%] 238s tests/test_99_regressions.py ..................... [100%] 238s 238s =================================== FAILURES =================================== 238s _______________________ TestPGPMessage.test_new[0-False] _______________________ 238s 238s self = 238s comp_alg = , sensitive = False 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:171: in wrapper 238s return _funcwrap(self, *args) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[0-True] ________________________ 238s 238s self = 238s comp_alg = , sensitive = True 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[1-False] _______________________ 238s 238s self = 238s comp_alg = , sensitive = False 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[1-True] ________________________ 238s 238s self = 238s comp_alg = , sensitive = True 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[2-False] _______________________ 238s 238s self = 238s comp_alg = , sensitive = False 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[2-True] ________________________ 238s 238s self = 238s comp_alg = , sensitive = True 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[3-False] _______________________ 238s 238s self = 238s comp_alg = , sensitive = False 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________________ TestPGPMessage.test_new[3-True] ________________________ 238s 238s self = 238s comp_alg = , sensitive = True 238s 238s @pytest.mark.parametrize('comp_alg,sensitive', 238s itertools.product(CompressionAlgorithm, [False, True])) 238s def test_new(self, comp_alg, sensitive): 238s mtxt = u"This is a new message!" 238s msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else '') 238s assert msg.is_sensitive is sensitive 238s assert msg.type == 'literal' 238s assert msg.message == mtxt 238s assert msg._compression == comp_alg 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('utf-8') == mtxt 238s 238s tests/test_05_actions.py:86: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = False 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.1.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.1.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.2.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.2.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.bin] __ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.bin' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] _ 238s 238s self = 238s comp_alg = , sensitive = True 238s path = 'tests/testdata/files/literal.dashesc.txt' 238s 238s @pytest.mark.parametrize('comp_alg,sensitive,path', 238s itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) 238s def test_new_from_file(self, comp_alg, sensitive, path): 238s msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive) 238s 238s assert isinstance(msg, PGPMessage) 238s assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) 238s assert msg.type == 'literal' 238s assert msg.is_sensitive is sensitive 238s 238s if gpg: 238s with open(path, 'rb') as tf: 238s mtxt = tf.read() 238s 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg) == mtxt 238s 238s tests/test_05_actions.py:103: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _____________________ TestPGPMessage.test_new_non_unicode ______________________ 238s 238s self = 238s 238s @pytest.mark.regression(issue=154) 238s # @pytest.mark.parametrize('cleartext', [False, True]) 238s def test_new_non_unicode(self): 238s # this message text comes from http://www.columbia.edu/~fdc/utf8/ 238s text = u'色は匂へど 散りぬるを\n' \ 238s u'我が世誰ぞ 常ならむ\n' \ 238s u'有為の奥山 今日越えて\n' \ 238s u'浅き夢見じ 酔ひもせず' 238s msg = PGPMessage.new(text.encode('jisx0213'), encoding='jisx0213') 238s 238s assert msg.type == 'literal' 238s assert msg.message == text.encode('jisx0213') 238s 238s if gpg: 238s # see if GPG can parse our message 238s > assert self.gpg_message(msg).decode('jisx0213') == text 238s 238s tests/test_05_actions.py:120: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:49: in gpg_message 238s msg, _ = c.verify(gpg.Data(string=str(msg))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440570, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_gen_key[1-2048] __________________ 238s 238s self = 238s alg = , size = 2048 238s 238s @pytest.mark.order(1) 238s @pytest.mark.parametrize('alg,size', pkeyspecs) 238s def test_gen_key(self, alg, size): 238s # create a primary key with a UID 238s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 238s key = PGPKey.new(alg, size) 238s 238s if alg is PubKeyAlgorithm.ECDSA: 238s # ECDSA keys require larger hash digests 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 238s 238s else: 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 238s 238s assert uid in key 238s 238s # self-verify the key 238s assert key.verify(key) 238s self.keys[(alg, size)] = key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:277: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _________________ TestPGPKey_Management.test_gen_key[17-2048] __________________ 238s 238s self = 238s alg = , size = 2048 238s 238s @pytest.mark.order(1) 238s @pytest.mark.parametrize('alg,size', pkeyspecs) 238s def test_gen_key(self, alg, size): 238s # create a primary key with a UID 238s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 238s key = PGPKey.new(alg, size) 238s 238s if alg is PubKeyAlgorithm.ECDSA: 238s # ECDSA keys require larger hash digests 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 238s 238s else: 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 238s 238s assert uid in key 238s 238s # self-verify the key 238s assert key.verify(key) 238s self.keys[(alg, size)] = key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:277: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ______ TestPGPKey_Management.test_gen_key[19-EllipticCurveOID.NIST_P256] _______ 238s 238s self = 238s alg = 238s size = , payload [1.2.840.10045.3.1.7]>> 238s 238s @pytest.mark.order(1) 238s @pytest.mark.parametrize('alg,size', pkeyspecs) 238s def test_gen_key(self, alg, size): 238s # create a primary key with a UID 238s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 238s key = PGPKey.new(alg, size) 238s 238s if alg is PubKeyAlgorithm.ECDSA: 238s # ECDSA keys require larger hash digests 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 238s 238s else: 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 238s 238s assert uid in key 238s 238s # self-verify the key 238s assert key.verify(key) 238s self.keys[(alg, size)] = key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:277: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______ TestPGPKey_Management.test_gen_key[22-EllipticCurveOID.Ed25519] ________ 238s 238s self = 238s alg = 238s size = , payload [1.3.6.1.4.1.11591.15.1]>> 238s 238s @pytest.mark.order(1) 238s @pytest.mark.parametrize('alg,size', pkeyspecs) 238s def test_gen_key(self, alg, size): 238s # create a primary key with a UID 238s uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') 238s key = PGPKey.new(alg, size) 238s 238s if alg is PubKeyAlgorithm.ECDSA: 238s # ECDSA keys require larger hash digests 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA384]) 238s 238s else: 238s key.add_uid(uid, hashes=[HashAlgorithm.SHA224]) 238s 238s assert uid in key 238s 238s # self-verify the key 238s assert key.verify(key) 238s self.keys[(alg, size)] = key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:277: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-DSA-2048] _______ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______ TestPGPKey_Management.test_add_subkey[DSA-RSAEncryptOrSign-2048] _______ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _____________ TestPGPKey_Management.test_add_subkey[DSA-DSA-2048] ______________ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] __ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __ TestPGPKey_Management.test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] ___ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] __ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ______ TestPGPKey_Management.test_add_subkey[ECDSA-RSAEncryptOrSign-2048] ______ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________ TestPGPKey_Management.test_add_subkey[ECDSA-DSA-2048] _____________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] __ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ______ TestPGPKey_Management.test_add_subkey[EdDSA-RSAEncryptOrSign-2048] ______ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________ TestPGPKey_Management.test_add_subkey[EdDSA-DSA-2048] _____________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] __ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_gen_key') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) 238s def test_add_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s key = self.keys[pkspec] 238s subkey = PGPKey.new(*skspec) 238s 238s # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivKeyV4) 238s assert not isinstance(subkey._key, PrivSubKeyV4) 238s 238s key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications}) 238s 238s # now that we've added it, it should be a PrivSubKeyV4 238s assert isinstance(subkey._key, PrivSubKeyV4) 238s 238s # self-verify 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s assert key.verify(subkey) 238s 238s sv = key.verify(key) 238s assert sv 238s assert subkey in sv 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:317: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________________ TestPGPKey_Management.test_add_altuid[1] ___________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_add_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_altuid(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s key = self.keys[pkspec] 238s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 238s 238s expiration = datetime.now(timezone.utc) + timedelta(days=2) 238s 238s # add all of the sbpackets that only work on self-certifications 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(uid, 238s usage=[KeyFlags.Certify, KeyFlags.Sign], 238s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 238s hashes=[HashAlgorithm.SHA384], 238s compression=[CompressionAlgorithm.ZLIB], 238s key_expiration=expiration, 238s keyserver_flags={KeyServerPreferences.NoModify}, 238s keyserver='about:none', 238s primary=False) 238s 238s sig = uid.selfsig 238s 238s assert sig.type == SignatureType.Positive_Cert 238s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 238s assert sig.hashprefs == [HashAlgorithm.SHA384] 238s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 238s assert sig.features == {Features.ModificationDetection} 238s assert sig.key_expiration == expiration - key.created 238s assert sig.keyserver == 'about:none' 238s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 238s 238s assert uid.is_primary is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:358: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_add_altuid[17] ___________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_add_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_altuid(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s key = self.keys[pkspec] 238s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 238s 238s expiration = datetime.now(timezone.utc) + timedelta(days=2) 238s 238s # add all of the sbpackets that only work on self-certifications 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(uid, 238s usage=[KeyFlags.Certify, KeyFlags.Sign], 238s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 238s hashes=[HashAlgorithm.SHA384], 238s compression=[CompressionAlgorithm.ZLIB], 238s key_expiration=expiration, 238s keyserver_flags={KeyServerPreferences.NoModify}, 238s keyserver='about:none', 238s primary=False) 238s 238s sig = uid.selfsig 238s 238s assert sig.type == SignatureType.Positive_Cert 238s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 238s assert sig.hashprefs == [HashAlgorithm.SHA384] 238s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 238s assert sig.features == {Features.ModificationDetection} 238s assert sig.key_expiration == expiration - key.created 238s assert sig.keyserver == 'about:none' 238s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 238s 238s assert uid.is_primary is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:358: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_add_altuid[19] ___________________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s 238s @pytest.mark.order(after='test_add_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_altuid(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s key = self.keys[pkspec] 238s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 238s 238s expiration = datetime.now(timezone.utc) + timedelta(days=2) 238s 238s # add all of the sbpackets that only work on self-certifications 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(uid, 238s usage=[KeyFlags.Certify, KeyFlags.Sign], 238s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 238s hashes=[HashAlgorithm.SHA384], 238s compression=[CompressionAlgorithm.ZLIB], 238s key_expiration=expiration, 238s keyserver_flags={KeyServerPreferences.NoModify}, 238s keyserver='about:none', 238s primary=False) 238s 238s sig = uid.selfsig 238s 238s assert sig.type == SignatureType.Positive_Cert 238s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 238s assert sig.hashprefs == [HashAlgorithm.SHA384] 238s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 238s assert sig.features == {Features.ModificationDetection} 238s assert sig.key_expiration == expiration - key.created 238s assert sig.keyserver == 'about:none' 238s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 238s 238s assert uid.is_primary is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:358: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_add_altuid[22] ___________________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_add_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_altuid(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s key = self.keys[pkspec] 238s uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local') 238s 238s expiration = datetime.now(timezone.utc) + timedelta(days=2) 238s 238s # add all of the sbpackets that only work on self-certifications 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(uid, 238s usage=[KeyFlags.Certify, KeyFlags.Sign], 238s ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], 238s hashes=[HashAlgorithm.SHA384], 238s compression=[CompressionAlgorithm.ZLIB], 238s key_expiration=expiration, 238s keyserver_flags={KeyServerPreferences.NoModify}, 238s keyserver='about:none', 238s primary=False) 238s 238s sig = uid.selfsig 238s 238s assert sig.type == SignatureType.Positive_Cert 238s assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] 238s assert sig.hashprefs == [HashAlgorithm.SHA384] 238s assert sig.compprefs == [CompressionAlgorithm.ZLIB] 238s assert sig.features == {Features.ModificationDetection} 238s assert sig.key_expiration == expiration - key.created 238s assert sig.keyserver == 'about:none' 238s assert sig.keyserverprefs == {KeyServerPreferences.NoModify} 238s 238s assert uid.is_primary is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:358: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________________ TestPGPKey_Management.test_add_photo[1] ____________________ 238s 238s self = 238s pkspec = (, 2048) 238s userphoto = 238s 238s @pytest.mark.order(after='test_add_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_photo(self, pkspec, userphoto): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a photo 238s key = self.keys[pkspec] 238s photo = copy.copy(userphoto) 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(photo) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:375: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________________ TestPGPKey_Management.test_add_photo[17] ___________________ 238s 238s self = 238s pkspec = (, 2048) 238s userphoto = 238s 238s @pytest.mark.order(after='test_add_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_photo(self, pkspec, userphoto): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a photo 238s key = self.keys[pkspec] 238s photo = copy.copy(userphoto) 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(photo) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:375: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________________ TestPGPKey_Management.test_add_photo[19] ___________________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s userphoto = 238s 238s @pytest.mark.order(after='test_add_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_photo(self, pkspec, userphoto): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a photo 238s key = self.keys[pkspec] 238s photo = copy.copy(userphoto) 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(photo) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:375: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________________ TestPGPKey_Management.test_add_photo[22] ___________________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s userphoto = 238s 238s @pytest.mark.order(after='test_add_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_photo(self, pkspec, userphoto): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a photo 238s key = self.keys[pkspec] 238s photo = copy.copy(userphoto) 238s with warnings.catch_warnings(): 238s warnings.simplefilter('ignore') 238s key.add_uid(photo) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:375: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _______________ TestPGPKey_Management.test_add_revocation_key[1] _______________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_remove_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_revocation_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a revocation key 238s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 238s key = self.keys[pkspec] 238s revsig = key.revoker(rev) 238s key |= revsig 238s 238s assert revsig in key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:418: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ______________ TestPGPKey_Management.test_add_revocation_key[17] _______________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_remove_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_revocation_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a revocation key 238s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 238s key = self.keys[pkspec] 238s revsig = key.revoker(rev) 238s key |= revsig 238s 238s assert revsig in key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:418: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ______________ TestPGPKey_Management.test_add_revocation_key[19] _______________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s 238s @pytest.mark.order(after='test_remove_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_revocation_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a revocation key 238s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 238s key = self.keys[pkspec] 238s revsig = key.revoker(rev) 238s key |= revsig 238s 238s assert revsig in key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:418: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ______________ TestPGPKey_Management.test_add_revocation_key[22] _______________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_remove_altuid') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_add_revocation_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a revocation key 238s rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] 238s key = self.keys[pkspec] 238s revsig = key.revoker(rev) 238s key |= revsig 238s 238s assert revsig in key 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:418: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________________ TestPGPKey_Management.test_protect[1] _____________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_add_revocation_key') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_protect(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a passphrase 238s key = self.keys[pkspec] 238s 238s assert key.is_protected is False 238s key.protect('There Are Many Like It, But This Key Is Mine', 238s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 238s 238s assert key.is_protected 238s assert key.is_unlocked is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:438: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________________ TestPGPKey_Management.test_protect[17] ____________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_add_revocation_key') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_protect(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a passphrase 238s key = self.keys[pkspec] 238s 238s assert key.is_protected is False 238s key.protect('There Are Many Like It, But This Key Is Mine', 238s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 238s 238s assert key.is_protected 238s assert key.is_unlocked is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:438: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________________ TestPGPKey_Management.test_protect[19] ____________________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s 238s @pytest.mark.order(after='test_add_revocation_key') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_protect(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a passphrase 238s key = self.keys[pkspec] 238s 238s assert key.is_protected is False 238s key.protect('There Are Many Like It, But This Key Is Mine', 238s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 238s 238s assert key.is_protected 238s assert key.is_unlocked is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:438: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________________ TestPGPKey_Management.test_protect[22] ____________________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_add_revocation_key') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_protect(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # add a passphrase 238s key = self.keys[pkspec] 238s 238s assert key.is_protected is False 238s key.protect('There Are Many Like It, But This Key Is Mine', 238s SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256) 238s 238s assert key.is_protected 238s assert key.is_unlocked is False 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:438: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _________________ TestPGPKey_Management.test_pub_from_spec[1] __________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_unlock2') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_pub_from_spec(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # get the public half of the key 238s priv = self.keys[pkspec] 238s pub = priv.pubkey 238s 238s assert pub.is_public 238s assert pub.fingerprint == priv.fingerprint 238s 238s for skid, subkey in priv.subkeys.items(): 238s assert skid in pub.subkeys 238s assert pub.subkeys[skid].is_public 238s assert len(subkey._key) == len(subkey._key.__bytes__()) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(pub) 238s 238s tests/test_05_actions.py:499: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _________________ TestPGPKey_Management.test_pub_from_spec[17] _________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_unlock2') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_pub_from_spec(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # get the public half of the key 238s priv = self.keys[pkspec] 238s pub = priv.pubkey 238s 238s assert pub.is_public 238s assert pub.fingerprint == priv.fingerprint 238s 238s for skid, subkey in priv.subkeys.items(): 238s assert skid in pub.subkeys 238s assert pub.subkeys[skid].is_public 238s assert len(subkey._key) == len(subkey._key.__bytes__()) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(pub) 238s 238s tests/test_05_actions.py:499: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _________________ TestPGPKey_Management.test_pub_from_spec[19] _________________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s 238s @pytest.mark.order(after='test_unlock2') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_pub_from_spec(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # get the public half of the key 238s priv = self.keys[pkspec] 238s pub = priv.pubkey 238s 238s assert pub.is_public 238s assert pub.fingerprint == priv.fingerprint 238s 238s for skid, subkey in priv.subkeys.items(): 238s assert skid in pub.subkeys 238s assert pub.subkeys[skid].is_public 238s assert len(subkey._key) == len(subkey._key.__bytes__()) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(pub) 238s 238s tests/test_05_actions.py:499: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _________________ TestPGPKey_Management.test_pub_from_spec[22] _________________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_unlock2') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_pub_from_spec(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # get the public half of the key 238s priv = self.keys[pkspec] 238s pub = priv.pubkey 238s 238s assert pub.is_public 238s assert pub.fingerprint == priv.fingerprint 238s 238s for skid, subkey in priv.subkeys.items(): 238s assert skid in pub.subkeys 238s assert pub.subkeys[skid].is_public 238s assert len(subkey._key) == len(subkey._key.__bytes__()) 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(pub) 238s 238s tests/test_05_actions.py:499: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _____ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-DSA-2048] ______ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _____ TestPGPKey_Management.test_revoke_subkey[DSA-RSAEncryptOrSign-2048] ______ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________ TestPGPKey_Management.test_revoke_subkey[DSA-DSA-2048] ____________ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, 2048) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____ TestPGPKey_Management.test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] _____ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________ TestPGPKey_Management.test_revoke_subkey[ECDSA-DSA-2048] ___________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____ TestPGPKey_Management.test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] _____ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________ TestPGPKey_Management.test_revoke_subkey[EdDSA-DSA-2048] ___________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, 2048) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.132.0.10]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] _ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) 238s 238s @pytest.mark.order(after='test_pub_from_spec') 238s @pytest.mark.parametrize('pkspec,skspec', 238s itertools.product(pkeyspecs, skeyspecs), 238s ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in 238s itertools.product(pkeyspecs, skeyspecs)]) 238s def test_revoke_subkey(self, pkspec, skspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s alg, size = skspec 238s if not alg.can_gen: 238s pytest.xfail('Key algorithm {} not yet supported'.format(alg.name)) 238s 238s if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): 238s pytest.xfail('Curve {} not yet supported'.format(size.curve.name)) 238s 238s # revoke the subkey 238s key = self.keys[pkspec] 238s # pub = key.pubkey 238s 238s subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec) 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation) 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s 238s subkey |= rsig 238s 238s # verify with PGPy 238s assert key.verify(subkey, rsig) 238s assert rsig in subkey.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:536: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ___________________ TestPGPKey_Management.test_revoke_key[1] ___________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_revoke_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_revoke_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # revoke the key 238s key = self.keys[pkspec] 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 238s comment="But you're so oooold") 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s key |= rsig 238s 238s # verify with PGPy 238s assert key.verify(key, rsig) 238s assert rsig in key.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:560: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_revoke_key[17] ___________________ 238s 238s self = 238s pkspec = (, 2048) 238s 238s @pytest.mark.order(after='test_revoke_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_revoke_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # revoke the key 238s key = self.keys[pkspec] 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 238s comment="But you're so oooold") 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s key |= rsig 238s 238s # verify with PGPy 238s assert key.verify(key, rsig) 238s assert rsig in key.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:560: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_revoke_key[19] ___________________ 238s 238s self = 238s pkspec = (, , payload [1.2.840.10045.3.1.7]>>) 238s 238s @pytest.mark.order(after='test_revoke_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_revoke_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # revoke the key 238s key = self.keys[pkspec] 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 238s comment="But you're so oooold") 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s key |= rsig 238s 238s # verify with PGPy 238s assert key.verify(key, rsig) 238s assert rsig in key.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:560: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s __________________ TestPGPKey_Management.test_revoke_key[22] ___________________ 238s 238s self = 238s pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) 238s 238s @pytest.mark.order(after='test_revoke_subkey') 238s @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) 238s def test_revoke_key(self, pkspec): 238s if pkspec not in self.keys: 238s pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec)) 238s 238s # revoke the key 238s key = self.keys[pkspec] 238s 238s with key.unlock('This Password Has Been Changed') as ukey: 238s rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, 238s comment="But you're so oooold") 238s 238s assert 'ReasonForRevocation' in rsig._signature.subpackets 238s key |= rsig 238s 238s # verify with PGPy 238s assert key.verify(key, rsig) 238s assert rsig in key.revocation_signatures 238s 238s if gpg: 238s # try to verify with GPG 238s > self.gpg_verify_key(key) 238s 238s tests/test_05_actions.py:560: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:251: in gpg_verify_key 238s data, vres = c.verify(gpg.Data(string=str(key))) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ____________________ TestPGPKey_Actions.test_gpg_import_abe ____________________ 238s 238s self = 238s abe = 238s 238s def test_gpg_import_abe(self, abe): 238s if gpg is None: 238s pytest.skip('integration test') 238s # verify all of the things we did to Abe's key with GnuPG in one fell swoop 238s > self.gpg_verify(abe) 238s 238s tests/test_05_actions.py:906: 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s tests/test_05_actions.py:649: in gpg_verify 238s _, vres = c.verify(*vargs) 238s /usr/lib/python3/dist-packages/gpg/core.py:554: in verify 238s raise e 238s /usr/lib/python3/dist-packages/gpg/core.py:550: in verify 238s self.op_verify(signed_data, None, data) 238s /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap 238s return errorcheck(result, name) 238s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 238s 238s retval = 117440601, extradata = 'gpgme_op_verify' 238s 238s def errorcheck(retval, extradata=None): 238s if retval: 238s > raise GPGMEError(retval, extradata) 238s E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data 238s 238s /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError 238s ----------------------------- Captured stdout call ----------------------------- 238s [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)])] 238s =============================== warnings summary =============================== 238s ../../../../usr/lib/python3/dist-packages/pgpy/constants.py:5 238s /usr/lib/python3/dist-packages/pgpy/constants.py:5: DeprecationWarning: 'imghdr' is deprecated and slated for removal in Python 3.13 238s import imghdr 238s 238s tests/test_01_types.py:50 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=154) 238s 238s tests/test_01_types.py:57 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=154) 238s 238s tests/test_04_PGP_objects.py:114 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=140) 238s 238s tests/test_04_PGP_objects.py:122 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=140) 238s 238s tests/test_05_actions.py:105 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=154) 238s 238s tests/test_05_actions.py:122 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=154) 238s 238s tests/test_05_actions.py:255 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(1) 238s 238s tests/test_05_actions.py:279 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_gen_key') 238s 238s tests/test_05_actions.py:319 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_add_subkey') 238s 238s tests/test_05_actions.py:360 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_add_altuid') 238s 238s tests/test_05_actions.py:377 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_add_photo') 238s 238s tests/test_05_actions.py:390 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_revoke_altuid') 238s 238s tests/test_05_actions.py:402 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_remove_altuid') 238s 238s tests/test_05_actions.py:420 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_add_revocation_key') 238s 238s tests/test_05_actions.py:440 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_protect') 238s 238s tests/test_05_actions.py:455 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_unlock') 238s 238s tests/test_05_actions.py:467 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_change_passphrase') 238s 238s tests/test_05_actions.py:479 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_unlock2') 238s 238s tests/test_05_actions.py:501 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_pub_from_spec') 238s 238s tests/test_05_actions.py:538 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_revoke_subkey') 238s 238s tests/test_05_actions.py:562 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_revoke_key') 238s 238s tests/test_05_actions.py:709 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_sign_string') 238s 238s tests/test_05_actions.py:732 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_sign_message') 238s 238s tests/test_05_actions.py:755 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_sign_ctmessage') 238s 238s tests/test_05_actions.py:773 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_sign_timestamp') 238s 238s tests/test_05_actions.py:798 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_sign_standalone') 238s 238s tests/test_05_actions.py:856 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_certify_uid') 238s 238s tests/test_05_actions.py:873 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_certify_photo') 238s 238s tests/test_05_actions.py:926 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_encrypt_message') 238s 238s tests/test_05_actions.py:950 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.order(after='test_encrypt_message') 238s 238s tests/test_99_regressions.py:18 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=56) 238s 238s tests/test_99_regressions.py:184 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=172) 238s 238s tests/test_99_regressions.py:195 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=183) 238s 238s tests/test_99_regressions.py:256 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(194) 238s 238s tests/test_99_regressions.py:297 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=192) 238s 238s tests/test_99_regressions.py:310 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=199) 238s 238s tests/test_99_regressions.py:316 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=226) 238s 238s tests/test_99_regressions.py:349 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=243) 238s 238s tests/test_99_regressions.py:388 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=291) 238s 238s tests/test_99_regressions.py:433 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression 238s 238s tests/test_99_regressions.py:555 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=341) 238s 238s tests/test_99_regressions.py:587 238s /tmp/autopkgtest.jnRWUK/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 238s @pytest.mark.regression(issue=393) 238s 238s tests/test_01_packetfields.py: 330 warnings 238s tests/test_02_packets.py: 6 warnings 238s tests/test_03_armor.py: 2 warnings 238s tests/test_04_PGP_objects.py: 10 warnings 238s tests/test_05_actions.py: 53 warnings 238s tests/test_10_exceptions.py: 6 warnings 238s tests/test_99_regressions.py: 1 warning 238s /usr/lib/python3/dist-packages/pgpy/constants.py:192: CryptographyDeprecationWarning: IDEA has been deprecated and will be removed in a future release 238s bs = {SymmetricKeyAlgorithm.IDEA: algorithms.IDEA, 238s 238s tests/test_01_packetfields.py: 330 warnings 238s tests/test_02_packets.py: 6 warnings 238s tests/test_03_armor.py: 2 warnings 238s tests/test_04_PGP_objects.py: 10 warnings 238s tests/test_05_actions.py: 53 warnings 238s tests/test_10_exceptions.py: 6 warnings 238s tests/test_99_regressions.py: 1 warning 238s /usr/lib/python3/dist-packages/pgpy/constants.py:194: CryptographyDeprecationWarning: CAST5 has been deprecated and will be removed in a future release 238s SymmetricKeyAlgorithm.CAST5: algorithms.CAST5, 238s 238s tests/test_01_packetfields.py: 330 warnings 238s tests/test_02_packets.py: 6 warnings 238s tests/test_03_armor.py: 2 warnings 238s tests/test_04_PGP_objects.py: 10 warnings 238s tests/test_05_actions.py: 53 warnings 238s tests/test_10_exceptions.py: 6 warnings 238s tests/test_99_regressions.py: 1 warning 238s /usr/lib/python3/dist-packages/pgpy/constants.py:195: CryptographyDeprecationWarning: Blowfish has been deprecated and will be removed in a future release 238s SymmetricKeyAlgorithm.Blowfish: algorithms.Blowfish, 238s 238s tests/test_04_copy.py: 8 warnings 238s tests/test_05_actions.py: 56 warnings 238s tests/test_99_regressions.py: 3 warnings 238s /usr/lib/python3/dist-packages/pgpy/pgp.py:2389: UserWarning: TODO: Self-sigs verification is not yet working because self-sigs are not parsed!!! 238s warnings.warn("TODO: Self-sigs verification is not yet working because self-sigs are not parsed!!!") 238s 238s tests/test_05_actions.py: 56 warnings 238s tests/test_99_regressions.py: 3 warnings 238s /usr/lib/python3/dist-packages/pgpy/pgp.py:2406: UserWarning: TODO: Revocation checks are not yet implemented!!! 238s warnings.warn("TODO: Revocation checks are not yet implemented!!!") 238s 238s tests/test_05_actions.py: 56 warnings 238s tests/test_99_regressions.py: 3 warnings 238s /usr/lib/python3/dist-packages/pgpy/pgp.py:2407: UserWarning: TODO: Flags (s.a. `disabled`) checks are not yet implemented!!! 238s warnings.warn("TODO: Flags (s.a. `disabled`) checks are not yet implemented!!!") 238s 238s tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[dsa.1.sec.asc] 238s /usr/lib/python3/dist-packages/pgpy/pgp.py:1834: UserWarning: Selected hash algorithm not in key preferences 238s uid |= self.certify(uid, SignatureType.Positive_Cert, **prefs) 238s 238s tests/test_99_regressions.py::test_reg_bug_56 238s /usr/lib/python3/dist-packages/pgpy/packet/subpackets/signature.py:233: UserWarning: Passing TZ-naive datetime object to CreationTime subpacket 238s warnings.warn("Passing TZ-naive datetime object to CreationTime subpacket") 238s 238s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 238s =========================== short test summary info ============================ 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-False] - gpg.erro... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-True] - gpg.error... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-False] - gpg.erro... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-True] - gpg.error... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-False] - gpg.erro... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-True] - gpg.error... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-False] - gpg.erro... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-True] - gpg.error... 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.1.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.2.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.bin] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] 238s FAILED tests/test_05_actions.py::TestPGPMessage::test_new_non_unicode - gpg.e... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[1-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[17-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[19-EllipticCurveOID.NIST_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[22-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[1] - ... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[17] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[19] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[22] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[1] - g... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[17] - ... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[19] - ... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[22] - ... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[17] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[19] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[22] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[1] - gpg... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[17] - gp... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[19] - gp... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[22] - gp... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[17] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[19] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[22] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-DSA-2048] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[1] - ... 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[17] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[19] 238s FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[22] 238s FAILED tests/test_05_actions.py::TestPGPKey_Actions::test_gpg_import_abe - gp... 238s = 118 failed, 906 passed, 62 skipped, 20 xfailed, 1454 warnings in 111.35s (0:01:51) = 238s E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /tmp/autopkgtest.jnRWUK/autopkgtest_tmp/build; python3.12 -m pytest tests 238s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 238s make: *** [/tmp/NY2MpSI1Lx/run:4: pybuild-autopkgtest] Error 25 238s pybuild-autopkgtest: error: /tmp/NY2MpSI1Lx/run pybuild-autopkgtest returned exit code 2 239s autopkgtest [23:07:56]: test pybuild-autopkgtest: -----------------------] 239s autopkgtest [23:07:56]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 239s pybuild-autopkgtest FAIL non-zero exit status 25 240s autopkgtest [23:07:57]: @@@@@@@@@@@@@@@@@@@@ summary 240s pybuild-autopkgtest FAIL non-zero exit status 25 251s nova [W] Using flock in prodstack6-ppc64el 251s Creating nova instance adt-plucky-ppc64el-python-pgpy-20241113-230357-juju-7f2275-prod-proposed-migration-environment-15-49229357-ec95-41d9-b86d-3c0fd1b1c0a4 from image adt/ubuntu-plucky-ppc64el-server-20241113.img (UUID 0c5715b6-5cca-4485-b8bf-b85dfd917a5f)...