mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-15 17:00:26 +00:00
Fix epg-tests with dummy-pinentry program (Bug#23619)
* test/data/epg/dummy-pinentry: New file. * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf when a passphrase is required. Add debug declaration. Set GPG_AGENT_INFO non-destructively.
This commit is contained in:
parent
7b5e1c8238
commit
b7250496bd
22
test/data/epg/dummy-pinentry
Executable file
22
test/data/epg/dummy-pinentry
Executable file
@ -0,0 +1,22 @@
|
||||
#! /bin/bash
|
||||
# Dummy pinentry
|
||||
#
|
||||
# Copyright 2008 g10 Code GmbH
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This file is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE.
|
||||
|
||||
echo OK Your orders please
|
||||
|
||||
while read cmd; do
|
||||
case $cmd in
|
||||
GETPIN) echo D test0123456789; echo OK;;
|
||||
*) echo OK;;
|
||||
esac
|
||||
done
|
@ -52,8 +52,9 @@
|
||||
require-secret-key)
|
||||
&rest body)
|
||||
"Set up temporary locations and variables for testing."
|
||||
(declare (indent 1))
|
||||
`(let ((epg-tests-home-directory (make-temp-file "epg-tests-homedir" t)))
|
||||
(declare (indent 1) (debug (sexp body)))
|
||||
`(let ((epg-tests-home-directory (make-temp-file "epg-tests-homedir" t))
|
||||
(process-environment (cons "GPG_AGENT_INFO" process-environment)))
|
||||
(unwind-protect
|
||||
(let ((context (epg-make-context 'OpenPGP)))
|
||||
(setf (epg-context-program context)
|
||||
@ -63,11 +64,16 @@
|
||||
`'require-passphrase))))
|
||||
(setf (epg-context-home-directory context)
|
||||
epg-tests-home-directory)
|
||||
(setenv "GPG_AGENT_INFO")
|
||||
,(if require-passphrase
|
||||
`(epg-context-set-passphrase-callback
|
||||
context
|
||||
#'epg-tests-passphrase-callback))
|
||||
`(with-temp-file (expand-file-name
|
||||
"gpg-agent.conf" epg-tests-home-directory)
|
||||
(insert "pinentry-program "
|
||||
(expand-file-name "dummy-pinentry"
|
||||
epg-tests-data-directory)
|
||||
"\n")
|
||||
(epg-context-set-passphrase-callback
|
||||
context
|
||||
#'epg-tests-passphrase-callback)))
|
||||
,(if require-public-key
|
||||
`(epg-import-keys-from-file
|
||||
context
|
||||
|
Loading…
Reference in New Issue
Block a user