diff options
author | 2014-02-04 14:23:41 -0400 | |
---|---|---|
committer | 2014-02-04 14:31:52 -0400 | |
commit | 53518c58de6245763f570cbea0a84bbf7d1347eb (patch) | |
tree | debeeb00c61ef2c5a6f7877019d4816ff8bed6f8 | |
parent | 348ae0c980b690f303f04e4d5d828bf3c0cb65a4 (diff) |
set up git email config in clone repos too when running test
This fixes the problem of the environment variables apparently not being
seen on Windows. I could probably remove the setting of the env vars from
Test.hs now as this covers it better.
Note that outside the test suite, git-annex on windows seems to manage to
configure the repo so commits work on its own.
-rw-r--r-- | Test.hs | 13 | ||||
-rw-r--r-- | doc/todo/windows_support.mdwn | 5 |
2 files changed, 9 insertions, 9 deletions
@@ -948,7 +948,8 @@ test_rsync_remote env = intmpclonerepo env $ do not <$> git_annex env "drop" [annexedfile, "--numcopies=2"] @? "drop failed to fail" annexed_present annexedfile #else - -- this test doesn't work in Windows TODO + -- Rsync remotes with a rsyncurl of a directory do not currently + -- work on Windows. noop #endif @@ -1140,9 +1141,7 @@ setuprepo env dir = do cleanup dir ensuretmpdir boolSystem "git" [Params "init -q", File dir] @? "git init failed" - indir env dir $ do - boolSystem "git" [Params "config user.name", Param "Test User"] @? "git config failed" - boolSystem "git" [Params "config user.email test@example.com"] @? "git config failed" + configrepo env dir return dir -- clones are always done as local clones; we cannot test ssh clones @@ -1154,11 +1153,17 @@ clonerepo env old new bare = do boolSystem "git" [Params ("clone -q" ++ b), File old, File new] @? "git clone failed" indir env new $ git_annex env "init" ["-q", new] @? "git annex init failed" + configrepo env new when (not bare) $ indir env new $ handleforcedirect env return new +configrepo :: TestEnv -> FilePath -> IO () +configrepo env dir = indir env dir $ do + boolSystem "git" [Params "config user.name", Param "Test User"] @? "git config failed" + boolSystem "git" [Params "config user.email test@example.com"] @? "git config failed" + handleforcedirect :: TestEnv -> IO () handleforcedirect env = when (M.lookup "FORCEDIRECT" env == Just "1") $ git_annex env "direct" ["-q"] @? "git annex direct failed" diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn index c7078ec8d..ae27ac46b 100644 --- a/doc/todo/windows_support.mdwn +++ b/doc/todo/windows_support.mdwn @@ -13,11 +13,6 @@ now! --[[Joey]] * Ssh connection caching does not work on Windows, so `git annex get` has to connect twice to the remote system over ssh per file, which is much slower than on systems supporting connection caching. -* The test suite does not 100% pass, although it seems to be getting - quite close! Current known failures: - * Some tests fail if git has not had the username and email configured. - This is odd because the test suite goes to some lengths to - get env vars set to prevent this problem. * `git annex assistant` has not been tested, is probably quite incomplete and/or buggy. * Doesn't daemonize. Maybe use |