]> git.cworth.org Git - notmuch/commitdiff
test: Allow tests to have both gpg and gpgsm active at once
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Thu, 30 Apr 2020 19:34:21 +0000 (15:34 -0400)
committerDavid Bremner <david@tethera.net>
Thu, 30 Apr 2020 20:54:58 +0000 (17:54 -0300)
Without this fix, we couldn't run both add_gnupg_home and
add_gpgsm_home in the same test script.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
test/test-lib.sh

index ac1b9315d44f4d0851ee06ddf6ecc74c6589abd3..1baa2d209a834c1f92328423657d305b6258b33a 100644 (file)
@@ -110,10 +110,10 @@ unset ALTERNATE_EDITOR
 add_gnupg_home ()
 {
     local output
-    [ -d ${GNUPGHOME} ] && return
+    [ -e "${GNUPGHOME}/gpg.conf" ] && return
     _gnupg_exit () { gpgconf --kill all 2>/dev/null || true; }
     at_exit_function _gnupg_exit
-    mkdir -m 0700 "$GNUPGHOME"
+    mkdir -p -m 0700 "$GNUPGHOME"
     gpg --no-tty --import <$NOTMUCH_SRCDIR/test/gnupg-secret-key.asc >"$GNUPGHOME"/import.log 2>&1
     test_debug "cat $GNUPGHOME/import.log"
     if (gpg --quick-random --version >/dev/null 2>&1) ; then
@@ -132,10 +132,10 @@ add_gnupg_home ()
 add_gpgsm_home ()
 {
     local fpr
-    [ -d "$GNUPGHOME" ] && return
+    [ -e "$GNUPGHOME/gpgsm.conf" ] && return
     _gnupg_exit () { gpgconf --kill all 2>/dev/null || true; }
     at_exit_function _gnupg_exit
-    mkdir -m 0700 "$GNUPGHOME"
+    mkdir -p -m 0700 "$GNUPGHOME"
     openssl pkcs12 -export -passout pass: -inkey "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" \
         < "$NOTMUCH_SRCDIR/test/smime/test.crt" | \
         gpgsm --batch --no-tty --no-common-certs-import --pinentry-mode=loopback --passphrase-fd 3 \