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