fix test suite to pass on windows
On windows, the sync of the second cloned repo to origin failed, because synced/master was a non-fast-forward. This may be a bug of its own, but it's not the issue that this test was intended to test, so disconnect the repos from origin before syncing.
This commit is contained in:
parent
ecd9b6731e
commit
1c997fd08c
4 changed files with 9 additions and 10 deletions
11
Test.hs
11
Test.hs
|
@ -781,6 +781,7 @@ test_conflict_resolution_movein_bug env = withtmpclonerepo env False $ \r1 -> do
|
||||||
forM_ [r1, r2] $ \r -> indir env r $ do
|
forM_ [r1, r2] $ \r -> indir env r $ do
|
||||||
{- Get all files, see check below. -}
|
{- Get all files, see check below. -}
|
||||||
git_annex env "get" [] @? "get failed"
|
git_annex env "get" [] @? "get failed"
|
||||||
|
disconnectOrigin
|
||||||
pair env r1 r2
|
pair env r1 r2
|
||||||
forM_ [r1, r2] $ \r -> indir env r $ do
|
forM_ [r1, r2] $ \r -> indir env r $ do
|
||||||
{- Set up a conflict. -}
|
{- Set up a conflict. -}
|
||||||
|
@ -815,10 +816,12 @@ test_mixed_conflict_resolution env = do
|
||||||
check_mixed_conflict inr1 = withtmpclonerepo env False $ \r1 ->
|
check_mixed_conflict inr1 = withtmpclonerepo env False $ \r1 ->
|
||||||
withtmpclonerepo env False $ \r2 -> do
|
withtmpclonerepo env False $ \r2 -> do
|
||||||
indir env r1 $ do
|
indir env r1 $ do
|
||||||
|
disconnectOrigin
|
||||||
writeFile conflictor "conflictor"
|
writeFile conflictor "conflictor"
|
||||||
git_annex env "add" [conflictor] @? "add conflicter failed"
|
git_annex env "add" [conflictor] @? "add conflicter failed"
|
||||||
git_annex env "sync" [] @? "sync failed in r1"
|
git_annex env "sync" [] @? "sync failed in r1"
|
||||||
indir env r2 $ do
|
indir env r2 $ do
|
||||||
|
disconnectOrigin
|
||||||
createDirectory conflictor
|
createDirectory conflictor
|
||||||
writeFile (conflictor </> "subfile") "subfile"
|
writeFile (conflictor </> "subfile") "subfile"
|
||||||
git_annex env "add" [conflictor] @? "add conflicter failed"
|
git_annex env "add" [conflictor] @? "add conflicter failed"
|
||||||
|
@ -838,16 +841,13 @@ test_mixed_conflict_resolution env = do
|
||||||
<$> getDirectoryContents d)
|
<$> getDirectoryContents d)
|
||||||
@? (d ++ "conflictor file missing")
|
@? (d ++ "conflictor file missing")
|
||||||
|
|
||||||
{- Set up repos as remotes of each other;
|
{- Set up repos as remotes of each other. -}
|
||||||
- remove origin since we're going to sync
|
|
||||||
- some changes to a file. -}
|
|
||||||
pair :: TestEnv -> FilePath -> FilePath -> Assertion
|
pair :: TestEnv -> FilePath -> FilePath -> Assertion
|
||||||
pair env r1 r2 = forM_ [r1, r2] $ \r -> indir env r $ do
|
pair env r1 r2 = forM_ [r1, r2] $ \r -> indir env r $ do
|
||||||
when (r /= r1) $
|
when (r /= r1) $
|
||||||
boolSystem "git" [Params "remote add r1", File ("../../" ++ r1)] @? "remote add"
|
boolSystem "git" [Params "remote add r1", File ("../../" ++ r1)] @? "remote add"
|
||||||
when (r /= r2) $
|
when (r /= r2) $
|
||||||
boolSystem "git" [Params "remote add r2", File ("../../" ++ r2)] @? "remote add"
|
boolSystem "git" [Params "remote add r2", File ("../../" ++ r2)] @? "remote add"
|
||||||
boolSystem "git" [Params "remote rm origin"] @? "remote rm"
|
|
||||||
|
|
||||||
test_map :: TestEnv -> Assertion
|
test_map :: TestEnv -> Assertion
|
||||||
test_map env = intmpclonerepo env $ do
|
test_map env = intmpclonerepo env $ do
|
||||||
|
@ -1117,6 +1117,9 @@ withtmpclonerepo env bare a = do
|
||||||
dir <- tmprepodir
|
dir <- tmprepodir
|
||||||
bracket (clonerepo env mainrepodir dir bare) cleanup a
|
bracket (clonerepo env mainrepodir dir bare) cleanup a
|
||||||
|
|
||||||
|
disconnectOrigin :: Assertion
|
||||||
|
disconnectOrigin = boolSystem "git" [Params "remote rm origin"] @? "remote rm"
|
||||||
|
|
||||||
withgitrepo :: TestEnv -> (FilePath -> Assertion) -> Assertion
|
withgitrepo :: TestEnv -> (FilePath -> Assertion) -> Assertion
|
||||||
withgitrepo env = bracket (setuprepo env mainrepodir) return
|
withgitrepo env = bracket (setuprepo env mainrepodir) return
|
||||||
|
|
||||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -22,6 +22,7 @@ git-annex (5.20140128) UNRELEASED; urgency=medium
|
||||||
* Windows: Avoid using unix-compat's rename, which refuses to rename
|
* Windows: Avoid using unix-compat's rename, which refuses to rename
|
||||||
directories.
|
directories.
|
||||||
* Windows: Fix deletion of repositories by test suite and webapp.
|
* Windows: Fix deletion of repositories by test suite and webapp.
|
||||||
|
* Windows: Test suite 100% passes again.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Tue, 28 Jan 2014 13:57:19 -0400
|
-- Joey Hess <joeyh@debian.org> Tue, 28 Jan 2014 13:57:19 -0400
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,4 @@ windows 7, NTFS = 2 FAILs
|
||||||
|
|
||||||
see attachment for full log of git annex test output
|
see attachment for full log of git annex test output
|
||||||
|
|
||||||
> I am seeing the same 2 failures now (I used to see a lot more!)
|
> Reproduced and [[fixed|done]]. --[[Joey]]
|
||||||
> and have put some analysis in [[todo/windows_support]] about them.
|
|
||||||
> --[[Joey]]
|
|
||||||
|
|
|
@ -12,9 +12,6 @@ now! --[[Joey]]
|
||||||
is much slower than on systems supporting connection caching.
|
is much slower than on systems supporting connection caching.
|
||||||
* The test suite does not 100% pass, although it seems to be getting
|
* The test suite does not 100% pass, although it seems to be getting
|
||||||
quite close! Current known failures:
|
quite close! Current known failures:
|
||||||
* "conflict_resolution (mixed directory and file)" test fails;
|
|
||||||
not because the conflict resolution fails, but the sync fails
|
|
||||||
pushing to synced/master with a non-fast-forward failure.
|
|
||||||
* Some tests fail if git has not had the username and email configured.
|
* 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
|
This is odd because the test suite goes to some lengths to
|
||||||
get env vars set to prevent this problem.
|
get env vars set to prevent this problem.
|
||||||
|
|
Loading…
Reference in a new issue