diff --git a/GVFS/GVFS.FunctionalTests/Tests/EnlistmentPerTestCase/RepairTests.cs b/GVFS/GVFS.FunctionalTests/Tests/EnlistmentPerTestCase/RepairTests.cs index b53d2caf85..7f44dcf809 100644 --- a/GVFS/GVFS.FunctionalTests/Tests/EnlistmentPerTestCase/RepairTests.cs +++ b/GVFS/GVFS.FunctionalTests/Tests/EnlistmentPerTestCase/RepairTests.cs @@ -17,8 +17,8 @@ public class RepairTests : TestsWithEnlistmentPerTestCase public void NoFixesNeeded() { this.Enlistment.UnmountGVFS(); - - this.Enlistment.Repair(); + this.Enlistment.Repair(confirm: false); + this.Enlistment.Repair(confirm: true); } [TestCase] @@ -28,12 +28,11 @@ public void FixesCorruptHeadSha() string headFilePath = Path.Combine(this.Enlistment.RepoRoot, ".git", "HEAD"); File.WriteAllText(headFilePath, "0000"); - this.Enlistment.TryMountGVFS().ShouldEqual(false, "GVFS shouldn't mount when HEAD is corrupt"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); - this.Enlistment.MountGVFS(); + this.RepairWithConfirmShouldFix(); } [TestCase] @@ -43,12 +42,11 @@ public void FixesCorruptHeadSymRef() string headFilePath = Path.Combine(this.Enlistment.RepoRoot, ".git", "HEAD"); File.WriteAllText(headFilePath, "ref: refs"); - this.Enlistment.TryMountGVFS().ShouldEqual(false, "GVFS shouldn't mount when HEAD is corrupt"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); - this.Enlistment.MountGVFS(); + this.RepairWithConfirmShouldFix(); } [TestCase] @@ -58,12 +56,11 @@ public void FixesMissingGitIndex() string gitIndexPath = Path.Combine(this.Enlistment.RepoRoot, ".git", "index"); File.Delete(gitIndexPath); - this.Enlistment.TryMountGVFS().ShouldEqual(false, "GVFS shouldn't mount when git index is missing"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); - this.Enlistment.MountGVFS(); + this.RepairWithConfirmShouldFix(); } [TestCase] @@ -84,9 +81,9 @@ public void FixesGitIndexCorruptedWithBadData() this.Enlistment.TryMountGVFS(out output).ShouldEqual(false, "GVFS shouldn't mount when index is corrupt"); output.ShouldContain("Index validation failed"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); - this.Enlistment.MountGVFS(); + this.RepairWithConfirmShouldFix(); } [TestCase] @@ -108,9 +105,9 @@ public void FixesGitIndexContainingAllNulls() this.Enlistment.TryMountGVFS(out output).ShouldEqual(false, "GVFS shouldn't mount when index is corrupt"); output.ShouldContain("Index validation failed"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); - this.Enlistment.MountGVFS(); + this.RepairWithConfirmShouldFix(); } [TestCase] @@ -135,9 +132,9 @@ public void FixesGitIndexCorruptedByTruncation() this.Enlistment.TryMountGVFS(out output).ShouldEqual(false, "GVFS shouldn't mount when index is corrupt"); output.ShouldContain("Index validation failed"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); - this.Enlistment.MountGVFS(); + this.RepairWithConfirmShouldFix(); } [TestCase] @@ -150,11 +147,11 @@ public void FixesCorruptGitConfig() this.Enlistment.TryMountGVFS().ShouldEqual(false, "GVFS shouldn't mount when git config is missing"); - this.Enlistment.Repair(); + this.RepairWithoutConfirmShouldNotFix(); + this.Enlistment.Repair(confirm: true); ProcessResult result = GitProcess.InvokeProcess(this.Enlistment.RepoRoot, "remote add origin " + this.Enlistment.RepoUrl); - result.ExitCode.ShouldEqual(0, result.Errors); - + result.ExitCode.ShouldEqual(0, result.Errors); this.Enlistment.MountGVFS(); } @@ -170,5 +167,17 @@ private void CreateCorruptIndexAndRename(string indexPath, Action