gpg-interface/gpgsm: fix for v2.3
Checking if signing was successful will now accept '[GNUPG]: SIG_CREATED' on the beginning of the first or any subsequent line. Not just explictly the second one anymore. Gpgsm v2.3 changed its output when listing keys from `fingerprint` to `sha1/2 fpr`. This leads to the gpgsm tests silently not being executed because of a failed prerequisite. Switch to gpg's `--with-colons` output format when evaluating test prerequisites to make parsing more robust. This also allows us to combine the existing grep/cut/tr/echo pipe for writing the trustlist.txt into a single awk expression. Adjust error message checking in test for v2.3 specific output changes. Helped-By: Junio C Hamano <gitster@pobox.com> Helped-By: Todd Zullinger <tmz@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
4c53a8c20f
commit
a075e79d2c
@ -72,12 +72,10 @@ test_lazy_prereq GPGSM '
|
||||
--passphrase-fd 0 --pinentry-mode loopback \
|
||||
--import "$TEST_DIRECTORY"/lib-gpg/gpgsm_cert.p12 &&
|
||||
|
||||
gpgsm --homedir "${GNUPGHOME}" -K |
|
||||
grep fingerprint: |
|
||||
cut -d" " -f4 |
|
||||
tr -d "\\n" >"${GNUPGHOME}/trustlist.txt" &&
|
||||
gpgsm --homedir "${GNUPGHOME}" -K --with-colons |
|
||||
awk -F ":" "/^fpr:/ {printf \"%s S relax\\n\", \$10}" \
|
||||
>"${GNUPGHOME}/trustlist.txt" &&
|
||||
|
||||
echo " S relax" >>"${GNUPGHOME}/trustlist.txt" &&
|
||||
echo hello | gpgsm --homedir "${GNUPGHOME}" >/dev/null \
|
||||
-u committer@example.com -o /dev/null --sign -
|
||||
'
|
||||
|
Reference in New Issue
Block a user