Fix test failure of test_XXX caused by upgrade of gpgme from 1.6.0 to 1.8.0: ====================================================================== FAIL: test_encrypt_to_signonly (tests.test_encrypt_decrypt.EncryptDecryptTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/guix-build-python2-pygpgme-0.3.drv-0/pygpgme-0.3/tests/test_encrypt_decrypt.py", line 185, in test_encrypt_to_signonly self.assertEqual(exc.args[0], gpgme.ERR_SOURCE_UNKNOWN) AssertionError: 7 != 0 ---------------------------------------------------------------------- Patch copied from the Debian package pygpgme-0.3-1.2: https://sources.debian.net/src/pygpgme/0.3-1.2/debian/patches/0005-Fix-test-failures-with-pinentry.patch/ From: "Dr. Tobias Quathamer" Date: Thu, 24 Nov 2016 12:20:54 +0100 Subject: Fix test failures with pinentry --- tests/test_encrypt_decrypt.py | 5 +++-- tests/test_passphrase.py | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/test_encrypt_decrypt.py b/tests/test_encrypt_decrypt.py index 21ae83e..05707e1 100644 --- a/tests/test_encrypt_decrypt.py +++ b/tests/test_encrypt_decrypt.py @@ -132,6 +132,7 @@ class EncryptDecryptTestCase(GpgHomeTestCase): os.write(fd, b'Symmetric passphrase\n') ctx = gpgme.Context() ctx.armor = True + ctx.pinentry_mode = gpgme.PINENTRY_MODE_LOOPBACK ctx.passphrase_cb = passphrase ctx.encrypt(None, 0, plaintext, ciphertext) self.assertTrue( @@ -182,8 +183,8 @@ class EncryptDecryptTestCase(GpgHomeTestCase): ctx.encrypt([recipient], gpgme.ENCRYPT_ALWAYS_TRUST, plaintext, ciphertext) except gpgme.GpgmeError as exc: - self.assertEqual(exc.args[0], gpgme.ERR_SOURCE_UNKNOWN) - self.assertEqual(exc.args[1], gpgme.ERR_GENERAL) + self.assertEqual(exc.args[0], gpgme.ERR_SOURCE_GPGME) + self.assertEqual(exc.args[1], gpgme.ERR_UNUSABLE_PUBKEY) else: self.fail('gpgme.GpgmeError not raised') diff --git a/tests/test_passphrase.py b/tests/test_passphrase.py index 35b3c59..05e6811 100644 --- a/tests/test_passphrase.py +++ b/tests/test_passphrase.py @@ -34,6 +34,7 @@ class PassphraseTestCase(GpgHomeTestCase): ctx = gpgme.Context() key = ctx.get_key('EFB052B4230BBBC51914BCBB54DCBBC8DBFB9EB3') ctx.signers = [key] + ctx.pinentry_mode = gpgme.PINENTRY_MODE_LOOPBACK plaintext = BytesIO(b'Hello World\n') signature = BytesIO() @@ -55,6 +56,7 @@ class PassphraseTestCase(GpgHomeTestCase): ctx = gpgme.Context() key = ctx.get_key('EFB052B4230BBBC51914BCBB54DCBBC8DBFB9EB3') ctx.signers = [key] + ctx.pinentry_mode = gpgme.PINENTRY_MODE_LOOPBACK ctx.passphrase_cb = self.passphrase_cb plaintext = BytesIO(b'Hello World\n') signature = BytesIO() .scm (write-file-on-device): Pass 'no-fail flag instead of 'no-create. Use a latin-1 transcoder. * guix/scripts/system/reconfigure.scm (install-bootloader-program): Add a "disk-installer" argument and use it as a fallback. (install-bootloader): Adapt accordingly. * gnu/tests/reconfigure.scm (run-install-bootloader-test): Ditto. Mathieu Othacehe 2020-10-05bootloader: Fix u-boot installation....This is a follow-up of f19cf27c2b9ff92e2c0fd931ef7fde39c376adaa. The bootloader installation must be done on the final disk-image, hence using "disk-image-installer" instead of "installer" callback. * gnu/bootloader/u-boot.scm: Turn all installer callbacks into disk-image-installer callbacks. * gnu/build/bootloader.scm (write-file-on-device): Open the output file with 'no-truncate and 'no-create options. * gnu/system/image.scm (with-imported-modules*): Add (gnu build bootloader) module. Mathieu Othacehe 2020-05-05build: bootloader: Add install-efi procedure....* gnu/build/bootloader.scm (install-efi): New procedure copied from (gnu build vm). (install-efi-loader): New exported procedure, wrapping install-efi. * gnu/build/vm.scm (initialize-hard-disk): Adapt to use install-efi-loader. Mathieu Othacehe 2019-06-17utils: Add 'invoke/quiet'....* gnu/build/bootloader.scm (G_): Remove. (open-pipe-with-stderr, invoke/quiet): Move to... * guix/build/utils.scm: ... here. Use 'let-values' instead of 'define-values' because Guile 2.0 (the bootstrap Guile) doesn't know about 'define-values'. * po/guix/POTFILES.in: Remove gnu/build/bootloader.scm, and add guix/build/utils.scm. * tests/build-utils.scm: Remove import of (gnu build bootloader). Ludovic Courtès 2019-03-16booloader: Add 'invoke/quiet'....* gnu/build/bootloader.scm (G_): New macro. (open-pipe-with-stderr, invoke/quiet): New procedures. * tests/build-utils.scm ("invoke/quiet, success") ("invoke/quiet, failure") ("invoke/quiet, failure, message on stderr"): New tests. * po/guix/POTFILES.in: Add bootloader.scm. Ludovic Courtès 2017-12-15bootloader: Factorize write-file-on-device....* gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader writing in a new procedure write-file-on-device defined in (gnu build bootloader). * gnu/build/bootloader.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. * gnu/system/vm.scm (qemu-img): Adapt to import and use (gnu build bootloader) module during derivation building. * gnu/scripts/system.scm (bootloader-installer-derivation): Ditto. Mathieu Othacehe