From d8b184b3d36378802b1a291acf8ed70ddf0c2343 Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Fri, 10 May 2024 16:01:44 +0200 Subject: [PATCH] repository: convert test helper to return *repository.Repository --- internal/repository/lock_test.go | 4 ++-- internal/repository/prune_test.go | 4 ++-- internal/repository/repair_index_test.go | 4 ++-- internal/repository/repair_pack_test.go | 12 ++++++------ internal/repository/repository_internal_test.go | 4 ++-- internal/repository/repository_test.go | 6 +++--- internal/repository/testing.go | 12 ++++++------ internal/repository/upgrade_repo_test.go | 4 ++-- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/internal/repository/lock_test.go b/internal/repository/lock_test.go index 644fc6b37..7bc32c0fb 100644 --- a/internal/repository/lock_test.go +++ b/internal/repository/lock_test.go @@ -19,7 +19,7 @@ import ( type backendWrapper func(r backend.Backend) (backend.Backend, error) -func openLockTestRepo(t *testing.T, wrapper backendWrapper) restic.Repository { +func openLockTestRepo(t *testing.T, wrapper backendWrapper) *Repository { be := backend.Backend(mem.New()) // initialize repo TestRepositoryWithBackend(t, be, 0, Options{}) @@ -34,7 +34,7 @@ func openLockTestRepo(t *testing.T, wrapper backendWrapper) restic.Repository { return TestOpenBackend(t, be) } -func checkedLockRepo(ctx context.Context, t *testing.T, repo restic.Repository, lockerInst *locker, retryLock time.Duration) (*Unlocker, context.Context) { +func checkedLockRepo(ctx context.Context, t *testing.T, repo *Repository, lockerInst *locker, retryLock time.Duration) (*Unlocker, context.Context) { lock, wrappedCtx, err := lockerInst.Lock(ctx, repo, false, retryLock, func(msg string) {}, func(format string, args ...interface{}) {}) test.OK(t, err) test.OK(t, wrappedCtx.Err()) diff --git a/internal/repository/prune_test.go b/internal/repository/prune_test.go index bff221f49..e12ba6e3d 100644 --- a/internal/repository/prune_test.go +++ b/internal/repository/prune_test.go @@ -14,7 +14,7 @@ import ( ) func testPrune(t *testing.T, opts repository.PruneOptions, errOnUnused bool) { - repo := repository.TestRepository(t).(*repository.Repository) + repo := repository.TestRepository(t) createRandomBlobs(t, repo, 4, 0.5, true) createRandomBlobs(t, repo, 5, 0.5, true) keep, _ := selectBlobs(t, repo, 0.5) @@ -37,7 +37,7 @@ func testPrune(t *testing.T, opts repository.PruneOptions, errOnUnused bool) { rtest.OK(t, plan.Execute(context.TODO(), &progress.NoopPrinter{})) - repo = repository.TestOpenBackend(t, repo.Backend()).(*repository.Repository) + repo = repository.TestOpenBackend(t, repo.Backend()) checker.TestCheckRepo(t, repo, true) if errOnUnused { diff --git a/internal/repository/repair_index_test.go b/internal/repository/repair_index_test.go index adaee3832..5b2c98044 100644 --- a/internal/repository/repair_index_test.go +++ b/internal/repository/repair_index_test.go @@ -17,7 +17,7 @@ func listIndex(t *testing.T, repo restic.Lister) restic.IDSet { } func testRebuildIndex(t *testing.T, readAllPacks bool, damage func(t *testing.T, repo *repository.Repository)) { - repo := repository.TestRepository(t).(*repository.Repository) + repo := repository.TestRepository(t) createRandomBlobs(t, repo, 4, 0.5, true) createRandomBlobs(t, repo, 5, 0.5, true) indexes := listIndex(t, repo) @@ -25,7 +25,7 @@ func testRebuildIndex(t *testing.T, readAllPacks bool, damage func(t *testing.T, damage(t, repo) - repo = repository.TestOpenBackend(t, repo.Backend()).(*repository.Repository) + repo = repository.TestOpenBackend(t, repo.Backend()) rtest.OK(t, repository.RepairIndex(context.TODO(), repo, repository.RepairIndexOptions{ ReadAllPacks: readAllPacks, }, &progress.NoopPrinter{})) diff --git a/internal/repository/repair_pack_test.go b/internal/repository/repair_pack_test.go index 0d16d251f..ccb9bd131 100644 --- a/internal/repository/repair_pack_test.go +++ b/internal/repository/repair_pack_test.go @@ -24,7 +24,7 @@ func listBlobs(repo restic.Repository) restic.BlobSet { return blobs } -func replaceFile(t *testing.T, repo restic.Repository, h backend.Handle, damage func([]byte) []byte) { +func replaceFile(t *testing.T, repo *repository.Repository, h backend.Handle, damage func([]byte) []byte) { buf, err := backendtest.LoadAll(context.TODO(), repo.Backend(), h) test.OK(t, err) buf = damage(buf) @@ -39,17 +39,17 @@ func TestRepairBrokenPack(t *testing.T) { func testRepairBrokenPack(t *testing.T, version uint) { tests := []struct { name string - damage func(t *testing.T, repo restic.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) + damage func(t *testing.T, repo *repository.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) }{ { "valid pack", - func(t *testing.T, repo restic.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { + func(t *testing.T, repo *repository.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { return packsBefore, restic.NewBlobSet() }, }, { "broken pack", - func(t *testing.T, repo restic.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { + func(t *testing.T, repo *repository.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { wrongBlob := createRandomWrongBlob(t, repo) damagedPacks := findPacksForBlobs(t, repo, restic.NewBlobSet(wrongBlob)) return damagedPacks, restic.NewBlobSet(wrongBlob) @@ -57,7 +57,7 @@ func testRepairBrokenPack(t *testing.T, version uint) { }, { "partially broken pack", - func(t *testing.T, repo restic.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { + func(t *testing.T, repo *repository.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { // damage one of the pack files damagedID := packsBefore.List()[0] replaceFile(t, repo, backend.Handle{Type: backend.PackFile, Name: damagedID.String()}, @@ -80,7 +80,7 @@ func testRepairBrokenPack(t *testing.T, version uint) { }, }, { "truncated pack", - func(t *testing.T, repo restic.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { + func(t *testing.T, repo *repository.Repository, packsBefore restic.IDSet) (restic.IDSet, restic.BlobSet) { // damage one of the pack files damagedID := packsBefore.List()[0] replaceFile(t, repo, backend.Handle{Type: backend.PackFile, Name: damagedID.String()}, diff --git a/internal/repository/repository_internal_test.go b/internal/repository/repository_internal_test.go index 16e6e8484..35082774c 100644 --- a/internal/repository/repository_internal_test.go +++ b/internal/repository/repository_internal_test.go @@ -353,7 +353,7 @@ func testStreamPack(t *testing.T, version uint) { } func TestBlobVerification(t *testing.T) { - repo := TestRepository(t).(*Repository) + repo := TestRepository(t) type DamageType string const ( @@ -402,7 +402,7 @@ func TestBlobVerification(t *testing.T) { } func TestUnpackedVerification(t *testing.T) { - repo := TestRepository(t).(*Repository) + repo := TestRepository(t) type DamageType string const ( diff --git a/internal/repository/repository_test.go b/internal/repository/repository_test.go index 67622fdf8..a4733707c 100644 --- a/internal/repository/repository_test.go +++ b/internal/repository/repository_test.go @@ -145,7 +145,7 @@ func testLoadBlob(t *testing.T, version uint) { func TestLoadBlobBroken(t *testing.T) { be := mem.New() - repo := repository.TestRepositoryWithBackend(t, &damageOnceBackend{Backend: be}, restic.StableRepoVersion, repository.Options{}).(*repository.Repository) + repo := repository.TestRepositoryWithBackend(t, &damageOnceBackend{Backend: be}, restic.StableRepoVersion, repository.Options{}) buf := test.Random(42, 1000) var wg errgroup.Group @@ -374,7 +374,7 @@ func TestRepositoryIncrementalIndex(t *testing.T) { } func testRepositoryIncrementalIndex(t *testing.T, version uint) { - repo := repository.TestRepositoryWithVersion(t, version).(*repository.Repository) + repo := repository.TestRepositoryWithVersion(t, version) index.IndexFull = func(*index.Index, bool) bool { return true } @@ -425,7 +425,7 @@ func TestInvalidCompression(t *testing.T) { func TestListPack(t *testing.T) { be := mem.New() - repo := repository.TestRepositoryWithBackend(t, &damageOnceBackend{Backend: be}, restic.StableRepoVersion, repository.Options{}).(*repository.Repository) + repo := repository.TestRepositoryWithBackend(t, &damageOnceBackend{Backend: be}, restic.StableRepoVersion, repository.Options{}) buf := test.Random(42, 1000) var wg errgroup.Group diff --git a/internal/repository/testing.go b/internal/repository/testing.go index 9fb643a46..5d0db1a31 100644 --- a/internal/repository/testing.go +++ b/internal/repository/testing.go @@ -46,7 +46,7 @@ const testChunkerPol = chunker.Pol(0x3DA3358B4DC173) // TestRepositoryWithBackend returns a repository initialized with a test // password. If be is nil, an in-memory backend is used. A constant polynomial // is used for the chunker and low-security test parameters. -func TestRepositoryWithBackend(t testing.TB, be backend.Backend, version uint, opts Options) restic.Repository { +func TestRepositoryWithBackend(t testing.TB, be backend.Backend, version uint, opts Options) *Repository { t.Helper() TestUseLowSecurityKDFParameters(t) restic.TestDisableCheckPolynomial(t) @@ -76,12 +76,12 @@ func TestRepositoryWithBackend(t testing.TB, be backend.Backend, version uint, o // in-memory backend. When the environment variable RESTIC_TEST_REPO is set to // a non-existing directory, a local backend is created there and this is used // instead. The directory is not removed, but left there for inspection. -func TestRepository(t testing.TB) restic.Repository { +func TestRepository(t testing.TB) *Repository { t.Helper() return TestRepositoryWithVersion(t, 0) } -func TestRepositoryWithVersion(t testing.TB, version uint) restic.Repository { +func TestRepositoryWithVersion(t testing.TB, version uint) *Repository { t.Helper() dir := os.Getenv("RESTIC_TEST_REPO") opts := Options{} @@ -103,7 +103,7 @@ func TestRepositoryWithVersion(t testing.TB, version uint) restic.Repository { return TestRepositoryWithBackend(t, nil, version, opts) } -func TestFromFixture(t testing.TB, repoFixture string) (restic.Repository, func()) { +func TestFromFixture(t testing.TB, repoFixture string) (*Repository, func()) { repodir, cleanup := test.Env(t, repoFixture) repo := TestOpenLocal(t, repodir) @@ -111,7 +111,7 @@ func TestFromFixture(t testing.TB, repoFixture string) (restic.Repository, func( } // TestOpenLocal opens a local repository. -func TestOpenLocal(t testing.TB, dir string) restic.Repository { +func TestOpenLocal(t testing.TB, dir string) *Repository { var be backend.Backend be, err := local.Open(context.TODO(), local.Config{Path: dir, Connections: 2}) if err != nil { @@ -123,7 +123,7 @@ func TestOpenLocal(t testing.TB, dir string) restic.Repository { return TestOpenBackend(t, be) } -func TestOpenBackend(t testing.TB, be backend.Backend) restic.Repository { +func TestOpenBackend(t testing.TB, be backend.Backend) *Repository { repo, err := New(be, Options{}) if err != nil { t.Fatal(err) diff --git a/internal/repository/upgrade_repo_test.go b/internal/repository/upgrade_repo_test.go index 47c5f856c..85555692a 100644 --- a/internal/repository/upgrade_repo_test.go +++ b/internal/repository/upgrade_repo_test.go @@ -18,7 +18,7 @@ func TestUpgradeRepoV2(t *testing.T) { t.Fatal("test repo has wrong version") } - err := UpgradeRepo(context.Background(), repo.(*Repository)) + err := UpgradeRepo(context.Background(), repo) rtest.OK(t, err) } @@ -60,7 +60,7 @@ func TestUpgradeRepoV2Failure(t *testing.T) { t.Fatal("test repo has wrong version") } - err := UpgradeRepo(context.Background(), repo.(*Repository)) + err := UpgradeRepo(context.Background(), repo) if err == nil { t.Fatal("expected error returned from Apply(), got nil") }