summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-01-09 18:19:29 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-01-09 18:19:29 -0400
commit9ffd97442b3f2e4e9de6895d843aee382ad10dfd (patch)
tree769a1ea960ad69355fb5711318a69162523fba8e
parent7675b83efa77527c0b04b87e35f83df67e6af8d7 (diff)
don't use GPG_AGENT_INFO to force batch mode in test suite
Fails with gpg 2. Instead, use a different environment variable. The clean fix would instead be to add an annex.gpg-options configuration. But, that would be rather a lot of work and it's unlikely it would be useful for much else.
-rw-r--r--Utility/Gpg.hs8
-rw-r--r--test.hs2
2 files changed, 7 insertions, 3 deletions
diff --git a/Utility/Gpg.hs b/Utility/Gpg.hs
index 8f7e27870..4c798f273 100644
--- a/Utility/Gpg.hs
+++ b/Utility/Gpg.hs
@@ -23,9 +23,13 @@ newtype KeyIds = KeyIds [String]
stdParams :: [CommandParam] -> IO [String]
stdParams params = do
-- Enable batch mode if GPG_AGENT_INFO is set, to avoid extraneous
- -- gpg output about password prompts.
+ -- gpg output about password prompts. GPG_BATCH is set by the test
+ -- suite for a similar reason.
e <- getEnv "GPG_AGENT_INFO"
- let batch = if isNothing e then [] else ["--batch", "--no-tty"]
+ b <- getEnv "GPG_BATCH"
+ let batch = if isNothing e && isNothing b
+ then []
+ else ["--batch", "--no-tty"]
return $ batch ++ defaults ++ toCommand params
where
-- be quiet, even about checking the trustdb
diff --git a/test.hs b/test.hs
index 2ce3f8b0b..5d01f1116 100644
--- a/test.hs
+++ b/test.hs
@@ -664,7 +664,7 @@ test_bup_remote = "git-annex bup remote" ~: intmpclonerepo $ when Build.SysConfi
test_crypto :: Test
test_crypto = "git-annex crypto" ~: intmpclonerepo $ when Build.SysConfig.gpg $ do
-- force gpg into batch mode for the tests
- setEnv "GPG_AGENT_INFO" "/dev/null" True
+ setEnv "GPG_BATCH" "1" True
Utility.Gpg.testTestHarness @? "test harness self-test failed"
Utility.Gpg.testHarness $ do
createDirectory "dir"