diff options
Diffstat (limited to 'objectstore/loose')
| -rw-r--r-- | objectstore/loose/helpers_test.go | 13 | ||||
| -rw-r--r-- | objectstore/loose/read_test.go | 4 | ||||
| -rw-r--r-- | objectstore/loose/write_test.go | 12 |
3 files changed, 10 insertions, 19 deletions
diff --git a/objectstore/loose/helpers_test.go b/objectstore/loose/helpers_test.go index 4b0bb60e..6cc50163 100644 --- a/objectstore/loose/helpers_test.go +++ b/objectstore/loose/helpers_test.go @@ -2,8 +2,6 @@ package loose_test import ( "io" - "os" - "path/filepath" "testing" "codeberg.org/lindenii/furgit/internal/testgit" @@ -13,17 +11,10 @@ import ( "codeberg.org/lindenii/furgit/objecttype" ) -func openLooseStore(t *testing.T, repoPath string, algo objectid.Algorithm) *loose.Store { +func openLooseStore(t *testing.T, testRepo *testgit.TestRepo, algo objectid.Algorithm) *loose.Store { t.Helper() - objectsPath := filepath.Join(repoPath, "objects") - - root, err := os.OpenRoot(objectsPath) - if err != nil { - t.Fatalf("OpenRoot(%q): %v", objectsPath, err) - } - - t.Cleanup(func() { _ = root.Close() }) + root := testRepo.OpenObjectsRoot(t) store, err := loose.New(root, algo) if err != nil { diff --git a/objectstore/loose/read_test.go b/objectstore/loose/read_test.go index 1efc1682..44e25910 100644 --- a/objectstore/loose/read_test.go +++ b/objectstore/loose/read_test.go @@ -21,7 +21,7 @@ func TestLooseStoreReadAgainstGit(t *testing.T) { _, treeID, commitID := testRepo.MakeCommit(t, "subject\n\nbody") tagID := testRepo.TagAnnotated(t, "v1", commitID, "tag message") - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) tests := []struct { name string @@ -108,7 +108,7 @@ func TestLooseStoreErrors(t *testing.T) { t.Parallel() testgit.ForEachAlgorithm(t, func(t *testing.T, algo objectid.Algorithm) { //nolint:thelper testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) notFoundID, err := objectid.ParseHex(algo, strings.Repeat("0", algo.HexLen())) if err != nil { diff --git a/objectstore/loose/write_test.go b/objectstore/loose/write_test.go index 5604c5b0..a7b12622 100644 --- a/objectstore/loose/write_test.go +++ b/objectstore/loose/write_test.go @@ -14,7 +14,7 @@ func TestLooseStoreWriteReaderContentAgainstGit(t *testing.T) { t.Parallel() testgit.ForEachAlgorithm(t, func(t *testing.T, algo objectid.Algorithm) { //nolint:thelper testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) content := []byte("written-by-content-reader\n") expectedHex := testRepo.RunInput(t, content, "hash-object", "-t", "blob", "--stdin") @@ -54,7 +54,7 @@ func TestLooseStoreWriteReaderFullAgainstGit(t *testing.T) { t.Parallel() testgit.ForEachAlgorithm(t, func(t *testing.T, algo objectid.Algorithm) { //nolint:thelper testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) body := []byte("full-reader-body\n") @@ -91,7 +91,7 @@ func TestLooseStoreReaderValidationErrors(t *testing.T) { t.Run("content overflow", func(t *testing.T) { t.Parallel() testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) _, err := store.WriteReaderContent(objecttype.TypeBlob, 1, bytes.NewReader([]byte("hello"))) if err == nil { @@ -102,7 +102,7 @@ func TestLooseStoreReaderValidationErrors(t *testing.T) { t.Run("content short", func(t *testing.T) { t.Parallel() testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) _, err := store.WriteReaderContent(objecttype.TypeBlob, 5, bytes.NewReader([]byte("x"))) if err == nil { @@ -113,7 +113,7 @@ func TestLooseStoreReaderValidationErrors(t *testing.T) { t.Run("full malformed header", func(t *testing.T) { t.Parallel() testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) _, err := store.WriteReaderFull(bytes.NewReader([]byte("not-a-header"))) if err == nil { @@ -124,7 +124,7 @@ func TestLooseStoreReaderValidationErrors(t *testing.T) { t.Run("full size mismatch", func(t *testing.T) { t.Parallel() testRepo := testgit.NewRepo(t, testgit.RepoOptions{ObjectFormat: algo, Bare: true}) - store := openLooseStore(t, testRepo.Dir(), algo) + store := openLooseStore(t, testRepo, algo) raw := []byte("blob 1\x00hello") |
