Subject: bug#18575: package-test-signed should use skip-unless, not expected-result

From: Ted Zlatanov <[email-masked]>
Date: Tue, 30 Sep 2014 09:18:28 -0400

On Sat, 27 Sep 2014 18:01:42 -0400 Glenn Morris <[email-masked]> wrote: 

GM> Glenn Morris wrote:
>> package-test-signed should use skip-unless rather than expected-result.
>> The latter can lead to false "failures" when the test succeeds, eg
>> 
>> https://hydra.nixos.org/build/14915239/log/raw

GM> The fact that the test can pass even when epg-check-configuration fails
GM> probably indicates that is the wrong thing to test anyway. The cause on
GM> hydra is probably that HOME does not exist, which causes gpg
GM> --list-config to fail:

GM>   HOME=/tmp/foo/bar  gpg --with-colons --list-config
GM>   gpg: fatal: can't create directory `/tmp/foo/bar/.gnupg': No such file or directory

GM> Perhaps tests should bind epg-gpg-home-directory to a suitable value.

`package-refresh-contents` should create this directory and set it as
the EPG context's homedir. That does not depend, in theory, on
`epg-gpg-home-directory` because `package-refresh-contents` calls
`package-import-keyring` which does:

  (let ((context (epg-make-context 'OpenPGP))
	(homedir (expand-file-name "gnupg" package-user-dir)))
    (make-directory homedir t)
    (epg-context-set-home-directory context homedir)
    ...

Ted