test failure on git master with decrypt-session-key.scm (and: continuous integration?)
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Sun Feb 26 09:42:20 CET 2017
After a "make check" from git master, i see:
Failed tests: decrypt-session-key.scm
Makefile:920: recipe for target 'xcheck' failed
make: *** [xcheck] Error 1
and decrypt-session-key.scm.log contains:
Checking decryption of supplied files using the session key.
> plain-1 gpg: Fatal: can't open '/tmp/gpgscm-20170226T080733-run-tests-v5v0mB/trustdb.gpg': No such file or directory
0: tests.scm:140: (throw (:stderr result))
1: decrypt-session-key.scm:25: (call-popen `(, at gpg --status-fd=1 --decrypt --show-session-key --output ,sink ,filename) "")
Using "git bisect", it appears that commit
effa80e0b5fd8cf9e31a984afe391c2406edee8b ("gpg: Emit new status
DECRYPTION_KEY") introduces the failure, probably because gpg is now
trying to learn the trust associated with the key it's emitting.
I'm not sure the right way to fix this. The simplest way is probably to
create a trustdb.gpg for the test, but it also seems like gpg --decrypt
shouldn't fail if the trustdb.gpg file is missing, either.
Zooming out a bit:
GnuPG has a good test suite, but this commit has been on master for over
two days now. I'm a little surprised it hasn't been caught. Would it
be possible to set up some sort of continuous integration server that
would run the test suite on each new commit?
It'd be nice if commits wouldn't be merged to master without passing a
continuous integration check like this as well. This would have caught
my recent mistake committing Yuri Chornoivan's word replication cleanup,
which also broke the test suite because the test suite depends on a
duplicated word. Thanks to Gniibe for catching my error and fixing it!
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 832 bytes
Desc: not available
More information about the Gnupg-devel