Thu Oct 31 07:51:21 UTC 2024 I: starting to build python-pgpy/trixie/i386 on jenkins on '2024-10-31 07:51' Thu Oct 31 07:51:21 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_18/28808/console.log Thu Oct 31 07:51:21 UTC 2024 I: Downloading source for trixie/python-pgpy=0.6.0-1.3 --2024-10-31 07:51:21-- http://deb.debian.org/debian/pool/main/p/python-pgpy/python-pgpy_0.6.0-1.3.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2361 (2.3K) [text/prs.lines.tag] Saving to: ‘python-pgpy_0.6.0-1.3.dsc’ 0K .. 100% 323M=0s 2024-10-31 07:51:21 (323 MB/s) - ‘python-pgpy_0.6.0-1.3.dsc’ saved [2361/2361] Thu Oct 31 07:51:21 UTC 2024 I: python-pgpy_0.6.0-1.3.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: python-pgpy Binary: python3-pgpy, python3-pgpy-doc Architecture: all Version: 0.6.0-1.3 Maintainer: Daniel Kahn Gillmor Homepage: https://github.com/SecurityInnovation/PGPy Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/debian/pgpy Vcs-Git: https://salsa.debian.org/debian/pgpy.git Testsuite: autopkgtest-pkg-pybuild Build-Depends: debhelper-compat (= 13), dh-python, dpkg-dev (>= 1.17.14), libffi-dev , pgpdump , python3-all (>= 3.2), python3-cryptography (>= 3.3.2), python3-flake8 , python3-gpg (>= 1.9.0-3) , python3-pep8-naming , python3-progressbar , python3-pyasn1, python3-pytest , python3-pytest-cov , python3-setuptools, python3-sphinx , python3-wheel Package-List: python3-pgpy deb python optional arch=all python3-pgpy-doc deb doc optional arch=all Checksums-Sha1: 4da1dd0feef92da9bd0b78a80d22020eb7e2df51 602267 python-pgpy_0.6.0.orig.tar.gz 1e6adc1c7bfd90de6958f78118da114dc6578d4f 5908 python-pgpy_0.6.0-1.3.debian.tar.xz Checksums-Sha256: c13d5bbea07c28fd103d1fb2f0f44b93ae21cf3e0c0666e445e2012a9e79b35b 602267 python-pgpy_0.6.0.orig.tar.gz 25706bdfe5c1ca28c36038b24d3a5f1ecaeaded7e4112e3c985b42d2cd2212c2 5908 python-pgpy_0.6.0-1.3.debian.tar.xz Files: fc39e7ea34a10629fd5bc7294afeb041 602267 python-pgpy_0.6.0.orig.tar.gz 95e587cc4e500fbffc13f5feb4966f45 5908 python-pgpy_0.6.0-1.3.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmbobn8ACgkQM2L3AxpJ kuHN4Q/9HfNHIIuPwC4deoX9IQULNJNStpyjr0NaTY6XDtPdFAbUbA1Nfi0oeg5y uCDNgnZ9O3Jn0bY2IcTzWNMlBbZpmDU2vx5BbIRCTqcUB9iTZaDMLgN99aF70CcB w9hzMC5NfbnG+4pF2FvIfUWUjP/PH8C/867rAKO4N5FFDX0yiTT8DswCE08Adttx GT3DSF+SjtNtk8LW+2EM56jXkTIXoTGs52MQww5YDsicyO2XC8RrEp9jWF3NhMji +wmhtTsgj3JQ7jvkXcBvPbShGc5zqtRnSQhbR9TpssQaa3RR+5hu0FwGq9Jg3ZLN 6/ync3Qz8WlGWVuA03kpbHIJe5B0IESIO/PhYPRFzjznaAxs0YAoHdsbV5mx070Q KdpZkEiv/oau72V00pIdYYhkTjv0AfzDvrUkt5BLC9xPtbaB+IkEtB/gz1OvYt3T ziZWU1jvzDeMvGbZq+ehTOXTOw+jRJ/f5s4QZYRo4a0i9RcAlAqVdRI3tjgIZsv6 Z+Nej4p6QWSkeI01rndlNY/uS+Pjb7jzerEmAA2k+bfcZlsaQNyTUTqZlX6OoiHk FFY5VTyzWg6wJEqhpgy7jOkj2i8i8yXcty7Xyg0Oq3XxAg/kjWpxImVlY9DWe5RT Feh2Iav1aIDo4uIe9Y8LFBsHD1PQeSivXg7G970iqK+71m+US8A= =/5gU -----END PGP SIGNATURE----- Thu Oct 31 07:51:21 UTC 2024 I: Checking whether the package is not for us Thu Oct 31 07:51:21 UTC 2024 I: Starting 1st build on remote node infom08-i386.debian.net. Thu Oct 31 07:51:21 UTC 2024 I: Preparing to do remote build '1' on infom08-i386.debian.net. Thu Oct 31 07:53:58 UTC 2024 I: Deleting $TMPDIR on infom08-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Dec 3 02:14:23 -12 2025 I: pbuilder-time-stamp: 1764771263 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [python-pgpy_0.6.0-1.3.dsc] I: copying [./python-pgpy_0.6.0.orig.tar.gz] I: copying [./python-pgpy_0.6.0-1.3.debian.tar.xz] I: Extracting source gpgv: Signature made Mon Sep 16 17:44:31 2024 gpgv: using RSA key A2520FEA0A8670A661DD8C553362F7031A4992E1 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./python-pgpy_0.6.0-1.3.dsc: no acceptable signature found dpkg-source: info: extracting python-pgpy in python-pgpy-0.6.0 dpkg-source: info: unpacking python-pgpy_0.6.0.orig.tar.gz dpkg-source: info: unpacking python-pgpy_0.6.0-1.3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0008-Avoid-using-the-better-sphinx-theme.patch dpkg-source: info: applying don-t-use-html4_writer-True.patch dpkg-source: info: applying tests-key-size.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2526/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=6 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='0c836dd3561649a49bef6a3888c2ac9c' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2526' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.sag5A3jX/pbuilderrc_HgRi --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.sag5A3jX/b1 --logfile b1/build.log python-pgpy_0.6.0-1.3.dsc' SUDO_GID='111' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' I: uname -a Linux infom08-i386 6.10.11+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.11-1~bpo12+1 (2024-10-03) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2526/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, dpkg-dev (>= 1.17.14), libffi-dev, pgpdump, python3-all (>= 3.2), python3-cryptography (>= 3.3.2), python3-flake8, python3-gpg (>= 1.9.0-3), python3-pep8-naming, python3-progressbar, python3-pyasn1, python3-pytest, python3-pytest-cov, python3-setuptools, python3-sphinx, python3-wheel dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19956 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on libffi-dev; however: Package libffi-dev is not installed. pbuilder-satisfydepends-dummy depends on pgpdump; however: Package pgpdump is not installed. pbuilder-satisfydepends-dummy depends on python3-all (>= 3.2); however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-cryptography (>= 3.3.2); however: Package python3-cryptography is not installed. pbuilder-satisfydepends-dummy depends on python3-flake8; however: Package python3-flake8 is not installed. pbuilder-satisfydepends-dummy depends on python3-gpg (>= 1.9.0-3); however: Package python3-gpg is not installed. pbuilder-satisfydepends-dummy depends on python3-pep8-naming; however: Package python3-pep8-naming is not installed. pbuilder-satisfydepends-dummy depends on python3-progressbar; however: Package python3-progressbar is not installed. pbuilder-satisfydepends-dummy depends on python3-pyasn1; however: Package python3-pyasn1 is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-cov; however: Package python3-pytest-cov is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx; however: Package python3-sphinx is not installed. pbuilder-satisfydepends-dummy depends on python3-wheel; however: Package python3-wheel is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dirmngr{a} docutils-common{a} dwz{a} file{a} gettext{a} gettext-base{a} gnupg{a} gnupg-l10n{a} gpg{a} gpg-agent{a} gpgconf{a} gpgsm{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libassuan9{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi-dev{a} libfile-stripnondeterminism-perl{a} libgpgme11t64{a} libgssapi-krb5-2{a} libicu72{a} libjs-jquery{a} libjs-jquery-hotkeys{a} libjs-jquery-isonscreen{a} libjs-jquery-metadata{a} libjs-jquery-tablesorter{a} libjs-jquery-throttle-debounce{a} libjs-sphinxdoc{a} libjs-underscore{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libksba8{a} libldap-2.5-0{a} libmagic-mgc{a} libmagic1t64{a} libnpth0t64{a} libnsl2{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8t64{a} libsasl2-2{a} libsasl2-modules-db{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} pgpdump{a} pinentry-curses{a} po-debconf{a} python-babel-localedata{a} python3{a} python3-alabaster{a} python3-all{a} python3-autocommand{a} python3-babel{a} python3-bcrypt{a} python3-certifi{a} python3-cffi-backend{a} python3-chardet{a} python3-charset-normalizer{a} python3-coverage{a} python3-cryptography{a} python3-defusedxml{a} python3-docutils{a} python3-flake8{a} python3-flake8-polyfill{a} python3-gpg{a} python3-idna{a} python3-imagesize{a} python3-inflect{a} python3-iniconfig{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jinja2{a} python3-markupsafe{a} python3-mccabe{a} python3-minimal{a} python3-more-itertools{a} python3-packaging{a} python3-pep8-naming{a} python3-pkg-resources{a} python3-pluggy{a} python3-progressbar{a} python3-pyasn1{a} python3-pycodestyle{a} python3-pyflakes{a} python3-pygments{a} python3-pytest{a} python3-pytest-cov{a} python3-requests{a} python3-roman{a} python3-setuptools{a} python3-snowballstemmer{a} python3-sphinx{a} python3-typeguard{a} python3-typing-extensions{a} python3-urllib3{a} python3-wheel{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} sgml-base{a} sphinx-common{a} tzdata{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: curl gnupg-utils gpg-wks-client javascript-common krb5-locales libarchive-cpio-perl libjson-xs-perl libldap-common libltdl-dev libmail-sendmail-perl libpaper-utils libsasl2-modules lynx pyflakes3 python3-pil wget 0 packages upgraded, 132 newly installed, 0 to remove and 0 not upgraded. Need to get 46.6 MB of archives. After unpacking 187 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main i386 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 2 http://deb.debian.org/debian trixie/main i386 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] Get: 3 http://deb.debian.org/debian trixie/main i386 libpython3.12-minimal i386 3.12.6-1 [813 kB] Get: 4 http://deb.debian.org/debian trixie/main i386 libexpat1 i386 2.6.3-2 [107 kB] Get: 5 http://deb.debian.org/debian trixie/main i386 python3.12-minimal i386 3.12.6-1 [2242 kB] Get: 6 http://deb.debian.org/debian trixie/main i386 python3-minimal i386 3.12.6-1 [26.7 kB] Get: 7 http://deb.debian.org/debian trixie/main i386 media-types all 10.1.0 [26.9 kB] Get: 8 http://deb.debian.org/debian trixie/main i386 netbase all 6.4 [12.8 kB] Get: 9 http://deb.debian.org/debian trixie/main i386 tzdata all 2024a-4 [255 kB] Get: 10 http://deb.debian.org/debian trixie/main i386 libkrb5support0 i386 1.21.3-3 [34.9 kB] Get: 11 http://deb.debian.org/debian trixie/main i386 libcom-err2 i386 1.47.1-1+b1 [23.4 kB] Get: 12 http://deb.debian.org/debian trixie/main i386 libk5crypto3 i386 1.21.3-3 [83.6 kB] Get: 13 http://deb.debian.org/debian trixie/main i386 libkeyutils1 i386 1.6.3-4 [9600 B] Get: 14 http://deb.debian.org/debian trixie/main i386 libkrb5-3 i386 1.21.3-3 [350 kB] Get: 15 http://deb.debian.org/debian trixie/main i386 libgssapi-krb5-2 i386 1.21.3-3 [146 kB] Get: 16 http://deb.debian.org/debian trixie/main i386 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 17 http://deb.debian.org/debian trixie/main i386 libtirpc3t64 i386 1.3.4+ds-1.3+b1 [90.5 kB] Get: 18 http://deb.debian.org/debian trixie/main i386 libnsl2 i386 1.3.0-3+b3 [42.7 kB] Get: 19 http://deb.debian.org/debian trixie/main i386 readline-common all 8.2-5 [69.3 kB] Get: 20 http://deb.debian.org/debian trixie/main i386 libreadline8t64 i386 8.2-5 [173 kB] Get: 21 http://deb.debian.org/debian trixie/main i386 libpython3.12-stdlib i386 3.12.6-1 [1961 kB] Get: 22 http://deb.debian.org/debian trixie/main i386 python3.12 i386 3.12.6-1 [669 kB] Get: 23 http://deb.debian.org/debian trixie/main i386 libpython3-stdlib i386 3.12.6-1 [9692 B] Get: 24 http://deb.debian.org/debian trixie/main i386 python3 i386 3.12.6-1 [27.8 kB] Get: 25 http://deb.debian.org/debian trixie/main i386 sgml-base all 1.31 [15.4 kB] Get: 26 http://deb.debian.org/debian trixie/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 27 http://deb.debian.org/debian trixie/main i386 openssl i386 3.3.2-1 [1386 kB] Get: 28 http://deb.debian.org/debian trixie/main i386 ca-certificates all 20240203 [158 kB] Get: 29 http://deb.debian.org/debian trixie/main i386 libmagic-mgc i386 1:5.45-3+b1 [314 kB] Get: 30 http://deb.debian.org/debian trixie/main i386 libmagic1t64 i386 1:5.45-3+b1 [115 kB] Get: 31 http://deb.debian.org/debian trixie/main i386 file i386 1:5.45-3+b1 [43.2 kB] Get: 32 http://deb.debian.org/debian trixie/main i386 gettext-base i386 0.22.5-2 [201 kB] Get: 33 http://deb.debian.org/debian trixie/main i386 libuchardet0 i386 0.0.8-1+b2 [69.2 kB] Get: 34 http://deb.debian.org/debian trixie/main i386 groff-base i386 1.23.0-5 [1196 kB] Get: 35 http://deb.debian.org/debian trixie/main i386 bsdextrautils i386 2.40.2-9 [102 kB] Get: 36 http://deb.debian.org/debian trixie/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 37 http://deb.debian.org/debian trixie/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 38 http://deb.debian.org/debian trixie/main i386 m4 i386 1.4.19-4 [293 kB] Get: 39 http://deb.debian.org/debian trixie/main i386 autoconf all 2.72-3 [493 kB] Get: 40 http://deb.debian.org/debian trixie/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 41 http://deb.debian.org/debian trixie/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 42 http://deb.debian.org/debian trixie/main i386 autopoint all 0.22.5-2 [723 kB] Get: 43 http://deb.debian.org/debian trixie/main i386 libdebhelper-perl all 13.20 [89.7 kB] Get: 44 http://deb.debian.org/debian trixie/main i386 libtool all 2.4.7-7 [517 kB] Get: 45 http://deb.debian.org/debian trixie/main i386 dh-autoreconf all 20 [17.1 kB] Get: 46 http://deb.debian.org/debian trixie/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 47 http://deb.debian.org/debian trixie/main i386 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 48 http://deb.debian.org/debian trixie/main i386 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 49 http://deb.debian.org/debian trixie/main i386 libelf1t64 i386 0.192-4 [195 kB] Get: 50 http://deb.debian.org/debian trixie/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 51 http://deb.debian.org/debian trixie/main i386 libicu72 i386 72.1-5+b1 [9583 kB] Get: 52 http://deb.debian.org/debian trixie/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.1 [733 kB] Get: 53 http://deb.debian.org/debian trixie/main i386 gettext i386 0.22.5-2 [1631 kB] Get: 54 http://deb.debian.org/debian trixie/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 55 http://deb.debian.org/debian trixie/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 56 http://deb.debian.org/debian trixie/main i386 debhelper all 13.20 [915 kB] Get: 57 http://deb.debian.org/debian trixie/main i386 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 58 http://deb.debian.org/debian trixie/main i386 python3-more-itertools all 10.5.0-1 [63.8 kB] Get: 59 http://deb.debian.org/debian trixie/main i386 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 60 http://deb.debian.org/debian trixie/main i386 python3-typeguard all 4.3.0-1 [36.5 kB] Get: 61 http://deb.debian.org/debian trixie/main i386 python3-inflect all 7.3.1-2 [32.4 kB] Get: 62 http://deb.debian.org/debian trixie/main i386 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 63 http://deb.debian.org/debian trixie/main i386 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 64 http://deb.debian.org/debian trixie/main i386 python3-pkg-resources all 74.1.2-2 [213 kB] Get: 65 http://deb.debian.org/debian trixie/main i386 python3-zipp all 3.20.2-1 [10.3 kB] Get: 66 http://deb.debian.org/debian trixie/main i386 python3-setuptools all 74.1.2-2 [736 kB] Get: 67 http://deb.debian.org/debian trixie/main i386 dh-python all 6.20241024 [109 kB] Get: 68 http://deb.debian.org/debian trixie/main i386 libassuan9 i386 3.0.1-2 [62.4 kB] Get: 69 http://deb.debian.org/debian trixie/main i386 gpgconf i386 2.2.44-1 [127 kB] Get: 70 http://deb.debian.org/debian trixie/main i386 libksba8 i386 1.6.7-2+b1 [142 kB] Get: 71 http://deb.debian.org/debian trixie/main i386 libsasl2-modules-db i386 2.1.28+dfsg1-8 [20.6 kB] Get: 72 http://deb.debian.org/debian trixie/main i386 libsasl2-2 i386 2.1.28+dfsg1-8 [61.0 kB] Get: 73 http://deb.debian.org/debian trixie/main i386 libldap-2.5-0 i386 2.5.18+dfsg-3+b1 [200 kB] Get: 74 http://deb.debian.org/debian trixie/main i386 libnpth0t64 i386 1.6-3.1+b1 [18.3 kB] Get: 75 http://deb.debian.org/debian trixie/main i386 dirmngr i386 2.2.44-1 [395 kB] Get: 76 http://deb.debian.org/debian trixie/main i386 xml-core all 0.19 [20.1 kB] Get: 77 http://deb.debian.org/debian trixie/main i386 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 78 http://deb.debian.org/debian trixie/main i386 gnupg-l10n all 2.2.44-1 [700 kB] Get: 79 http://deb.debian.org/debian trixie/main i386 gpg i386 2.2.44-1 [569 kB] Get: 80 http://deb.debian.org/debian trixie/main i386 pinentry-curses i386 1.2.1-4+b1 [80.4 kB] Get: 81 http://deb.debian.org/debian trixie/main i386 gpg-agent i386 2.2.44-1 [268 kB] Get: 82 http://deb.debian.org/debian trixie/main i386 gpgsm i386 2.2.44-1 [273 kB] Get: 83 http://deb.debian.org/debian trixie/main i386 gnupg all 2.2.44-1 [375 kB] Get: 84 http://deb.debian.org/debian trixie/main i386 libffi-dev i386 3.4.6-1 [57.8 kB] Get: 85 http://deb.debian.org/debian trixie/main i386 libgpgme11t64 i386 1.23.2-5 [331 kB] Get: 86 http://deb.debian.org/debian trixie/main i386 libjs-jquery-isonscreen all 1.2.0-1.1 [3196 B] Get: 87 http://deb.debian.org/debian trixie/main i386 libjs-jquery-metadata all 12-4 [6532 B] Get: 88 http://deb.debian.org/debian trixie/main i386 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [184 kB] Get: 89 http://deb.debian.org/debian trixie/main i386 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.2 kB] Get: 90 http://deb.debian.org/debian trixie/main i386 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 91 http://deb.debian.org/debian trixie/main i386 libjs-sphinxdoc all 7.4.7-3 [158 kB] Get: 92 http://deb.debian.org/debian trixie/main i386 libjson-perl all 4.10000-1 [87.5 kB] Get: 93 http://deb.debian.org/debian trixie/main i386 pgpdump i386 0.36-1 [22.4 kB] Get: 94 http://deb.debian.org/debian trixie/main i386 python-babel-localedata all 2.14.0-1 [5701 kB] Get: 95 http://deb.debian.org/debian trixie/main i386 python3-alabaster all 0.7.16-0.1 [27.9 kB] Get: 96 http://deb.debian.org/debian trixie/main i386 python3-all i386 3.12.6-1 [1040 B] Get: 97 http://deb.debian.org/debian trixie/main i386 python3-babel all 2.14.0-1 [111 kB] Get: 98 http://deb.debian.org/debian trixie/main i386 python3-bcrypt i386 4.2.0-2 [222 kB] Get: 99 http://deb.debian.org/debian trixie/main i386 python3-certifi all 2024.8.30+dfsg-1 [9576 B] Get: 100 http://deb.debian.org/debian trixie/main i386 python3-cffi-backend i386 1.17.1-1 [89.9 kB] Get: 101 http://deb.debian.org/debian trixie/main i386 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 102 http://deb.debian.org/debian trixie/main i386 python3-charset-normalizer i386 3.4.0-1 [120 kB] Get: 103 http://deb.debian.org/debian trixie/main i386 python3-coverage i386 7.6.0+dfsg1-2 [175 kB] Get: 104 http://deb.debian.org/debian trixie/main i386 python3-cryptography i386 43.0.0-1 [975 kB] Get: 105 http://deb.debian.org/debian trixie/main i386 python3-defusedxml all 0.7.1-2 [43.3 kB] Get: 106 http://deb.debian.org/debian trixie/main i386 python3-roman all 4.2-1 [10.4 kB] Get: 107 http://deb.debian.org/debian trixie/main i386 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 108 http://deb.debian.org/debian trixie/main i386 python3-mccabe all 0.7.0-1 [10.5 kB] Get: 109 http://deb.debian.org/debian trixie/main i386 python3-pycodestyle all 2.11.1-1 [39.4 kB] Get: 110 http://deb.debian.org/debian trixie/main i386 python3-pyflakes all 3.2.0-1 [57.1 kB] Get: 111 http://deb.debian.org/debian trixie/main i386 python3-flake8 all 7.1.1-1 [56.2 kB] Get: 112 http://deb.debian.org/debian trixie/main i386 python3-flake8-polyfill all 1.0.2-4 [7224 B] Get: 113 http://deb.debian.org/debian trixie/main i386 python3-gpg i386 1.23.2-5 [379 kB] Get: 114 http://deb.debian.org/debian trixie/main i386 python3-idna all 3.8-2 [41.6 kB] Get: 115 http://deb.debian.org/debian trixie/main i386 python3-imagesize all 1.4.1-1 [6688 B] Get: 116 http://deb.debian.org/debian trixie/main i386 python3-iniconfig all 1.1.1-2 [6396 B] Get: 117 http://deb.debian.org/debian trixie/main i386 python3-markupsafe i386 2.1.5-1+b1 [13.7 kB] Get: 118 http://deb.debian.org/debian trixie/main i386 python3-jinja2 all 3.1.3-1 [119 kB] Get: 119 http://deb.debian.org/debian trixie/main i386 python3-packaging all 24.1-1 [45.8 kB] Get: 120 http://deb.debian.org/debian trixie/main i386 python3-pep8-naming all 0.10.0-2 [11.9 kB] Get: 121 http://deb.debian.org/debian trixie/main i386 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 122 http://deb.debian.org/debian trixie/main i386 python3-progressbar all 2.5-4 [10.8 kB] Get: 123 http://deb.debian.org/debian trixie/main i386 python3-pyasn1 all 0.6.0-1 [70.0 kB] Get: 124 http://deb.debian.org/debian trixie/main i386 python3-pygments all 2.18.0+dfsg-1 [836 kB] Get: 125 http://deb.debian.org/debian trixie/main i386 python3-pytest all 8.3.3-1 [249 kB] Get: 126 http://deb.debian.org/debian trixie/main i386 python3-pytest-cov all 5.0.0-1 [26.8 kB] Get: 127 http://deb.debian.org/debian trixie/main i386 python3-urllib3 all 2.0.7-2 [111 kB] Get: 128 http://deb.debian.org/debian trixie/main i386 python3-requests all 2.32.3+dfsg-1 [71.9 kB] Get: 129 http://deb.debian.org/debian trixie/main i386 python3-snowballstemmer all 2.2.0-4 [58.0 kB] Get: 130 http://deb.debian.org/debian trixie/main i386 sphinx-common all 7.4.7-3 [731 kB] Get: 131 http://deb.debian.org/debian trixie/main i386 python3-sphinx all 7.4.7-3 [588 kB] Get: 132 http://deb.debian.org/debian trixie/main i386 python3-wheel all 0.44.0-2 [53.4 kB] Fetched 46.6 MB in 1s (38.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libjs-jquery. (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 ... 19956 files and directories currently installed.) Preparing to unpack .../libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-jquery-hotkeys. Preparing to unpack .../libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... Selecting previously unselected package libpython3.12-minimal:i386. Preparing to unpack .../libpython3.12-minimal_3.12.6-1_i386.deb ... Unpacking libpython3.12-minimal:i386 (3.12.6-1) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.6.3-2_i386.deb ... Unpacking libexpat1:i386 (2.6.3-2) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../python3.12-minimal_3.12.6-1_i386.deb ... Unpacking python3.12-minimal (3.12.6-1) ... Setting up libpython3.12-minimal:i386 (3.12.6-1) ... Setting up libexpat1:i386 (2.6.3-2) ... Setting up python3.12-minimal (3.12.6-1) ... Selecting previously unselected package python3-minimal. (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 ... 20302 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.6-1_i386.deb ... Unpacking python3-minimal (3.12.6-1) ... Selecting previously unselected package media-types. Preparing to unpack .../01-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../02-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../03-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../04-libkrb5support0_1.21.3-3_i386.deb ... Unpacking libkrb5support0:i386 (1.21.3-3) ... Selecting previously unselected package libcom-err2:i386. Preparing to unpack .../05-libcom-err2_1.47.1-1+b1_i386.deb ... Unpacking libcom-err2:i386 (1.47.1-1+b1) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../06-libk5crypto3_1.21.3-3_i386.deb ... Unpacking libk5crypto3:i386 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../07-libkeyutils1_1.6.3-4_i386.deb ... Unpacking libkeyutils1:i386 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../08-libkrb5-3_1.21.3-3_i386.deb ... Unpacking libkrb5-3:i386 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.21.3-3) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../10-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:i386. Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3+b1_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3 to /lib/i386-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/i386-linux-gnu/libtirpc.so.3.0.0 to /lib/i386-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:i386 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:i386. Preparing to unpack .../12-libnsl2_1.3.0-3+b3_i386.deb ... Unpacking libnsl2:i386 (1.3.0-3+b3) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_8.2-5_all.deb ... Unpacking readline-common (8.2-5) ... Selecting previously unselected package libreadline8t64:i386. Preparing to unpack .../14-libreadline8t64_8.2-5_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8 to /lib/i386-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8.2 to /lib/i386-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8 to /lib/i386-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8.2 to /lib/i386-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:i386 (8.2-5) ... Selecting previously unselected package libpython3.12-stdlib:i386. Preparing to unpack .../15-libpython3.12-stdlib_3.12.6-1_i386.deb ... Unpacking libpython3.12-stdlib:i386 (3.12.6-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../16-python3.12_3.12.6-1_i386.deb ... Unpacking python3.12 (3.12.6-1) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../17-libpython3-stdlib_3.12.6-1_i386.deb ... Unpacking libpython3-stdlib:i386 (3.12.6-1) ... Setting up python3-minimal (3.12.6-1) ... Selecting previously unselected package python3. (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 ... 21376 files and directories currently installed.) Preparing to unpack .../000-python3_3.12.6-1_i386.deb ... Unpacking python3 (3.12.6-1) ... Selecting previously unselected package sgml-base. Preparing to unpack .../001-sgml-base_1.31_all.deb ... Unpacking sgml-base (1.31) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../002-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../003-openssl_3.3.2-1_i386.deb ... Unpacking openssl (3.3.2-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../004-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../005-libmagic-mgc_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../006-libmagic1t64_1%3a5.45-3+b1_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../007-file_1%3a5.45-3+b1_i386.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../008-gettext-base_0.22.5-2_i386.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../009-libuchardet0_0.0.8-1+b2_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../010-groff-base_1.23.0-5_i386.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../011-bsdextrautils_2.40.2-9_i386.deb ... Unpacking bsdextrautils (2.40.2-9) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../012-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../013-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../014-m4_1.4.19-4_i386.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../015-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../016-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../017-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../018-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../019-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../020-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../021-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../022-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../023-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../024-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../025-libelf1t64_0.192-4_i386.deb ... Unpacking libelf1t64:i386 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../026-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../027-libicu72_72.1-5+b1_i386.deb ... Unpacking libicu72:i386 (72.1-5+b1) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../028-libxml2_2.12.7+dfsg+really2.9.14-0.1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../029-gettext_0.22.5-2_i386.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../030-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../031-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../032-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../033-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../034-python3-more-itertools_10.5.0-1_all.deb ... Unpacking python3-more-itertools (10.5.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../035-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../036-python3-typeguard_4.3.0-1_all.deb ... Unpacking python3-typeguard (4.3.0-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../037-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../038-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../039-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../040-python3-pkg-resources_74.1.2-2_all.deb ... Unpacking python3-pkg-resources (74.1.2-2) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../041-python3-zipp_3.20.2-1_all.deb ... Unpacking python3-zipp (3.20.2-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../042-python3-setuptools_74.1.2-2_all.deb ... Unpacking python3-setuptools (74.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../043-dh-python_6.20241024_all.deb ... Unpacking dh-python (6.20241024) ... Selecting previously unselected package libassuan9:i386. Preparing to unpack .../044-libassuan9_3.0.1-2_i386.deb ... Unpacking libassuan9:i386 (3.0.1-2) ... Selecting previously unselected package gpgconf. Preparing to unpack .../045-gpgconf_2.2.44-1_i386.deb ... Unpacking gpgconf (2.2.44-1) ... Selecting previously unselected package libksba8:i386. Preparing to unpack .../046-libksba8_1.6.7-2+b1_i386.deb ... Unpacking libksba8:i386 (1.6.7-2+b1) ... Selecting previously unselected package libsasl2-modules-db:i386. Preparing to unpack .../047-libsasl2-modules-db_2.1.28+dfsg1-8_i386.deb ... Unpacking libsasl2-modules-db:i386 (2.1.28+dfsg1-8) ... Selecting previously unselected package libsasl2-2:i386. Preparing to unpack .../048-libsasl2-2_2.1.28+dfsg1-8_i386.deb ... Unpacking libsasl2-2:i386 (2.1.28+dfsg1-8) ... Selecting previously unselected package libldap-2.5-0:i386. Preparing to unpack .../049-libldap-2.5-0_2.5.18+dfsg-3+b1_i386.deb ... Unpacking libldap-2.5-0:i386 (2.5.18+dfsg-3+b1) ... Selecting previously unselected package libnpth0t64:i386. Preparing to unpack .../050-libnpth0t64_1.6-3.1+b1_i386.deb ... Unpacking libnpth0t64:i386 (1.6-3.1+b1) ... Selecting previously unselected package dirmngr. Preparing to unpack .../051-dirmngr_2.2.44-1_i386.deb ... Unpacking dirmngr (2.2.44-1) ... Selecting previously unselected package xml-core. Preparing to unpack .../052-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../053-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package gnupg-l10n. Preparing to unpack .../054-gnupg-l10n_2.2.44-1_all.deb ... Unpacking gnupg-l10n (2.2.44-1) ... Selecting previously unselected package gpg. Preparing to unpack .../055-gpg_2.2.44-1_i386.deb ... Unpacking gpg (2.2.44-1) ... Selecting previously unselected package pinentry-curses. Preparing to unpack .../056-pinentry-curses_1.2.1-4+b1_i386.deb ... Unpacking pinentry-curses (1.2.1-4+b1) ... Selecting previously unselected package gpg-agent. Preparing to unpack .../057-gpg-agent_2.2.44-1_i386.deb ... Unpacking gpg-agent (2.2.44-1) ... Selecting previously unselected package gpgsm. Preparing to unpack .../058-gpgsm_2.2.44-1_i386.deb ... Unpacking gpgsm (2.2.44-1) ... Selecting previously unselected package gnupg. Preparing to unpack .../059-gnupg_2.2.44-1_all.deb ... Unpacking gnupg (2.2.44-1) ... Selecting previously unselected package libffi-dev:i386. Preparing to unpack .../060-libffi-dev_3.4.6-1_i386.deb ... Unpacking libffi-dev:i386 (3.4.6-1) ... Selecting previously unselected package libgpgme11t64:i386. Preparing to unpack .../061-libgpgme11t64_1.23.2-5_i386.deb ... Unpacking libgpgme11t64:i386 (1.23.2-5) ... Selecting previously unselected package libjs-jquery-isonscreen. Preparing to unpack .../062-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... Selecting previously unselected package libjs-jquery-metadata. Preparing to unpack .../063-libjs-jquery-metadata_12-4_all.deb ... Unpacking libjs-jquery-metadata (12-4) ... Selecting previously unselected package libjs-jquery-tablesorter. Preparing to unpack .../064-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Selecting previously unselected package libjs-jquery-throttle-debounce. Preparing to unpack .../065-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../066-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../067-libjs-sphinxdoc_7.4.7-3_all.deb ... Unpacking libjs-sphinxdoc (7.4.7-3) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../068-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package pgpdump. Preparing to unpack .../069-pgpdump_0.36-1_i386.deb ... Unpacking pgpdump (0.36-1) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../070-python-babel-localedata_2.14.0-1_all.deb ... Unpacking python-babel-localedata (2.14.0-1) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../071-python3-alabaster_0.7.16-0.1_all.deb ... Unpacking python3-alabaster (0.7.16-0.1) ... Selecting previously unselected package python3-all. Preparing to unpack .../072-python3-all_3.12.6-1_i386.deb ... Unpacking python3-all (3.12.6-1) ... Selecting previously unselected package python3-babel. Preparing to unpack .../073-python3-babel_2.14.0-1_all.deb ... Unpacking python3-babel (2.14.0-1) ... Selecting previously unselected package python3-bcrypt. Preparing to unpack .../074-python3-bcrypt_4.2.0-2_i386.deb ... Unpacking python3-bcrypt (4.2.0-2) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../075-python3-certifi_2024.8.30+dfsg-1_all.deb ... Unpacking python3-certifi (2024.8.30+dfsg-1) ... Selecting previously unselected package python3-cffi-backend:i386. Preparing to unpack .../076-python3-cffi-backend_1.17.1-1_i386.deb ... Unpacking python3-cffi-backend:i386 (1.17.1-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../077-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../078-python3-charset-normalizer_3.4.0-1_i386.deb ... Unpacking python3-charset-normalizer (3.4.0-1) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../079-python3-coverage_7.6.0+dfsg1-2_i386.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../080-python3-cryptography_43.0.0-1_i386.deb ... Unpacking python3-cryptography (43.0.0-1) ... Selecting previously unselected package python3-defusedxml. Preparing to unpack .../081-python3-defusedxml_0.7.1-2_all.deb ... Unpacking python3-defusedxml (0.7.1-2) ... Selecting previously unselected package python3-roman. Preparing to unpack .../082-python3-roman_4.2-1_all.deb ... Unpacking python3-roman (4.2-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../083-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-mccabe. Preparing to unpack .../084-python3-mccabe_0.7.0-1_all.deb ... Unpacking python3-mccabe (0.7.0-1) ... Selecting previously unselected package python3-pycodestyle. Preparing to unpack .../085-python3-pycodestyle_2.11.1-1_all.deb ... Unpacking python3-pycodestyle (2.11.1-1) ... Selecting previously unselected package python3-pyflakes. Preparing to unpack .../086-python3-pyflakes_3.2.0-1_all.deb ... Unpacking python3-pyflakes (3.2.0-1) ... Selecting previously unselected package python3-flake8. Preparing to unpack .../087-python3-flake8_7.1.1-1_all.deb ... Unpacking python3-flake8 (7.1.1-1) ... Selecting previously unselected package python3-flake8-polyfill. Preparing to unpack .../088-python3-flake8-polyfill_1.0.2-4_all.deb ... Unpacking python3-flake8-polyfill (1.0.2-4) ... Selecting previously unselected package python3-gpg. Preparing to unpack .../089-python3-gpg_1.23.2-5_i386.deb ... Unpacking python3-gpg (1.23.2-5) ... Selecting previously unselected package python3-idna. Preparing to unpack .../090-python3-idna_3.8-2_all.deb ... Unpacking python3-idna (3.8-2) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../091-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../092-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../093-python3-markupsafe_2.1.5-1+b1_i386.deb ... Unpacking python3-markupsafe (2.1.5-1+b1) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../094-python3-jinja2_3.1.3-1_all.deb ... Unpacking python3-jinja2 (3.1.3-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../095-python3-packaging_24.1-1_all.deb ... Unpacking python3-packaging (24.1-1) ... Selecting previously unselected package python3-pep8-naming. Preparing to unpack .../096-python3-pep8-naming_0.10.0-2_all.deb ... Unpacking python3-pep8-naming (0.10.0-2) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../097-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-progressbar. Preparing to unpack .../098-python3-progressbar_2.5-4_all.deb ... Unpacking python3-progressbar (2.5-4) ... Selecting previously unselected package python3-pyasn1. Preparing to unpack .../099-python3-pyasn1_0.6.0-1_all.deb ... Unpacking python3-pyasn1 (0.6.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../100-python3-pygments_2.18.0+dfsg-1_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../101-python3-pytest_8.3.3-1_all.deb ... Unpacking python3-pytest (8.3.3-1) ... Selecting previously unselected package python3-pytest-cov. Preparing to unpack .../102-python3-pytest-cov_5.0.0-1_all.deb ... Unpacking python3-pytest-cov (5.0.0-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../103-python3-urllib3_2.0.7-2_all.deb ... Unpacking python3-urllib3 (2.0.7-2) ... Selecting previously unselected package python3-requests. Preparing to unpack .../104-python3-requests_2.32.3+dfsg-1_all.deb ... Unpacking python3-requests (2.32.3+dfsg-1) ... Selecting previously unselected package python3-snowballstemmer. Preparing to unpack .../105-python3-snowballstemmer_2.2.0-4_all.deb ... Unpacking python3-snowballstemmer (2.2.0-4) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../106-sphinx-common_7.4.7-3_all.deb ... Unpacking sphinx-common (7.4.7-3) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../107-python3-sphinx_7.4.7-3_all.deb ... Unpacking python3-sphinx (7.4.7-3) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../108-python3-wheel_0.44.0-2_all.deb ... Unpacking python3-wheel (0.44.0-2) ... Setting up libksba8:i386 (1.6.7-2+b1) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up pgpdump (0.36-1) ... Setting up libnpth0t64:i386 (1.6-3.1+b1) ... Setting up libkeyutils1:i386 (1.6.3-4) ... Setting up libicu72:i386 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-9) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:i386 (1:5.45-3+b1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libcom-err2:i386 (1.47.1-1+b1) ... Setting up file (1:5.45-3+b1) ... Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Setting up libffi-dev:i386 (3.4.6-1) ... Setting up libelf1t64:i386 (0.192-4) ... Setting up python-babel-localedata (2.14.0-1) ... Setting up libkrb5support0:i386 (1.21.3-3) ... Setting up libsasl2-modules-db:i386 (2.1.28+dfsg1-8) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Wed Dec 3 14:14:52 UTC 2025. Universal Time is now: Wed Dec 3 14:14:52 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up gnupg-l10n (2.2.44-1) ... Setting up autopoint (0.22.5-2) ... Setting up libk5crypto3:i386 (1.21.3-3) ... Setting up libsasl2-2:i386 (2.1.28+dfsg1-8) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:i386 (0.0.8-1+b2) ... Setting up libassuan9:i386 (3.0.1-2) ... Setting up libjson-perl (4.10000-1) ... Setting up netbase (6.4) ... Setting up sgml-base (1.31) ... Setting up libkrb5-3:i386 (1.21.3-3) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... Setting up openssl (3.3.2-1) ... Setting up readline-common (8.2-5) ... Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up pinentry-curses (1.2.1-4+b1) ... Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up gettext (0.22.5-2) ... Setting up libtool (2.4.7-7) ... Setting up libldap-2.5-0:i386 (2.5.18+dfsg-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libjs-jquery-metadata (12-4) ... Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... Setting up libgssapi-krb5-2:i386 (1.21.3-3) ... Setting up libjs-sphinxdoc (7.4.7-3) ... Setting up libreadline8t64:i386 (8.2-5) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Setting up groff-base (1.23.0-5) ... Setting up xml-core (0.19) ... Setting up gpgconf (2.2.44-1) ... Setting up gpg (2.2.44-1) ... Setting up gpg-agent (2.2.44-1) ... Setting up libtirpc3t64:i386 (1.3.4+ds-1.3+b1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up gpgsm (2.2.44-1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up dirmngr (2.2.44-1) ... Setting up sphinx-common (7.4.7-3) ... Setting up libnsl2:i386 (1.3.0-3+b3) ... Setting up gnupg (2.2.44-1) ... Setting up libgpgme11t64:i386 (1.23.2-5) ... Setting up libpython3.12-stdlib:i386 (3.12.6-1) ... Setting up python3.12 (3.12.6-1) ... Setting up debhelper (13.20) ... Setting up libpython3-stdlib:i386 (3.12.6-1) ... Setting up python3 (3.12.6-1) ... Setting up python3-zipp (3.20.2-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up python3-markupsafe (2.1.5-1+b1) ... Setting up python3-wheel (0.44.0-2) ... Setting up python3-progressbar (2.5-4) ... Setting up python3-roman (4.2-1) ... Setting up python3-pycodestyle (2.11.1-1) ... Setting up python3-jinja2 (3.1.3-1) ... Setting up python3-packaging (24.1-1) ... Setting up python3-gpg (1.23.2-5) ... Setting up python3-certifi (2024.8.30+dfsg-1) ... Setting up python3-snowballstemmer (2.2.0-4) ... Setting up python3-idna (3.8-2) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-urllib3 (2.0.7-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-pyasn1 (0.6.0-1) ... Setting up python3-mccabe (0.7.0-1) ... Setting up python3-cffi-backend:i386 (1.17.1-1) ... Setting up python3-imagesize (1.4.1-1) ... Setting up python3-more-itertools (10.5.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-defusedxml (0.7.1-2) ... Setting up python3-charset-normalizer (3.4.0-1) ... Setting up python3-pytest (8.3.3-1) ... Setting up python3-alabaster (0.7.16-0.1) ... Setting up python3-bcrypt (4.2.0-2) ... Setting up python3-typeguard (4.3.0-1) ... Setting up python3-all (3.12.6-1) ... Setting up python3-coverage (7.6.0+dfsg1-2) ... Setting up python3-pytest-cov (5.0.0-1) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-cryptography (43.0.0-1) ... Setting up python3-pkg-resources (74.1.2-2) ... Setting up python3-setuptools (74.1.2-2) ... Setting up python3-babel (2.14.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-pyflakes (3.2.0-1) ... Setting up python3-flake8 (7.1.1-1) ... Setting up python3-pygments (2.18.0+dfsg-1) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up python3-requests (2.32.3+dfsg-1) ... Setting up python3-flake8-polyfill (1.0.2-4) ... Setting up dh-python (6.20241024) ... Setting up python3-pep8-naming (0.10.0-2) ... Processing triggers for libc-bin (2.40-3) ... Processing triggers for sgml-base (1.31) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-sphinx (7.4.7-3) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/python-pgpy-0.6.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-pgpy_0.6.0-1.3_source.changes dpkg-buildpackage: info: source package python-pgpy dpkg-buildpackage: info: source version 0.6.0-1.3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Andrey Rakhmatullin dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean --with python3 --buildsystem pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean running clean removing '/build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build' (and everything under it) 'build/bdist.linux-i686' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config running config debian/rules override_dh_auto_build-indep make[1]: Entering directory '/build/reproducible-path/python-pgpy-0.6.0' dh_auto_build -O=--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3 setup.py build running build running build_py creating /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/pgp.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/types.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/symenc.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/errors.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/constants.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/__init__.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/decorators.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy copying pgpy/_curves.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy creating /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet copying pgpy/packet/types.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet copying pgpy/packet/packets.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet copying pgpy/packet/__init__.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet copying pgpy/packet/fields.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet creating /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet/subpackets copying pgpy/packet/subpackets/types.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet/subpackets copying pgpy/packet/subpackets/userattribute.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet/subpackets copying pgpy/packet/subpackets/__init__.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet/subpackets copying pgpy/packet/subpackets/signature.py -> /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet/subpackets make -C docs html make[2]: Entering directory '/build/reproducible-path/python-pgpy-0.6.0/docs' sphinx-build -b html -d build/doctrees source build/html Running Sphinx v7.4.7 /build/reproducible-path/python-pgpy-0.6.0/docs/source/conf.py:27: SetuptoolsDeprecationWarning: Deprecated API usage. !! ******************************************************************************** As setuptools moves its configuration towards `pyproject.toml`, `setuptools.config.read_configuration` became deprecated. For the time being, you can use the `setuptools.config.setupcfg` module to access a backward compatible API, but this module is provisional and might be removed in the future. To read project metadata, consider using ``build.util.project_wheel_metadata`` (https://pypi.org/project/build/). For simple scenarios, you can also try parsing the file directly with the help of ``configparser``. ******************************************************************************** !! __version__ = read_configuration(os.path.join('..', '..', 'setup.cfg'))['metadata']['version'] loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. [autosummary] generating autosummary for: api.rst, changelog.rst, examples.rst, index.rst, installation.rst, progress.rst building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 6 source files that are out of date updating environment: [new config] 6 added, 0 changed, 0 removed reading sources... [ 17%] api reading sources... [ 33%] changelog reading sources... [ 50%] examples reading sources... [ 67%] index reading sources... [ 83%] installation reading sources... [100%] progress source/api/exceptions.rst:24: WARNING: Title underline too short. :py:class:`PGPOpenSSLCipherNotSupportedError` ---------------------------------------- source/api/exceptions.rst:24: WARNING: Title underline too short. :py:class:`PGPOpenSSLCipherNotSupportedError` ---------------------------------------- source/api/exceptions.rst:29: WARNING: Title underline too short. :py:class:`PGPInsecureCipherError` ----------------------------- source/api/exceptions.rst:29: WARNING: Title underline too short. :py:class:`PGPInsecureCipherError` ----------------------------- /build/reproducible-path/python-pgpy-0.6.0/docs/source/changelog.rst:12: ERROR: Content block expected for the "note" directive; none found. looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... done copying extra files... done copying assets: done writing output... [ 17%] api writing output... [ 33%] changelog writing output... [ 50%] examples writing output... [ 67%] index writing output... [ 83%] installation writing output... [100%] progress generating indices... genindex done writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 5 warnings. The HTML pages are in build/html. Build finished. The HTML pages are in build/html. make[2]: Leaving directory '/build/reproducible-path/python-pgpy-0.6.0/docs' make[1]: Leaving directory '/build/reproducible-path/python-pgpy-0.6.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-pgpy-0.6.0' LC_ALL=C.UTF-8 PYBUILD_VERSIONS=3.6 dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build; python3.12 -m pytest tests == PGPy Test Suite == Working Directory: /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build Using OpenSSL 3.3.2 Using GnuPG 2.2.44 ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 cachedir: .pytest_cache rootdir: /build/reproducible-path/python-pgpy-0.6.0 configfile: tox.ini plugins: typeguard-4.3.0, cov-5.0.0 collecting ... collected 1106 items tests/test_00_exports.py::test_pgpy_all PASSED tests/test_00_exports.py::test_exports[pgpy.constants] PASSED tests/test_00_exports.py::test_exports[pgpy.decorators] PASSED tests/test_00_exports.py::test_exports[pgpy.errors] PASSED tests/test_00_exports.py::test_exports[pgpy.pgp] PASSED tests/test_00_exports.py::test_exports[pgpy.symenc] PASSED tests/test_00_exports.py::test_exports[pgpy.types] PASSED tests/test_00_exports.py::test_exports[pgpy.packet.fields] PASSED tests/test_00_exports.py::test_exports[pgpy.packet.packets] PASSED tests/test_00_exports.py::test_exports[pgpy.packet.types] PASSED tests/test_00_exports.py::test_exports[pgpy.packet.subpackets.signature] PASSED tests/test_00_exports.py::test_exports[pgpy.packet.subpackets.types] PASSED tests/test_00_exports.py::test_exports[pgpy.packet.subpackets.userattribute] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader0] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader1] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader2] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader3] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader4] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader5] PASSED tests/test_01_packetfields.py::TestHeaders::test_packet_header[pheader6] PASSED tests/test_01_packetfields.py::TestHeaders::test_subpacket_header[spheader0] PASSED tests/test_01_packetfields.py::TestHeaders::test_subpacket_header[spheader1] PASSED tests/test_01_packetfields.py::TestHeaders::test_subpacket_header[spheader2] PASSED tests/test_01_packetfields.py::TestHeaders::test_subpacket_header[spheader3] PASSED tests/test_01_packetfields.py::TestHeaders::test_subpacket_header[spheader4] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket0] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket1] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket2] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket3] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket4] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket5] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket6] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket7] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket8] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket9] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket10] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket11] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket12] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket13] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket14] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket15] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket16] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket17] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket18] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket19] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket20] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket21] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket22] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket23] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket24] PASSED tests/test_01_packetfields.py::TestSignatureSubPackets::test_load[sigsubpacket25] PASSED tests/test_01_packetfields.py::TestUserAttributeSubPackets::test_load[uasubpacket0] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k0] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k1] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k2] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k3] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k4] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k5] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k6] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k7] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k8] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k9] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k10] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k11] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k12] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k13] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k14] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k15] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k16] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k17] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k18] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k19] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k20] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k21] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k22] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k23] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k24] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k25] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k26] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k27] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k28] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k29] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k30] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k31] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k32] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k33] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k34] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k35] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k36] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k37] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k38] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k39] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k40] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k41] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k42] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k43] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k44] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k45] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k46] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k47] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k48] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k49] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k50] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k51] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k52] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k53] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k54] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k55] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k56] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k57] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k58] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k59] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k60] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k61] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k62] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k63] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k64] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k65] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k66] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k67] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k68] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k69] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k70] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k71] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k72] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k73] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k74] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k75] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k76] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k77] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k78] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k79] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k80] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k81] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k82] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k83] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k84] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k85] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k86] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k87] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k88] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k89] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k90] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k91] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k92] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k93] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k94] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k95] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k96] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k97] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k98] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k99] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k100] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k101] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k102] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k103] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k104] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k105] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k106] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k107] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k108] PASSED tests/test_01_packetfields.py::TestString2Key::test_simple_string2key[sis2k109] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k0] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k1] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k2] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k3] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k4] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k5] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k6] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k7] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k8] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k9] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k10] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k11] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k12] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k13] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k14] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k15] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k16] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k17] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k18] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k19] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k20] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k21] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k22] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k23] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k24] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k25] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k26] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k27] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k28] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k29] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k30] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k31] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k32] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k33] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k34] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k35] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k36] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k37] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k38] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k39] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k40] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k41] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k42] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k43] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k44] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k45] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k46] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k47] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k48] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k49] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k50] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k51] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k52] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k53] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k54] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k55] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k56] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k57] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k58] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k59] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k60] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k61] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k62] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k63] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k64] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k65] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k66] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k67] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k68] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k69] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k70] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k71] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k72] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k73] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k74] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k75] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k76] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k77] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k78] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k79] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k80] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k81] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k82] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k83] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k84] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k85] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k86] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k87] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k88] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k89] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k90] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k91] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k92] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k93] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k94] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k95] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k96] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k97] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k98] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k99] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k100] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k101] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k102] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k103] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k104] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k105] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k106] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k107] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k108] PASSED tests/test_01_packetfields.py::TestString2Key::test_salted_string2key[sas2k109] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k0] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k1] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k2] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k3] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k4] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k5] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k6] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k7] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k8] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k9] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k10] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k11] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k12] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k13] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k14] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k15] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k16] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k17] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k18] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k19] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k20] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k21] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k22] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k23] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k24] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k25] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k26] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k27] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k28] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k29] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k30] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k31] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k32] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k33] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k34] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k35] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k36] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k37] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k38] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k39] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k40] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k41] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k42] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k43] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k44] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k45] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k46] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k47] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k48] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k49] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k50] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k51] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k52] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k53] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k54] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k55] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k56] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k57] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k58] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k59] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k60] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k61] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k62] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k63] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k64] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k65] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k66] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k67] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k68] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k69] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k70] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k71] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k72] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k73] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k74] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k75] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k76] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k77] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k78] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k79] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k80] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k81] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k82] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k83] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k84] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k85] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k86] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k87] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k88] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k89] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k90] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k91] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k92] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k93] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k94] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k95] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k96] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k97] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k98] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k99] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k100] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k101] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k102] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k103] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k104] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k105] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k106] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k107] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k108] PASSED tests/test_01_packetfields.py::TestString2Key::test_iterated_string2key[is2k109] PASSED tests/test_01_packetfields.py::TestString2Key::test_gnu_extension_string2key[gnus2k0] PASSED tests/test_01_packetfields.py::TestString2Key::test_gnu_extension_string2key[gnus2k1] PASSED tests/test_01_packetfields.py::TestString2Key::test_gnu_extension_string2key[gnus2k2] PASSED tests/test_01_types.py::TestPGPObject::test_text_to_bytes[english] PASSED tests/test_01_types.py::TestPGPObject::test_text_to_bytes[hiragana] PASSED tests/test_01_types.py::TestPGPObject::test_text_to_bytes[poo] PASSED tests/test_01_types.py::TestPGPObject::test_text_to_bytes_encodings[cp865] PASSED tests/test_01_types.py::TestPGPObject::test_text_to_bytes_encodings[cyrillic] PASSED tests/test_01_types.py::TestPGPObject::test_text_to_bytes_none PASSED tests/test_01_types.py::TestPGPObject::test_bytes_to_text_none PASSED tests/test_01_types.py::TestPGPObject::test_bytes_to_text_text PASSED tests/test_02_packets.py::TestPacket::test_load[01.v3.pkeskp] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v3.0x00.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x00.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x01.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x10.rsa.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x11.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x12.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x13.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x18.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x19.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x1f.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x20.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x28.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[02.v4.0x30.signature] PASSED tests/test_02_packets.py::TestPacket::test_load[03.v4.symesk] PASSED tests/test_02_packets.py::TestPacket::test_load[04.v3.onepass_sig] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.dsa.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.ecdsa.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.enc.3des.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.enc.aes128.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.enc.aes192.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.enc.aes256.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.enc.blowfish.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[05.v4.enc.cast5.privkey] PASSED tests/test_02_packets.py::TestPacket::test_load[06.v4.dsa.pubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[06.v4.ecdsa.pubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[06.v4.rsa.pubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[07.v4.cv25519.privsubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[07.v4.ecdh.privsubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[07.v4.elgamal.privsubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[08.bzip2.compressed] PASSED tests/test_02_packets.py::TestPacket::test_load[08.deflate.compressed] PASSED tests/test_02_packets.py::TestPacket::test_load[08.uncompressed.compressed] PASSED tests/test_02_packets.py::TestPacket::test_load[08.zlib.compressed] PASSED tests/test_02_packets.py::TestPacket::test_load[09.encrypted] PASSED tests/test_02_packets.py::TestPacket::test_load[10.marker] PASSED tests/test_02_packets.py::TestPacket::test_load[11.literal] PASSED tests/test_02_packets.py::TestPacket::test_load[11.partial.literal] PASSED tests/test_02_packets.py::TestPacket::test_load[12.trust] PASSED tests/test_02_packets.py::TestPacket::test_load[13.abcmarquee.userid] PASSED tests/test_02_packets.py::TestPacket::test_load[13.name.comment.email.userid] PASSED tests/test_02_packets.py::TestPacket::test_load[13.name.comment.userid] PASSED tests/test_02_packets.py::TestPacket::test_load[13.name.email.userid] PASSED tests/test_02_packets.py::TestPacket::test_load[13.name.userid] PASSED tests/test_02_packets.py::TestPacket::test_load[13.namewithparens.email.userid] PASSED tests/test_02_packets.py::TestPacket::test_load[14.v4.ecdh.pubsubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[14.v4.elgamal.pubsubkey] PASSED tests/test_02_packets.py::TestPacket::test_load[17.userattribute] PASSED tests/test_02_packets.py::TestPacket::test_load[18.v1.symenc_mdc] PASSED tests/test_02_packets.py::TestPacket::test_load[19.mdc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[armoredfile.asc] SKIPPED tests/test_03_armor.py::TestBlocks::test_load_blob[cleartext.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[cleartext.twosigs.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[dsapubkey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[dsaseckey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[eccpubkey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[eccseckey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[expyro.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.ascii.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.compressed.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.ecc.encrypted.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.encrypted.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.encrypted.signed.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.literal.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.onepass.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.signed.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[message.two_onepass.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[openpgp.js.pubkey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[openpgp.js.seckey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[revochiio.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[rsapubkey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[rsaseckey.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[rsasignature.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[signature.expired.asc] PASSED tests/test_03_armor.py::TestBlocks::test_load_blob[signature.non-exportable.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsa.1.revoc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[dsa.1.revoc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[targette.revoc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ecc.1.revoc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.rsa.dsa.cam128.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[cleartext.dashesc.signed.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.rsa.cast5.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.signed.asc0] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[cleartext.signed.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[cleartext.empty.signed.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.rsa.dsa.3des.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.ecdh.cv25519.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.signed.ecdsa.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.nomdc.pass.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[cleartext.oneline.signed.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.ecdh.encrypted.aes.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.rsa.dsa.pass.aes.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.rsa.cast5.no-mdc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.literal.nomdc.pass.cast5.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[signature.non-exportable.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.two_onepass.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[dsapubkey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[cleartext.twosigs.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[armoredfile.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsapubkey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.encrypted.signed.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[revochiio.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[cleartext.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[openpgp.js.pubkey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[expyro.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[eccseckey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsasignature.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.signed.asc1] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsaseckey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.ecc.encrypted.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.ascii.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.literal.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.encrypted.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.compressed.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[signature.expired.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[openpgp.js.seckey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[dsaseckey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[message.onepass.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[eccpubkey.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ecc.1.sec.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsa.1.sec.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[targette.sec.rsa.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[mixed.1.sec.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ecc.1.pub.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[mixed.1.pub.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[dsa.1.sec.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[dsa.1.pub.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsa.1.pub.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[targette.pub.rsa.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[dsa.1.enc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ecc.2.sec.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ecc.2.pub.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[rsa.1.enc.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ecc.2.sig.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ubuntu-precise.key.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[debian-sid.key.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[aptapproval-test.sig.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[ubuntu-precise.sig.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[debian-sid.sig.asc] PASSED tests/test_03_armor.py::TestMatching::test_is_armor[aptapproval-test.key.asc] PASSED tests/test_03_armor.py::TestMatching::test_not_armor[literal.1.txt] PASSED tests/test_03_armor.py::TestMatching::test_not_armor[literal.dashesc.txt] PASSED tests/test_03_armor.py::TestMatching::test_not_armor[literal.2.txt] PASSED tests/test_03_armor.py::TestMatching::test_not_armor[literal.bin] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[cleartext.dashesc.signed.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[cleartext.empty.signed.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[cleartext.oneline.signed.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[cleartext.signed.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.ecdh.cv25519.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.ecdh.encrypted.aes.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.literal.nomdc.pass.cast5.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.nomdc.pass.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.rsa.cast5.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.rsa.cast5.no-mdc.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.rsa.dsa.3des.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.rsa.dsa.cam128.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.rsa.dsa.pass.aes.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.signed.asc] PASSED tests/test_04_PGP_objects.py::TestPGPMessage::test_load_from_file[message.signed.ecdsa.asc] PASSED tests/test_04_PGP_objects.py::TestPGPUID::test_userid PASSED tests/test_04_PGP_objects.py::TestPGPUID::test_userphoto PASSED tests/test_04_PGP_objects.py::TestPGPUID::test_format PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[dsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[dsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[eccpubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[eccseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[openpgp.js.pubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[openpgp.js.seckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[rsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_file[rsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[dsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[dsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[eccpubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[eccseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[openpgp.js.pubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[openpgp.js.seckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[rsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_str[rsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[dsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[dsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[eccpubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[eccseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[openpgp.js.pubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[openpgp.js.seckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[rsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytes[rsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[dsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[dsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[eccpubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[eccseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[openpgp.js.pubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[openpgp.js.seckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[rsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_load_from_bytearray[rsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/dsa.1.pub.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/dsa.1.sec.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/ecc.1.pub.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/ecc.1.sec.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/ecc.2.pub.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/ecc.2.sec.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/mixed.1.pub.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/mixed.1.sec.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/rsa.1.pub.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/rsa.1.sec.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/targette.pub.rsa.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKey::test_save[tests/testdata/keys/targette.sec.rsa.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[dsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[dsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[eccpubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[eccseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[openpgp.js.pubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[openpgp.js.seckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[rsapubkey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_load_key_instance[rsaseckey.asc] PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_fingerprint PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_keyid PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_shortid PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_name PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_comment PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_email PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_pgpsignature PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_select_pgpmessage PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_unload_key PASSED tests/test_04_PGP_objects.py::TestPGPKeyring::test_unload_key_half PASSED tests/test_04_copy.py::test_copy_obj[sig] checking attribute: sig._ParentRef__parent [ ] checking attribute: sig._signature [id] checking attribute: sig._signature._halg [ ] checking attribute: sig._signature._pubalg [ ] checking attribute: sig._signature._signature [id] checking attribute: sig._signature._signature.md_mod_n [ ][id] checking attribute: sig._signature._sigtype [ ] checking attribute: sig._signature.hash2 [ ][id] checking attribute: sig._signature.header [id] checking attribute: sig._signature.header._len [ ] checking attribute: sig._signature.header._lenfmt [ ] checking attribute: sig._signature.header._llen [ ] checking attribute: sig._signature.header._partial [ ] checking attribute: sig._signature.header._tag [ ] checking attribute: sig._signature.header._version [ ] checking attribute: sig._signature.subpackets [id] checking attribute: sig._signature.subpackets._hashed_sp [ ][id] checking attribute: sig._signature.subpackets._unhashed_sp [ ][id] checking attribute: sig.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[uid] checking attribute: uid._ParentRef__parent [ ] checking attribute: uid._signatures [SorteDeque] [id] checking attribute: uid._uid [id] checking attribute: uid._uid._encoding_fallback [ ] checking attribute: uid._uid.header [id] checking attribute: uid._uid.header._len [ ] checking attribute: uid._uid.header._lenfmt [ ] checking attribute: uid._uid.header._llen [ ] checking attribute: uid._uid.header._partial [ ] checking attribute: uid._uid.header._tag [ ] checking attribute: uid._uid.uid [ ] PASSED tests/test_04_copy.py::test_copy_obj[message.signed.asc] checking attribute: message.signed.asc._compression [ ] checking attribute: message.signed.asc._mdc [ ] checking attribute: message.signed.asc._message [id] checking attribute: message.signed.asc._message._contents [ ][id] checking attribute: message.signed.asc._message._mtime [ ] checking attribute: message.signed.asc._message.filename [ ] checking attribute: message.signed.asc._message.format [ ] checking attribute: message.signed.asc._message.header [id] checking attribute: message.signed.asc._message.header._len [ ] checking attribute: message.signed.asc._message.header._lenfmt [ ] checking attribute: message.signed.asc._message.header._llen [ ] checking attribute: message.signed.asc._message.header._partial [ ] checking attribute: message.signed.asc._message.header._tag [ ] checking attribute: message.signed.asc._sessionkeys [ ][id] checking attribute: message.signed.asc._signatures [SorteDeque] [id] checking attribute: message.signed.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[message.rsa.cast5.no-mdc.asc] checking attribute: message.rsa.cast5.no-mdc.asc._compression [ ] checking attribute: message.rsa.cast5.no-mdc.asc._mdc [ ] checking attribute: message.rsa.cast5.no-mdc.asc._message [id] checking attribute: message.rsa.cast5.no-mdc.asc._message.ct [ ][id] checking attribute: message.rsa.cast5.no-mdc.asc._message.header [id] checking attribute: message.rsa.cast5.no-mdc.asc._message.header._len [ ] checking attribute: message.rsa.cast5.no-mdc.asc._message.header._lenfmt [ ] checking attribute: message.rsa.cast5.no-mdc.asc._message.header._llen [ ] checking attribute: message.rsa.cast5.no-mdc.asc._message.header._partial [ ] checking attribute: message.rsa.cast5.no-mdc.asc._message.header._tag [ ] checking attribute: message.rsa.cast5.no-mdc.asc._sessionkeys [ ][id] checking attribute: message.rsa.cast5.no-mdc.asc._signatures [SorteDeque] [id] checking attribute: message.rsa.cast5.no-mdc.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[message.rsa.dsa.pass.aes.asc] checking attribute: message.rsa.dsa.pass.aes.asc._compression [ ] checking attribute: message.rsa.dsa.pass.aes.asc._mdc [ ] checking attribute: message.rsa.dsa.pass.aes.asc._message [id] checking attribute: message.rsa.dsa.pass.aes.asc._message.ct [ ][id] checking attribute: message.rsa.dsa.pass.aes.asc._message.header [id] checking attribute: message.rsa.dsa.pass.aes.asc._message.header._len [ ] checking attribute: message.rsa.dsa.pass.aes.asc._message.header._lenfmt [ ] checking attribute: message.rsa.dsa.pass.aes.asc._message.header._llen [ ] checking attribute: message.rsa.dsa.pass.aes.asc._message.header._partial [ ] checking attribute: message.rsa.dsa.pass.aes.asc._message.header._tag [ ] checking attribute: message.rsa.dsa.pass.aes.asc._message.header._version [ ] checking attribute: message.rsa.dsa.pass.aes.asc._sessionkeys [ ][id] checking attribute: message.rsa.dsa.pass.aes.asc._signatures [SorteDeque] [id] checking attribute: message.rsa.dsa.pass.aes.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[ecc.1.pub.asc] checking attribute: ecc.1.pub.asc._ParentRef__parent [ ] checking attribute: ecc.1.pub.asc._children [ ][id] checking attribute: ecc.1.pub.asc._key [id] checking attribute: ecc.1.pub.asc._key._created [ ] checking attribute: ecc.1.pub.asc._key._pkalg [ ] checking attribute: ecc.1.pub.asc._key.header [id] checking attribute: ecc.1.pub.asc._key.header._len [ ] checking attribute: ecc.1.pub.asc._key.header._lenfmt [ ] checking attribute: ecc.1.pub.asc._key.header._llen [ ] checking attribute: ecc.1.pub.asc._key.header._partial [ ] checking attribute: ecc.1.pub.asc._key.header._tag [ ] checking attribute: ecc.1.pub.asc._key.header._version [ ] checking attribute: ecc.1.pub.asc._key.keymaterial [id] checking attribute: ecc.1.pub.asc._key.keymaterial.oid [ ] checking attribute: ecc.1.pub.asc._key.keymaterial.p [ ][id] checking attribute: ecc.1.pub.asc._key.keymaterial.p.bytelen [ ] checking attribute: ecc.1.pub.asc._key.keymaterial.p.format [ ] checking attribute: ecc.1.pub.asc._key.keymaterial.p.x [ ][id] checking attribute: ecc.1.pub.asc._key.keymaterial.p.y [ ][id] checking attribute: ecc.1.pub.asc._require_usage_flags [ ] checking attribute: ecc.1.pub.asc._self_verified [ ] checking attribute: ecc.1.pub.asc._sibling [ ] checking attribute: ecc.1.pub.asc._signatures [SorteDeque] [id] checking attribute: ecc.1.pub.asc._uids [SorteDeque] [id] checking attribute: ecc.1.pub.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[mixed.1.pub.asc] checking attribute: mixed.1.pub.asc._ParentRef__parent [ ] checking attribute: mixed.1.pub.asc._children [ ][id] checking attribute: mixed.1.pub.asc._key [id] checking attribute: mixed.1.pub.asc._key._created [ ] checking attribute: mixed.1.pub.asc._key._pkalg [ ] checking attribute: mixed.1.pub.asc._key.header [id] checking attribute: mixed.1.pub.asc._key.header._len [ ] checking attribute: mixed.1.pub.asc._key.header._lenfmt [ ] checking attribute: mixed.1.pub.asc._key.header._llen [ ] checking attribute: mixed.1.pub.asc._key.header._partial [ ] checking attribute: mixed.1.pub.asc._key.header._tag [ ] checking attribute: mixed.1.pub.asc._key.header._version [ ] checking attribute: mixed.1.pub.asc._key.keymaterial [id] checking attribute: mixed.1.pub.asc._key.keymaterial.e [ ][id] checking attribute: mixed.1.pub.asc._key.keymaterial.n [ ][id] checking attribute: mixed.1.pub.asc._require_usage_flags [ ] checking attribute: mixed.1.pub.asc._self_verified [ ] checking attribute: mixed.1.pub.asc._sibling [ ] checking attribute: mixed.1.pub.asc._signatures [SorteDeque] [id] checking attribute: mixed.1.pub.asc._uids [SorteDeque] [id] checking attribute: mixed.1.pub.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[dsa.1.pub.asc] checking attribute: dsa.1.pub.asc._ParentRef__parent [ ] checking attribute: dsa.1.pub.asc._children [ ][id] checking attribute: dsa.1.pub.asc._key [id] checking attribute: dsa.1.pub.asc._key._created [ ] checking attribute: dsa.1.pub.asc._key._pkalg [ ] checking attribute: dsa.1.pub.asc._key.header [id] checking attribute: dsa.1.pub.asc._key.header._len [ ] checking attribute: dsa.1.pub.asc._key.header._lenfmt [ ] checking attribute: dsa.1.pub.asc._key.header._llen [ ] checking attribute: dsa.1.pub.asc._key.header._partial [ ] checking attribute: dsa.1.pub.asc._key.header._tag [ ] checking attribute: dsa.1.pub.asc._key.header._version [ ] checking attribute: dsa.1.pub.asc._key.keymaterial [id] checking attribute: dsa.1.pub.asc._key.keymaterial.g [ ][id] checking attribute: dsa.1.pub.asc._key.keymaterial.p [ ][id] checking attribute: dsa.1.pub.asc._key.keymaterial.q [ ][id] checking attribute: dsa.1.pub.asc._key.keymaterial.y [ ][id] checking attribute: dsa.1.pub.asc._require_usage_flags [ ] checking attribute: dsa.1.pub.asc._self_verified [ ] checking attribute: dsa.1.pub.asc._sibling [ ] checking attribute: dsa.1.pub.asc._signatures [SorteDeque] [id] checking attribute: dsa.1.pub.asc._uids [SorteDeque] [id] checking attribute: dsa.1.pub.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[rsa.1.pub.asc] checking attribute: rsa.1.pub.asc._ParentRef__parent [ ] checking attribute: rsa.1.pub.asc._children [ ][id] checking attribute: rsa.1.pub.asc._key [id] checking attribute: rsa.1.pub.asc._key._created [ ] checking attribute: rsa.1.pub.asc._key._pkalg [ ] checking attribute: rsa.1.pub.asc._key.header [id] checking attribute: rsa.1.pub.asc._key.header._len [ ] checking attribute: rsa.1.pub.asc._key.header._lenfmt [ ] checking attribute: rsa.1.pub.asc._key.header._llen [ ] checking attribute: rsa.1.pub.asc._key.header._partial [ ] checking attribute: rsa.1.pub.asc._key.header._tag [ ] checking attribute: rsa.1.pub.asc._key.header._version [ ] checking attribute: rsa.1.pub.asc._key.keymaterial [id] checking attribute: rsa.1.pub.asc._key.keymaterial.e [ ][id] checking attribute: rsa.1.pub.asc._key.keymaterial.n [ ][id] checking attribute: rsa.1.pub.asc._require_usage_flags [ ] checking attribute: rsa.1.pub.asc._self_verified [ ] checking attribute: rsa.1.pub.asc._sibling [ ] checking attribute: rsa.1.pub.asc._signatures [SorteDeque] [id] checking attribute: rsa.1.pub.asc._uids [SorteDeque] [id] checking attribute: rsa.1.pub.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[ecc.1.sec.asc] checking attribute: ecc.1.sec.asc._ParentRef__parent [ ] checking attribute: ecc.1.sec.asc._children [ ][id] checking attribute: ecc.1.sec.asc._key [id] checking attribute: ecc.1.sec.asc._key._created [ ] checking attribute: ecc.1.sec.asc._key._pkalg [ ] checking attribute: ecc.1.sec.asc._key.header [id] checking attribute: ecc.1.sec.asc._key.header._len [ ] checking attribute: ecc.1.sec.asc._key.header._lenfmt [ ] checking attribute: ecc.1.sec.asc._key.header._llen [ ] checking attribute: ecc.1.sec.asc._key.header._partial [ ] checking attribute: ecc.1.sec.asc._key.header._tag [ ] checking attribute: ecc.1.sec.asc._key.header._version [ ] checking attribute: ecc.1.sec.asc._key.keymaterial [id] checking attribute: ecc.1.sec.asc._key.keymaterial.chksum [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.encbytes [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.oid [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.p [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.p.bytelen [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.p.format [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.p.x [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.p.y [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.s [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k [id] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k._count [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k._encalg [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k._gnuext [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k._halg [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k._specifier [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k.iv [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k.salt [ ][id] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k.scserial [ ] checking attribute: ecc.1.sec.asc._key.keymaterial.s2k.usage [ ] checking attribute: ecc.1.sec.asc._require_usage_flags [ ] checking attribute: ecc.1.sec.asc._self_verified [ ] checking attribute: ecc.1.sec.asc._sibling [ ] checking attribute: ecc.1.sec.asc._signatures [SorteDeque] [id] checking attribute: ecc.1.sec.asc._uids [SorteDeque] [id] checking attribute: ecc.1.sec.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[rsa.1.sec.asc] checking attribute: rsa.1.sec.asc._ParentRef__parent [ ] checking attribute: rsa.1.sec.asc._children [ ][id] checking attribute: rsa.1.sec.asc._key [id] checking attribute: rsa.1.sec.asc._key._created [ ] checking attribute: rsa.1.sec.asc._key._pkalg [ ] checking attribute: rsa.1.sec.asc._key.header [id] checking attribute: rsa.1.sec.asc._key.header._len [ ] checking attribute: rsa.1.sec.asc._key.header._lenfmt [ ] checking attribute: rsa.1.sec.asc._key.header._llen [ ] checking attribute: rsa.1.sec.asc._key.header._partial [ ] checking attribute: rsa.1.sec.asc._key.header._tag [ ] checking attribute: rsa.1.sec.asc._key.header._version [ ] checking attribute: rsa.1.sec.asc._key.keymaterial [id] checking attribute: rsa.1.sec.asc._key.keymaterial.chksum [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.d [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.e [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.encbytes [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.n [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.p [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.q [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k [id] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k._count [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k._encalg [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k._gnuext [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k._halg [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k._specifier [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k.iv [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k.salt [ ][id] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k.scserial [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.s2k.usage [ ] checking attribute: rsa.1.sec.asc._key.keymaterial.u [ ][id] checking attribute: rsa.1.sec.asc._require_usage_flags [ ] checking attribute: rsa.1.sec.asc._self_verified [ ] checking attribute: rsa.1.sec.asc._sibling [ ] checking attribute: rsa.1.sec.asc._signatures [SorteDeque] [id] checking attribute: rsa.1.sec.asc._uids [SorteDeque] [id] checking attribute: rsa.1.sec.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[mixed.1.sec.asc] checking attribute: mixed.1.sec.asc._ParentRef__parent [ ] checking attribute: mixed.1.sec.asc._children [ ][id] checking attribute: mixed.1.sec.asc._key [id] checking attribute: mixed.1.sec.asc._key._created [ ] checking attribute: mixed.1.sec.asc._key._pkalg [ ] checking attribute: mixed.1.sec.asc._key.header [id] checking attribute: mixed.1.sec.asc._key.header._len [ ] checking attribute: mixed.1.sec.asc._key.header._lenfmt [ ] checking attribute: mixed.1.sec.asc._key.header._llen [ ] checking attribute: mixed.1.sec.asc._key.header._partial [ ] checking attribute: mixed.1.sec.asc._key.header._tag [ ] checking attribute: mixed.1.sec.asc._key.header._version [ ] checking attribute: mixed.1.sec.asc._key.keymaterial [id] checking attribute: mixed.1.sec.asc._key.keymaterial.chksum [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.d [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.e [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.encbytes [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.n [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.p [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.q [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k [id] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k._count [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k._encalg [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k._gnuext [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k._halg [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k._specifier [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k.iv [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k.salt [ ][id] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k.scserial [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.s2k.usage [ ] checking attribute: mixed.1.sec.asc._key.keymaterial.u [ ][id] checking attribute: mixed.1.sec.asc._require_usage_flags [ ] checking attribute: mixed.1.sec.asc._self_verified [ ] checking attribute: mixed.1.sec.asc._sibling [ ] checking attribute: mixed.1.sec.asc._signatures [SorteDeque] [id] checking attribute: mixed.1.sec.asc._uids [SorteDeque] [id] checking attribute: mixed.1.sec.asc.ascii_headers [ ][id] PASSED tests/test_04_copy.py::test_copy_obj[dsa.1.sec.asc] checking attribute: dsa.1.sec.asc._ParentRef__parent [ ] checking attribute: dsa.1.sec.asc._children [ ][id] checking attribute: dsa.1.sec.asc._key [id] checking attribute: dsa.1.sec.asc._key._created [ ] checking attribute: dsa.1.sec.asc._key._pkalg [ ] checking attribute: dsa.1.sec.asc._key.header [id] checking attribute: dsa.1.sec.asc._key.header._len [ ] checking attribute: dsa.1.sec.asc._key.header._lenfmt [ ] checking attribute: dsa.1.sec.asc._key.header._llen [ ] checking attribute: dsa.1.sec.asc._key.header._partial [ ] checking attribute: dsa.1.sec.asc._key.header._tag [ ] checking attribute: dsa.1.sec.asc._key.header._version [ ] checking attribute: dsa.1.sec.asc._key.keymaterial [id] checking attribute: dsa.1.sec.asc._key.keymaterial.chksum [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.encbytes [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.g [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.p [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.q [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k [id] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k._count [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k._encalg [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k._gnuext [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k._halg [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k._specifier [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k.iv [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k.salt [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k.scserial [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.s2k.usage [ ] checking attribute: dsa.1.sec.asc._key.keymaterial.x [ ][id] checking attribute: dsa.1.sec.asc._key.keymaterial.y [ ][id] checking attribute: dsa.1.sec.asc._require_usage_flags [ ] checking attribute: dsa.1.sec.asc._self_verified [ ] checking attribute: dsa.1.sec.asc._sibling [ ] checking attribute: dsa.1.sec.asc._signatures [SorteDeque] [id] checking attribute: dsa.1.sec.asc._uids [SorteDeque] [id] checking attribute: dsa.1.sec.asc.ascii_headers [ ][id] PASSED tests/test_05_actions.py::TestPGPMessage::test_new[0-False] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-True] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-False] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-True] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-False] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-True] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-False] FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-True] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.1.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.2.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.bin] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] FAILED tests/test_05_actions.py::TestPGPMessage::test_new_non_unicode FAILED tests/test_05_actions.py::TestPGPMessage::test_new_non_unicode_cleartext PASSED tests/test_05_actions.py::TestPGPMessage::test_add_marker PASSED tests/test_05_actions.py::TestPGPMessage::test_decrypt_passphrase_message[message.literal.nomdc.pass.cast5.asc] PASSED tests/test_05_actions.py::TestPGPMessage::test_decrypt_passphrase_message[message.nomdc.pass.asc] PASSED tests/test_05_actions.py::TestPGPMessage::test_decrypt_passphrase_message[message.rsa.dsa.pass.aes.asc] PASSED tests/test_05_actions.py::TestPGPMessage::test_encrypt_passphrase[0] PASSED tests/test_05_actions.py::TestPGPMessage::test_encrypt_passphrase[1] PASSED tests/test_05_actions.py::TestPGPMessage::test_encrypt_passphrase[2] PASSED tests/test_05_actions.py::TestPGPMessage::test_encrypt_passphrase[3] PASSED tests/test_05_actions.py::TestPGPMessage::test_encrypt_passphrase_2 PASSED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[1-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[17-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[19-EllipticCurveOID.NIST_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[22-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[17] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[19] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[22] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[17] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[19] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[22] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_altuid[1] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_altuid[17] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_altuid[19] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_altuid[22] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_remove_altuid[1] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_remove_altuid[17] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_remove_altuid[19] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_remove_altuid[22] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[17] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[19] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[22] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[17] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[19] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[22] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_unlock[1] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock[17] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock[19] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock[22] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_change_passphrase[1] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_change_passphrase[17] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_change_passphrase[19] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_change_passphrase[22] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock2[1] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock2[17] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock2[19] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_unlock2[22] PASSED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[17] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[19] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[22] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-DSA-2048] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ElGamal-2048] XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[1] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[17] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[19] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[22] FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key_with_revoker SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_string [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)])] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_string PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_message [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)])] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_message PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_ctmessage [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)])] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_ctmessage PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_timestamp[dsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_timestamp[ecc.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_timestamp[ecc.2.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_timestamp[mixed.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_timestamp[rsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_timestamp[dsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_timestamp[ecc.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_timestamp[ecc.2.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_timestamp[mixed.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_timestamp[rsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_standalone[dsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_standalone[ecc.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_standalone[ecc.2.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_standalone[mixed.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_standalone[rsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_standalone[dsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_standalone[ecc.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_standalone[ecc.2.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_standalone[mixed.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_standalone[rsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_invalid_sig[pkspec0] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_invalid_sig[pkspec1] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_invalid_sig[pkspec2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_invalid_sig[pkspec3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_expired_sig PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[dsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[ecc.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[ecc.2.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[mixed.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[rsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_userid[dsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_userid[ecc.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_userid[ecc.2.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_userid[mixed.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_userid[rsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_photo[dsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_photo[ecc.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_photo[ecc.2.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_photo[mixed.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_certify_photo[rsa.1.sec.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_photo[dsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_photo[ecc.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_photo[ecc.2.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_photo[mixed.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_photo[rsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_self_certify_key PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_key[dsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_key[ecc.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_key[ecc.2.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_key[mixed.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_verify_key[rsa.1.pub.asc] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_gpg_import_abe [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)])] FAILED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-Plaintext] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-IDEA] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-TripleDES] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-CAST5] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-Blowfish] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-AES128] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-AES192] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-AES256] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-Twofish256] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-Camellia128] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-Camellia192] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[DSA:2048-Camellia256] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Plaintext] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-IDEA] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-TripleDES] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-CAST5] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Blowfish] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-AES128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-AES192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-AES256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Twofish256] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Camellia128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Camellia192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Camellia256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Plaintext] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-IDEA] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-TripleDES] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-CAST5] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Blowfish] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-AES128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-AES192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-AES256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Twofish256] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Camellia128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Camellia192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Camellia256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Plaintext] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-IDEA] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-TripleDES] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-CAST5] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Blowfish] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-AES128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-AES192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-AES256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Twofish256] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Camellia128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Camellia192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Camellia256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Plaintext] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-IDEA] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-TripleDES] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-CAST5] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Blowfish] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-AES128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-AES192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-AES256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Twofish256] XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Camellia128] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Camellia192] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Camellia256] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-2] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-3] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-4] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-7] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-8] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-9] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-11] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-12] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/dsa.1.sec.asc-13] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.1.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/ecc.2.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/mixed.1.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_decrypt_message[tests/testdata/keys/rsa.1.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-2] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-3] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-4] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-7] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-8] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-9] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-11] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-12] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/dsa.1.sec.asc-13] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.1.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/ecc.2.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/mixed.1.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-0] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-1] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-2] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-3] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-4] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-7] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-8] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-9] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-10] SKIPPED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-11] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-12] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_sign_encrypted_message[tests/testdata/keys/rsa.1.sec.asc-13] PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_gpg_ed25519_verify PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_gpg_cv25519_decrypt PASSED tests/test_05_actions.py::TestPGPKey_Actions::test_ignore_flags PASSED tests/test_10_exceptions.py::TestArmorable::test_malformed_base64 PASSED tests/test_10_exceptions.py::TestMetaDispatchable::test_parse_bytes_typeerror PASSED tests/test_10_exceptions.py::TestMetaDispatchable::test_parse_versioned_header_exception PASSED tests/test_10_exceptions.py::TestMetaDispatchable::test_parse_packet_exceptions PASSED tests/test_10_exceptions.py::TestPGPKey::test_unlock_pubkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_unlock_not_protected PASSED tests/test_10_exceptions.py::TestPGPKey::test_protect_pubkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_protect_protected_key PASSED tests/test_10_exceptions.py::TestPGPKey::test_unlock_wrong_passphrase PASSED tests/test_10_exceptions.py::TestPGPKey::test_sign_protected_key PASSED tests/test_10_exceptions.py::TestPGPKey::test_verify_wrongkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_decrypt_unencrypted_message PASSED tests/test_10_exceptions.py::TestPGPKey::test_decrypt_wrongkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_decrypt_protected_key PASSED tests/test_10_exceptions.py::TestPGPKey::test_or_typeerror PASSED tests/test_10_exceptions.py::TestPGPKey::test_contains_valueerror PASSED tests/test_10_exceptions.py::TestPGPKey::test_fail_del_uid PASSED tests/test_10_exceptions.py::TestPGPKey::test_encrypt_bad_cipher PASSED tests/test_10_exceptions.py::TestPGPKey::test_sign_bad_prefs PASSED tests/test_10_exceptions.py::TestPGPKey::test_verify_typeerror PASSED tests/test_10_exceptions.py::TestPGPKey::test_verify_nosigs PASSED tests/test_10_exceptions.py::TestPGPKey::test_verify_invalid PASSED tests/test_10_exceptions.py::TestPGPKey::test_parse_wrong_magic PASSED tests/test_10_exceptions.py::TestPGPKey::test_parse_wrong_crc24 PASSED tests/test_10_exceptions.py::TestPGPKey::test_empty_key_action PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_no_uid_action PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_invalid_size[RSAEncryptOrSign:256] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_invalid_size[DSA:512] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_invalid_size[ECDSA:Invalid] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_invalid_size[ECDH:Invalid] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_unimplemented_alg[Invalid] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_unimplemented_alg[ElGamal] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_unimplemented_alg[DiffieHellman] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_deprecated_rsa_alg[RSAEncrypt] PASSED tests/test_10_exceptions.py::TestPGPKey::test_new_key_deprecated_rsa_alg[RSASign] PASSED tests/test_10_exceptions.py::TestPGPKey::test_set_pubkey_on_pubkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_set_wrong_pubkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_set_pubkey_already_set PASSED tests/test_10_exceptions.py::TestPGPKey::test_set_pubkey_privkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_add_subkey_to_pubkey PASSED tests/test_10_exceptions.py::TestPGPKey::test_add_pubsubkey_to_key PASSED tests/test_10_exceptions.py::TestPGPKey::test_add_key_with_subkeys_as_subkey PASSED tests/test_10_exceptions.py::TestPGPKeyring::test_key_keyerror PASSED tests/test_10_exceptions.py::TestPGPMessage::test_decrypt_unsupported_algorithm PASSED tests/test_10_exceptions.py::TestPGPMessage::test_decrypt_wrongpass PASSED tests/test_10_exceptions.py::TestPGPMessage::test_decrypt_unencrypted PASSED tests/test_10_exceptions.py::TestPGPMessage::test_encrypt_unsupported_algorithm PASSED tests/test_10_exceptions.py::TestPGPMessage::test_encrypt_insecure_cipher PASSED tests/test_10_exceptions.py::TestPGPMessage::test_encrypt_sessionkey_wrongtype PASSED tests/test_10_exceptions.py::TestPGPMessage::test_parse_wrong_magic PASSED tests/test_10_exceptions.py::TestPGPSignature::test_or_typeerror[12] PASSED tests/test_10_exceptions.py::TestPGPSignature::test_or_typeerror[None] PASSED tests/test_10_exceptions.py::TestPGPSignature::test_parse_wrong_magic PASSED tests/test_10_exceptions.py::TestPGPSignature::test_parse_wrong_contents PASSED tests/test_10_exceptions.py::TestPGPUID::test_or_typeerror PASSED tests/test_10_exceptions.py::TestSignatureVerification::test_and_typeerror PASSED tests/test_10_exceptions.py::TestFingerprint::test_bad_input PASSED tests/test_99_regressions.py::test_reg_bug_56 PASSED tests/test_99_regressions.py::test_check_checksum[DSA] PASSED tests/test_99_regressions.py::test_check_checksum[ElGamal] PASSED tests/test_99_regressions.py::test_check_checksum[RSAEncryptOrSign0] PASSED tests/test_99_regressions.py::test_check_checksum[ECDSA] PASSED tests/test_99_regressions.py::test_check_checksum[ECDH0] PASSED tests/test_99_regressions.py::test_check_checksum[EdDSA] PASSED tests/test_99_regressions.py::test_check_checksum[ECDH1] PASSED tests/test_99_regressions.py::test_check_checksum[RSAEncryptOrSign1] PASSED tests/test_99_regressions.py::test_check_checksum[ECDH2] PASSED tests/test_99_regressions.py::test_decrypt_unsigned_message PASSED tests/test_99_regressions.py::test_pubkey_subkey_parent PASSED tests/test_99_regressions.py::test_oneline_cleartext[cleartext.oneline.signed.asc] PASSED tests/test_99_regressions.py::test_oneline_cleartext[cleartext.empty.signed.asc] PASSED tests/test_99_regressions.py::test_armorable_empty_str PASSED tests/test_99_regressions.py::test_verify_subkey_revocation_signature PASSED tests/test_99_regressions.py::test_preference_unsupported_ciphers PASSED tests/test_99_regressions.py::test_sig_timezone PASSED tests/test_99_regressions.py::test_ops_order PASSED tests/test_99_regressions.py::test_spurious_dash_escapes PASSED tests/test_99_regressions.py::test_preference_no_supported_ciphers PASSED =================================== FAILURES =================================== _______________________ TestPGPMessage.test_new[0-False] _______________________ self = comp_alg = , sensitive = False @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:171: in wrapper return _funcwrap(self, *args) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[0-True] ________________________ self = comp_alg = , sensitive = True @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[1-False] _______________________ self = comp_alg = , sensitive = False @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[1-True] ________________________ self = comp_alg = , sensitive = True @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[2-False] _______________________ self = comp_alg = , sensitive = False @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[2-True] ________________________ self = comp_alg = , sensitive = True @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[3-False] _______________________ self = comp_alg = , sensitive = False @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________________ TestPGPMessage.test_new[3-True] ________________________ self = comp_alg = , sensitive = True @pytest.mark.parametrize('comp_alg,sensitive', itertools.product(CompressionAlgorithm, [False, True])) def test_new(self, comp_alg, sensitive): mtxt = u"This is a new message!" msg = PGPMessage.new(mtxt, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else '') assert msg.is_sensitive is sensitive assert msg.type == 'literal' assert msg.message == mtxt assert msg._compression == comp_alg  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('utf-8') == mtxt tests/test_05_actions.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = False path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.1.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.1.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.2.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.2.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.bin] __ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.bin' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPMessage.test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] _ self = comp_alg = , sensitive = True path = 'tests/testdata/files/literal.dashesc.txt' @pytest.mark.parametrize('comp_alg,sensitive,path', itertools.product(CompressionAlgorithm, [False, True], sorted(glob.glob('tests/testdata/files/literal*')))) def test_new_from_file(self, comp_alg, sensitive, path): msg = PGPMessage.new(path, file=True, compression=comp_alg, sensitive=sensitive)  assert isinstance(msg, PGPMessage) assert msg.filename == ('_CONSOLE' if sensitive else os.path.basename(path)) assert msg.type == 'literal' assert msg.is_sensitive is sensitive  if gpg: with open(path, 'rb') as tf: mtxt = tf.read()  # see if GPG can parse our message > assert self.gpg_message(msg) == mtxt tests/test_05_actions.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _____________________ TestPGPMessage.test_new_non_unicode ______________________ self = @pytest.mark.regression(issue=154) # @pytest.mark.parametrize('cleartext', [False, True]) def test_new_non_unicode(self): # this message text comes from http://www.columbia.edu/~fdc/utf8/ text = u'色は匂へど 散りぬるを\n' \ u'我が世誰ぞ 常ならむ\n' \ u'有為の奥山 今日越えて\n' \ u'浅き夢見じ 酔ひもせず' msg = PGPMessage.new(text.encode('jisx0213'), encoding='jisx0213')  assert msg.type == 'literal' assert msg.message == text.encode('jisx0213')  if gpg: # see if GPG can parse our message > assert self.gpg_message(msg).decode('jisx0213') == text tests/test_05_actions.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:49: in gpg_message msg, _ = c.verify(gpg.Data(string=str(msg))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440570, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_gen_key[1-2048] __________________ self = alg = , size = 2048 @pytest.mark.order(1) @pytest.mark.parametrize('alg,size', pkeyspecs) def test_gen_key(self, alg, size): # create a primary key with a UID uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') key = PGPKey.new(alg, size)  if alg is PubKeyAlgorithm.ECDSA: # ECDSA keys require larger hash digests key.add_uid(uid, hashes=[HashAlgorithm.SHA384])  else: key.add_uid(uid, hashes=[HashAlgorithm.SHA224])  assert uid in key  # self-verify the key assert key.verify(key) self.keys[(alg, size)] = key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:277: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _________________ TestPGPKey_Management.test_gen_key[17-2048] __________________ self = alg = , size = 2048 @pytest.mark.order(1) @pytest.mark.parametrize('alg,size', pkeyspecs) def test_gen_key(self, alg, size): # create a primary key with a UID uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') key = PGPKey.new(alg, size)  if alg is PubKeyAlgorithm.ECDSA: # ECDSA keys require larger hash digests key.add_uid(uid, hashes=[HashAlgorithm.SHA384])  else: key.add_uid(uid, hashes=[HashAlgorithm.SHA224])  assert uid in key  # self-verify the key assert key.verify(key) self.keys[(alg, size)] = key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:277: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ______ TestPGPKey_Management.test_gen_key[19-EllipticCurveOID.NIST_P256] _______ self = alg = size = , payload [1.2.840.10045.3.1.7]>> @pytest.mark.order(1) @pytest.mark.parametrize('alg,size', pkeyspecs) def test_gen_key(self, alg, size): # create a primary key with a UID uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') key = PGPKey.new(alg, size)  if alg is PubKeyAlgorithm.ECDSA: # ECDSA keys require larger hash digests key.add_uid(uid, hashes=[HashAlgorithm.SHA384])  else: key.add_uid(uid, hashes=[HashAlgorithm.SHA224])  assert uid in key  # self-verify the key assert key.verify(key) self.keys[(alg, size)] = key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:277: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______ TestPGPKey_Management.test_gen_key[22-EllipticCurveOID.Ed25519] ________ self = alg = size = , payload [1.3.6.1.4.1.11591.15.1]>> @pytest.mark.order(1) @pytest.mark.parametrize('alg,size', pkeyspecs) def test_gen_key(self, alg, size): # create a primary key with a UID uid = PGPUID.new('Test Key', '{}.{}'.format(alg.name, size), 'user@localhost.local') key = PGPKey.new(alg, size)  if alg is PubKeyAlgorithm.ECDSA: # ECDSA keys require larger hash digests key.add_uid(uid, hashes=[HashAlgorithm.SHA384])  else: key.add_uid(uid, hashes=[HashAlgorithm.SHA224])  assert uid in key  # self-verify the key assert key.verify(key) self.keys[(alg, size)] = key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:277: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] _ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-DSA-2048] _______ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______ TestPGPKey_Management.test_add_subkey[DSA-RSAEncryptOrSign-2048] _______ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _____________ TestPGPKey_Management.test_add_subkey[DSA-DSA-2048] ______________ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] __ self = pkspec = (, 2048) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __ TestPGPKey_Management.test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] ___ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] __ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ______ TestPGPKey_Management.test_add_subkey[ECDSA-RSAEncryptOrSign-2048] ______ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________ TestPGPKey_Management.test_add_subkey[ECDSA-DSA-2048] _____________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] __ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ______ TestPGPKey_Management.test_add_subkey[EdDSA-RSAEncryptOrSign-2048] ______ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________ TestPGPKey_Management.test_add_subkey[EdDSA-DSA-2048] _____________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, 2048) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] __ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_gen_key') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_add_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  key = self.keys[pkspec] subkey = PGPKey.new(*skspec)  # before adding subkey to key, the key packet should be a PrivKeyV4, not a PrivSubKeyV4 assert isinstance(subkey._key, PrivKeyV4) assert not isinstance(subkey._key, PrivSubKeyV4)  key.add_subkey(subkey, usage={KeyFlags.EncryptCommunications})  # now that we've added it, it should be a PrivSubKeyV4 assert isinstance(subkey._key, PrivSubKeyV4)  # self-verify with warnings.catch_warnings(): warnings.simplefilter('ignore') assert key.verify(subkey)  sv = key.verify(key) assert sv assert subkey in sv  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________________ TestPGPKey_Management.test_add_altuid[1] ___________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_add_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_altuid(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  key = self.keys[pkspec] uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local')  expiration = datetime.now(timezone.utc) + timedelta(days=2)  # add all of the sbpackets that only work on self-certifications with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(uid, usage=[KeyFlags.Certify, KeyFlags.Sign], ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], hashes=[HashAlgorithm.SHA384], compression=[CompressionAlgorithm.ZLIB], key_expiration=expiration, keyserver_flags={KeyServerPreferences.NoModify}, keyserver='about:none', primary=False)  sig = uid.selfsig  assert sig.type == SignatureType.Positive_Cert assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] assert sig.hashprefs == [HashAlgorithm.SHA384] assert sig.compprefs == [CompressionAlgorithm.ZLIB] assert sig.features == {Features.ModificationDetection} assert sig.key_expiration == expiration - key.created assert sig.keyserver == 'about:none' assert sig.keyserverprefs == {KeyServerPreferences.NoModify}  assert uid.is_primary is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:358: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_add_altuid[17] ___________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_add_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_altuid(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  key = self.keys[pkspec] uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local')  expiration = datetime.now(timezone.utc) + timedelta(days=2)  # add all of the sbpackets that only work on self-certifications with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(uid, usage=[KeyFlags.Certify, KeyFlags.Sign], ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], hashes=[HashAlgorithm.SHA384], compression=[CompressionAlgorithm.ZLIB], key_expiration=expiration, keyserver_flags={KeyServerPreferences.NoModify}, keyserver='about:none', primary=False)  sig = uid.selfsig  assert sig.type == SignatureType.Positive_Cert assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] assert sig.hashprefs == [HashAlgorithm.SHA384] assert sig.compprefs == [CompressionAlgorithm.ZLIB] assert sig.features == {Features.ModificationDetection} assert sig.key_expiration == expiration - key.created assert sig.keyserver == 'about:none' assert sig.keyserverprefs == {KeyServerPreferences.NoModify}  assert uid.is_primary is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:358: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_add_altuid[19] ___________________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) @pytest.mark.order(after='test_add_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_altuid(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  key = self.keys[pkspec] uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local')  expiration = datetime.now(timezone.utc) + timedelta(days=2)  # add all of the sbpackets that only work on self-certifications with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(uid, usage=[KeyFlags.Certify, KeyFlags.Sign], ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], hashes=[HashAlgorithm.SHA384], compression=[CompressionAlgorithm.ZLIB], key_expiration=expiration, keyserver_flags={KeyServerPreferences.NoModify}, keyserver='about:none', primary=False)  sig = uid.selfsig  assert sig.type == SignatureType.Positive_Cert assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] assert sig.hashprefs == [HashAlgorithm.SHA384] assert sig.compprefs == [CompressionAlgorithm.ZLIB] assert sig.features == {Features.ModificationDetection} assert sig.key_expiration == expiration - key.created assert sig.keyserver == 'about:none' assert sig.keyserverprefs == {KeyServerPreferences.NoModify}  assert uid.is_primary is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:358: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_add_altuid[22] ___________________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_add_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_altuid(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  key = self.keys[pkspec] uid = PGPUID.new('T. Keyerson', 'Secondary UID', 'testkey@localhost.local')  expiration = datetime.now(timezone.utc) + timedelta(days=2)  # add all of the sbpackets that only work on self-certifications with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(uid, usage=[KeyFlags.Certify, KeyFlags.Sign], ciphers=[SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256], hashes=[HashAlgorithm.SHA384], compression=[CompressionAlgorithm.ZLIB], key_expiration=expiration, keyserver_flags={KeyServerPreferences.NoModify}, keyserver='about:none', primary=False)  sig = uid.selfsig  assert sig.type == SignatureType.Positive_Cert assert sig.cipherprefs == [SymmetricKeyAlgorithm.AES256, SymmetricKeyAlgorithm.Camellia256] assert sig.hashprefs == [HashAlgorithm.SHA384] assert sig.compprefs == [CompressionAlgorithm.ZLIB] assert sig.features == {Features.ModificationDetection} assert sig.key_expiration == expiration - key.created assert sig.keyserver == 'about:none' assert sig.keyserverprefs == {KeyServerPreferences.NoModify}  assert uid.is_primary is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:358: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________________ TestPGPKey_Management.test_add_photo[1] ____________________ self = pkspec = (, 2048) userphoto = @pytest.mark.order(after='test_add_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_photo(self, pkspec, userphoto): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a photo key = self.keys[pkspec] photo = copy.copy(userphoto) with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(photo)  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________________ TestPGPKey_Management.test_add_photo[17] ___________________ self = pkspec = (, 2048) userphoto = @pytest.mark.order(after='test_add_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_photo(self, pkspec, userphoto): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a photo key = self.keys[pkspec] photo = copy.copy(userphoto) with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(photo)  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________________ TestPGPKey_Management.test_add_photo[19] ___________________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) userphoto = @pytest.mark.order(after='test_add_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_photo(self, pkspec, userphoto): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a photo key = self.keys[pkspec] photo = copy.copy(userphoto) with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(photo)  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________________ TestPGPKey_Management.test_add_photo[22] ___________________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) userphoto = @pytest.mark.order(after='test_add_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_photo(self, pkspec, userphoto): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a photo key = self.keys[pkspec] photo = copy.copy(userphoto) with warnings.catch_warnings(): warnings.simplefilter('ignore') key.add_uid(photo)  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _______________ TestPGPKey_Management.test_add_revocation_key[1] _______________ self = pkspec = (, 2048) @pytest.mark.order(after='test_remove_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_revocation_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a revocation key rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] key = self.keys[pkspec] revsig = key.revoker(rev) key |= revsig  assert revsig in key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:418: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ______________ TestPGPKey_Management.test_add_revocation_key[17] _______________ self = pkspec = (, 2048) @pytest.mark.order(after='test_remove_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_revocation_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a revocation key rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] key = self.keys[pkspec] revsig = key.revoker(rev) key |= revsig  assert revsig in key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:418: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ______________ TestPGPKey_Management.test_add_revocation_key[19] _______________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) @pytest.mark.order(after='test_remove_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_revocation_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a revocation key rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] key = self.keys[pkspec] revsig = key.revoker(rev) key |= revsig  assert revsig in key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:418: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ______________ TestPGPKey_Management.test_add_revocation_key[22] _______________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_remove_altuid') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_add_revocation_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a revocation key rev = self.keys[next(pks for pks in pkeyspecs if pks != pkspec)] key = self.keys[pkspec] revsig = key.revoker(rev) key |= revsig  assert revsig in key  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:418: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________________ TestPGPKey_Management.test_protect[1] _____________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_add_revocation_key') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_protect(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a passphrase key = self.keys[pkspec]  assert key.is_protected is False key.protect('There Are Many Like It, But This Key Is Mine', SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256)  assert key.is_protected assert key.is_unlocked is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:438: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________________ TestPGPKey_Management.test_protect[17] ____________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_add_revocation_key') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_protect(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a passphrase key = self.keys[pkspec]  assert key.is_protected is False key.protect('There Are Many Like It, But This Key Is Mine', SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256)  assert key.is_protected assert key.is_unlocked is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:438: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________________ TestPGPKey_Management.test_protect[19] ____________________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) @pytest.mark.order(after='test_add_revocation_key') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_protect(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a passphrase key = self.keys[pkspec]  assert key.is_protected is False key.protect('There Are Many Like It, But This Key Is Mine', SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256)  assert key.is_protected assert key.is_unlocked is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:438: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________________ TestPGPKey_Management.test_protect[22] ____________________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_add_revocation_key') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_protect(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # add a passphrase key = self.keys[pkspec]  assert key.is_protected is False key.protect('There Are Many Like It, But This Key Is Mine', SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256)  assert key.is_protected assert key.is_unlocked is False  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:438: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _________________ TestPGPKey_Management.test_pub_from_spec[1] __________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_unlock2') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_pub_from_spec(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # get the public half of the key priv = self.keys[pkspec] pub = priv.pubkey  assert pub.is_public assert pub.fingerprint == priv.fingerprint  for skid, subkey in priv.subkeys.items(): assert skid in pub.subkeys assert pub.subkeys[skid].is_public assert len(subkey._key) == len(subkey._key.__bytes__())  if gpg: # try to verify with GPG > self.gpg_verify_key(pub) tests/test_05_actions.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _________________ TestPGPKey_Management.test_pub_from_spec[17] _________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_unlock2') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_pub_from_spec(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # get the public half of the key priv = self.keys[pkspec] pub = priv.pubkey  assert pub.is_public assert pub.fingerprint == priv.fingerprint  for skid, subkey in priv.subkeys.items(): assert skid in pub.subkeys assert pub.subkeys[skid].is_public assert len(subkey._key) == len(subkey._key.__bytes__())  if gpg: # try to verify with GPG > self.gpg_verify_key(pub) tests/test_05_actions.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _________________ TestPGPKey_Management.test_pub_from_spec[19] _________________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) @pytest.mark.order(after='test_unlock2') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_pub_from_spec(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # get the public half of the key priv = self.keys[pkspec] pub = priv.pubkey  assert pub.is_public assert pub.fingerprint == priv.fingerprint  for skid, subkey in priv.subkeys.items(): assert skid in pub.subkeys assert pub.subkeys[skid].is_public assert len(subkey._key) == len(subkey._key.__bytes__())  if gpg: # try to verify with GPG > self.gpg_verify_key(pub) tests/test_05_actions.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _________________ TestPGPKey_Management.test_pub_from_spec[22] _________________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_unlock2') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_pub_from_spec(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # get the public half of the key priv = self.keys[pkspec] pub = priv.pubkey  assert pub.is_public assert pub.fingerprint == priv.fingerprint  for skid, subkey in priv.subkeys.items(): assert skid in pub.subkeys assert pub.subkeys[skid].is_public assert len(subkey._key) == len(subkey._key.__bytes__())  if gpg: # try to verify with GPG > self.gpg_verify_key(pub) tests/test_05_actions.py:499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] _ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _____ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-DSA-2048] ______ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _____ TestPGPKey_Management.test_revoke_subkey[DSA-RSAEncryptOrSign-2048] ______ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________ TestPGPKey_Management.test_revoke_subkey[DSA-DSA-2048] ____________ self = pkspec = (, 2048) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, 2048) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____ TestPGPKey_Management.test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] _____ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________ TestPGPKey_Management.test_revoke_subkey[ECDSA-DSA-2048] ___________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____ TestPGPKey_Management.test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] _____ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________ TestPGPKey_Management.test_revoke_subkey[EdDSA-DSA-2048] ___________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, 2048) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.132.0.10]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.36.3.3.2.8.1.1.7]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError _ TestPGPKey_Management.test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] _ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) skspec = (, , payload [1.3.6.1.4.1.3029.1.5.1]>>) @pytest.mark.order(after='test_pub_from_spec') @pytest.mark.parametrize('pkspec,skspec', itertools.product(pkeyspecs, skeyspecs), ids=['{}-{}-{}'.format(pk[0].name, sk[0].name, sk[1]) for pk, sk in itertools.product(pkeyspecs, skeyspecs)]) def test_revoke_subkey(self, pkspec, skspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  alg, size = skspec if not alg.can_gen: pytest.xfail('Key algorithm {} not yet supported'.format(alg.name))  if isinstance(size, EllipticCurveOID) and ((not size.can_gen) or size.curve.name not in _openssl_get_supported_curves()): pytest.xfail('Curve {} not yet supported'.format(size.curve.name))  # revoke the subkey key = self.keys[pkspec] # pub = key.pubkey  subkey = next(sk for si, sk in key.subkeys.items() if (sk.key_algorithm, sk.key_size) == skspec)  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(subkey, sigtype=SignatureType.SubkeyRevocation)  assert 'ReasonForRevocation' in rsig._signature.subpackets  subkey |= rsig  # verify with PGPy assert key.verify(subkey, rsig) assert rsig in subkey.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:536: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ___________________ TestPGPKey_Management.test_revoke_key[1] ___________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_revoke_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_revoke_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # revoke the key key = self.keys[pkspec]  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, comment="But you're so oooold")  assert 'ReasonForRevocation' in rsig._signature.subpackets key |= rsig  # verify with PGPy assert key.verify(key, rsig) assert rsig in key.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_revoke_key[17] ___________________ self = pkspec = (, 2048) @pytest.mark.order(after='test_revoke_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_revoke_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # revoke the key key = self.keys[pkspec]  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, comment="But you're so oooold")  assert 'ReasonForRevocation' in rsig._signature.subpackets key |= rsig  # verify with PGPy assert key.verify(key, rsig) assert rsig in key.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_revoke_key[19] ___________________ self = pkspec = (, , payload [1.2.840.10045.3.1.7]>>) @pytest.mark.order(after='test_revoke_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_revoke_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # revoke the key key = self.keys[pkspec]  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, comment="But you're so oooold")  assert 'ReasonForRevocation' in rsig._signature.subpackets key |= rsig  # verify with PGPy assert key.verify(key, rsig) assert rsig in key.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError __________________ TestPGPKey_Management.test_revoke_key[22] ___________________ self = pkspec = (, , payload [1.3.6.1.4.1.11591.15.1]>>) @pytest.mark.order(after='test_revoke_subkey') @pytest.mark.parametrize('pkspec', pkeyspecs, ids=[str(a) for a, s in pkeyspecs]) def test_revoke_key(self, pkspec): if pkspec not in self.keys: pytest.skip('Keyspec {} not in keys; must not have generated'.format(pkspec))  # revoke the key key = self.keys[pkspec]  with key.unlock('This Password Has Been Changed') as ukey: rsig = ukey.revoke(key, sigtype=SignatureType.KeyRevocation, reason=RevocationReason.Retired, comment="But you're so oooold")  assert 'ReasonForRevocation' in rsig._signature.subpackets key |= rsig  # verify with PGPy assert key.verify(key, rsig) assert rsig in key.revocation_signatures  if gpg: # try to verify with GPG > self.gpg_verify_key(key) tests/test_05_actions.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:251: in gpg_verify_key data, vres = c.verify(gpg.Data(string=str(key))) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError ____________________ TestPGPKey_Actions.test_gpg_import_abe ____________________ self = abe = def test_gpg_import_abe(self, abe): if gpg is None: pytest.skip('integration test') # verify all of the things we did to Abe's key with GnuPG in one fell swoop > self.gpg_verify(abe) tests/test_05_actions.py:906: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_05_actions.py:649: in gpg_verify _, vres = c.verify(*vargs) /usr/lib/python3/dist-packages/gpg/core.py:554: in verify raise e /usr/lib/python3/dist-packages/gpg/core.py:550: in verify self.op_verify(signed_data, None, data) /usr/lib/python3/dist-packages/gpg/core.py:147: in _funcwrap return errorcheck(result, name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ retval = 117440601, extradata = 'gpgme_op_verify' def errorcheck(retval, extradata=None): if retval: > raise GPGMEError(retval, extradata) E gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data /usr/lib/python3/dist-packages/gpg/errors.py:129: GPGMEError =============================== warnings summary =============================== pgpy/constants.py:5 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/constants.py:5: DeprecationWarning: 'imghdr' is deprecated and slated for removal in Python 3.13 import imghdr tests/test_05_actions.py:255 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(1) tests/test_05_actions.py:279 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_gen_key') tests/test_05_actions.py:319 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_add_subkey') tests/test_05_actions.py:360 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_add_altuid') tests/test_05_actions.py:377 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_add_photo') tests/test_05_actions.py:390 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_revoke_altuid') tests/test_05_actions.py:402 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_remove_altuid') tests/test_05_actions.py:420 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_add_revocation_key') tests/test_05_actions.py:440 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_protect') tests/test_05_actions.py:455 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_unlock') tests/test_05_actions.py:467 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_change_passphrase') tests/test_05_actions.py:479 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_unlock2') tests/test_05_actions.py:501 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_pub_from_spec') tests/test_05_actions.py:538 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_revoke_subkey') tests/test_05_actions.py:562 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_revoke_key') tests/test_05_actions.py:709 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_sign_string') tests/test_05_actions.py:732 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_sign_message') tests/test_05_actions.py:755 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_sign_ctmessage') tests/test_05_actions.py:773 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_sign_timestamp') tests/test_05_actions.py:798 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_sign_standalone') tests/test_05_actions.py:856 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_certify_uid') tests/test_05_actions.py:873 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_certify_photo') tests/test_05_actions.py:926 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_encrypt_message') tests/test_05_actions.py:950 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/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 @pytest.mark.order(after='test_encrypt_message') .pybuild/cpython3_3.12_pgpy/build/tests/test_01_packetfields.py: 330 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_02_packets.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_03_armor.py: 2 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_04_PGP_objects.py: 10 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 89 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_10_exceptions.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 1 warning /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/constants.py:192: CryptographyDeprecationWarning: IDEA has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.IDEA and will be removed from this module in 45.0.0. bs = {SymmetricKeyAlgorithm.IDEA: algorithms.IDEA, .pybuild/cpython3_3.12_pgpy/build/tests/test_01_packetfields.py: 330 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_02_packets.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_03_armor.py: 2 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_04_PGP_objects.py: 10 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 89 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_10_exceptions.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 1 warning /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/constants.py:193: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0. SymmetricKeyAlgorithm.TripleDES: algorithms.TripleDES, .pybuild/cpython3_3.12_pgpy/build/tests/test_01_packetfields.py: 330 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_02_packets.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_03_armor.py: 2 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_04_PGP_objects.py: 10 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 89 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_10_exceptions.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 1 warning /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/constants.py:194: CryptographyDeprecationWarning: CAST5 has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.CAST5 and will be removed from this module in 45.0.0. SymmetricKeyAlgorithm.CAST5: algorithms.CAST5, .pybuild/cpython3_3.12_pgpy/build/tests/test_01_packetfields.py: 330 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_02_packets.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_03_armor.py: 2 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_04_PGP_objects.py: 10 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 89 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_10_exceptions.py: 6 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 1 warning /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/constants.py:195: CryptographyDeprecationWarning: Blowfish has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.Blowfish and will be removed from this module in 45.0.0. SymmetricKeyAlgorithm.Blowfish: algorithms.Blowfish, .pybuild/cpython3_3.12_pgpy/build/tests/test_04_copy.py: 8 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 56 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 3 warnings /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/pgp.py:2389: UserWarning: TODO: Self-sigs verification is not yet working because self-sigs are not parsed!!! warnings.warn("TODO: Self-sigs verification is not yet working because self-sigs are not parsed!!!") .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 56 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 3 warnings /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/pgp.py:2406: UserWarning: TODO: Revocation checks are not yet implemented!!! warnings.warn("TODO: Revocation checks are not yet implemented!!!") .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py: 56 warnings .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py: 3 warnings /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/pgp.py:2407: UserWarning: TODO: Flags (s.a. `disabled`) checks are not yet implemented!!! warnings.warn("TODO: Flags (s.a. `disabled`) checks are not yet implemented!!!") .pybuild/cpython3_3.12_pgpy/build/tests/test_05_actions.py::TestPGPKey_Actions::test_certify_uid[dsa.1.sec.asc] /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/pgp.py:1834: UserWarning: Selected hash algorithm not in key preferences uid |= self.certify(uid, SignatureType.Positive_Cert, **prefs) .pybuild/cpython3_3.12_pgpy/build/tests/test_99_regressions.py::test_reg_bug_56 /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build/pgpy/packet/subpackets/signature.py:233: UserWarning: Passing TZ-naive datetime object to CreationTime subpacket warnings.warn("Passing TZ-naive datetime object to CreationTime subpacket") -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [1] tests/test_03_armor.py:316: not ready for file 'armoredfile.asc' SKIPPED [1] tests/test_05_actions.py:564: not implemented yet SKIPPED [12] tests/test_05_actions.py:913: Asymmetric encryption only implemented for RSA/ECDH currently SKIPPED [24] tests/test_05_actions.py:933: Message not present; see test_encrypt_message skip or xfail reason SKIPPED [24] tests/test_05_actions.py:957: Message not present; see test_encrypt_message skip or xfail reason XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ElGamal-2048] - reason: Key algorithm ElGamal not yet supported XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Plaintext] - reason: Symmetric cipher 0 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-IDEA] - reason: Symmetric cipher 1 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[ECDSA:EllipticCurveOID.NIST_P256-Twofish256] - reason: Symmetric cipher 10 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Plaintext] - reason: Symmetric cipher 0 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-IDEA] - reason: Symmetric cipher 1 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[EdDSA:EllipticCurveOID.Ed25519-Twofish256] - reason: Symmetric cipher 10 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Plaintext] - reason: Symmetric cipher 0 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-IDEA] - reason: Symmetric cipher 1 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:3072-Twofish256] - reason: Symmetric cipher 10 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Plaintext] - reason: Symmetric cipher 0 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-IDEA] - reason: Symmetric cipher 1 not supported for encryption XFAIL tests/test_05_actions.py::TestPGPKey_Actions::test_encrypt_message[RSAEncryptOrSign:2048-Twofish256] - reason: Symmetric cipher 10 not supported for encryption FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-False] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[0-True] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-False] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[1-True] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-False] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[2-True] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-False] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new[3-True] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-False-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[0-True-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-False-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[1-True-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-False-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[2-True-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-False-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.1.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.2.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.bin] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_from_file[3-True-tests/testdata/files/literal.dashesc.txt] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPMessage::test_new_non_unicode - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: No data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[1-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[17-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[19-EllipticCurveOID.NIST_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_gen_key[22-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[17] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[19] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_altuid[22] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[17] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[19] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_photo[22] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[17] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[19] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_add_revocation_key[22] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[17] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[19] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_protect[22] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[17] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[19] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_pub_from_spec[22] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[RSAEncryptOrSign-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[DSA-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[ECDSA-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-RSAEncryptOrSign-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-DSA-2048] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDSA-EllipticCurveOID.SECP256K1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Brainpool_P256] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-EdDSA-EllipticCurveOID.Ed25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_subkey[EdDSA-ECDH-EllipticCurveOID.Curve25519] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[1] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[17] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[19] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Management::test_revoke_key[22] - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data FAILED tests/test_05_actions.py::TestPGPKey_Actions::test_gpg_import_abe - gpg.errors.GPGMEError: gpgme_op_verify: GPGME: Bad data = 118 failed, 906 passed, 62 skipped, 20 xfailed, 1988 warnings in 99.21s (0:01:39) = E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-pgpy-0.6.0/.pybuild/cpython3_3.12_pgpy/build; python3.12 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12 returned exit code 13 make[1]: *** [debian/rules:25: override_dh_auto_test] Error 25 make[1]: Leaving directory '/build/reproducible-path/python-pgpy-0.6.0' make: *** [debian/rules:6: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2526 and its subdirectories Thu Oct 31 07:53:59 UTC 2024 W: No second build log, what happened?