Use haskell setenv library to clean up several ugly workarounds for inability to manipulate the environment on windows.

Didn't know that this library existed!

This includes making git-annex not re-exec itself on start on windows, and
making the test suite on Windows run tests without forking.
This commit is contained in:
Joey Hess 2014-10-15 20:33:52 -04:00
parent 65280d91e7
commit 1e59df083d
12 changed files with 40 additions and 79 deletions

View file

@ -1346,7 +1346,6 @@ test_add_subdirs testenv = intmpclonerepo testenv $ do
-- (when the OS allows) so test coverage collection works.
git_annex :: TestEnv -> String -> [String] -> IO Bool
git_annex testenv command params = do
#ifndef mingw32_HOST_OS
forM_ (M.toList testenv) $ \(var, val) ->
Utility.Env.setEnv var val True
@ -1357,11 +1356,6 @@ git_annex testenv command params = do
Left _ -> return False
where
run = GitAnnex.run (command:"-q":params)
#else
Utility.SafeCommand.boolSystemEnv "git-annex"
(map Param $ command : params)
(Just $ M.toList testenv)
#endif
{- Runs git-annex and returns its output. -}
git_annex_output :: TestEnv -> String -> [String] -> IO String