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
|
||||
{- Get all files, see check below. -}
|
||||
git_annex env "get" [] @? "get failed"
|
||||
disconnectOrigin
|
||||
pair env r1 r2
|
||||
forM_ [r1, r2] $ \r -> indir env r $ do
|
||||
{- Set up a conflict. -}
|
||||
|
@ -815,10 +816,12 @@ test_mixed_conflict_resolution env = do
|
|||
check_mixed_conflict inr1 = withtmpclonerepo env False $ \r1 ->
|
||||
withtmpclonerepo env False $ \r2 -> do
|
||||
indir env r1 $ do
|
||||
disconnectOrigin
|
||||
writeFile conflictor "conflictor"
|
||||
git_annex env "add" [conflictor] @? "add conflicter failed"
|
||||
git_annex env "sync" [] @? "sync failed in r1"
|
||||
indir env r2 $ do
|
||||
disconnectOrigin
|
||||
createDirectory conflictor
|
||||
writeFile (conflictor </> "subfile") "subfile"
|
||||
git_annex env "add" [conflictor] @? "add conflicter failed"
|
||||
|
@ -838,16 +841,13 @@ test_mixed_conflict_resolution env = do
|
|||
<$> getDirectoryContents d)
|
||||
@? (d ++ "conflictor file missing")
|
||||
|
||||
{- Set up repos as remotes of each other;
|
||||
- remove origin since we're going to sync
|
||||
- some changes to a file. -}
|
||||
{- Set up repos as remotes of each other. -}
|
||||
pair :: TestEnv -> FilePath -> FilePath -> Assertion
|
||||
pair env r1 r2 = forM_ [r1, r2] $ \r -> indir env r $ do
|
||||
when (r /= r1) $
|
||||
boolSystem "git" [Params "remote add r1", File ("../../" ++ r1)] @? "remote add"
|
||||
when (r /= r2) $
|
||||
boolSystem "git" [Params "remote add r2", File ("../../" ++ r2)] @? "remote add"
|
||||
boolSystem "git" [Params "remote rm origin"] @? "remote rm"
|
||||
|
||||
test_map :: TestEnv -> Assertion
|
||||
test_map env = intmpclonerepo env $ do
|
||||
|
@ -1117,6 +1117,9 @@ withtmpclonerepo env bare a = do
|
|||
dir <- tmprepodir
|
||||
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 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
|
||||
directories.
|
||||
* 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
|
||||
|
||||
|
|
|
@ -19,6 +19,4 @@ windows 7, NTFS = 2 FAILs
|
|||
|
||||
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!)
|
||||
> and have put some analysis in [[todo/windows_support]] about them.
|
||||
> --[[Joey]]
|
||||
> Reproduced and [[fixed|done]]. --[[Joey]]
|
||||
|
|
|
@ -12,9 +12,6 @@ now! --[[Joey]]
|
|||
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:
|
||||
* "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.
|
||||
This is odd because the test suite goes to some lengths to
|
||||
get env vars set to prevent this problem.
|
||||
|
|
Loading…
Reference in a new issue