From 94ed876c730f181f374ea8a15cd025ce50082eeb Mon Sep 17 00:00:00 2001 From: "Aaron H. Alpar" Date: Mon, 28 Nov 2022 12:21:47 -0800 Subject: [PATCH] use xor instead of fixed value --- cli/command_repository_upgrade_test.go | 11 ++++++++--- tests/testenv/cli_test_env.go | 17 ++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/cli/command_repository_upgrade_test.go b/cli/command_repository_upgrade_test.go index d49c14cae..aaeaa4538 100644 --- a/cli/command_repository_upgrade_test.go +++ b/cli/command_repository_upgrade_test.go @@ -117,6 +117,9 @@ func (s *formatSpecificTestSuite) TestRepositoryUpgradeCommitNever(t *testing.T) "--max-permitted-clock-drift", "1s") require.Contains(t, stderr, "Repository indices have been upgraded.") require.Contains(t, stderr, "Commit mode is set to 'never'. Skipping commit.") + + _, stderr = env.RunAndExpectFailure(t, "repository", "status", "--upgrade-no-block") + require.Contains(t, stderr, "failed to open repository: repository upgrade in progress") case format.FormatVersion2: require.Contains(t, stdout, "Format version: 2") _, stderr := env.RunAndExpectSuccessWithErrOut(t, "repository", "upgrade", @@ -127,6 +130,9 @@ func (s *formatSpecificTestSuite) TestRepositoryUpgradeCommitNever(t *testing.T) "--max-permitted-clock-drift", "1s") require.Contains(t, stderr, "Repository indices have already been migrated to the epoch format, no need to drain other clients") require.Contains(t, stderr, "Commit mode is set to 'never'. Skipping commit.") + + _, stderr = env.RunAndExpectFailure(t, "repository", "status", "--upgrade-no-block") + require.Contains(t, stderr, "failed to open repository: repository upgrade in progress") default: require.Contains(t, stdout, "Format version: 3") env.RunAndExpectFailure(t, "repository", "upgrade", @@ -135,10 +141,9 @@ func (s *formatSpecificTestSuite) TestRepositoryUpgradeCommitNever(t *testing.T) "--io-drain-timeout", "1s", "--allow-unsafe-upgrade", "--status-poll-interval", "1s", "--max-permitted-clock-drift", "1s") - } - _, stderr := env.RunAndExpectFailure(t, "repository", "status", "--upgrade-no-block") - require.Contains(t, stderr, "failed to open repository: repository upgrade in progress") + env.RunAndExpectSuccess(t, "repository", "status", "--upgrade-no-block") + } } func (s *formatSpecificTestSuite) TestRepositoryUpgradeCommitAlways(t *testing.T) { diff --git a/tests/testenv/cli_test_env.go b/tests/testenv/cli_test_env.go index 5929b4f4a..27091fa62 100644 --- a/tests/testenv/cli_test_env.go +++ b/tests/testenv/cli_test_env.go @@ -127,18 +127,12 @@ func (e *CLITest) TweakFile(t *testing.T, dirn, fglob string) { require.NoError(t, err) i := rand.Int63n(l) bs := [1]byte{} - for { - // find a location that isn't already - // the value we want to write - _, err := f.ReadAt(bs[:], i) - require.NoError(t, err) - if bs[0] != 0x00 { - break - } - i = rand.Int63n(l) - } + + _, err = f.ReadAt(bs[:], i) + require.NoError(t, err) + // write the byte - _, err = f.WriteAt([]byte{0x00}, i) + _, err = f.WriteAt([]byte{^bs[0]}, i) require.NoError(t, err) } @@ -183,6 +177,7 @@ func (e *CLITest) RunAndExpectFailure(t *testing.T, args ...string) (stdout, std t.Helper() var err error + stdout, stderr, err = e.Run(t, true, args...) if err == nil { t.Fatalf("'kopia %v' succeeded, but expected failure", strings.Join(args, " "))