aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--format/pack/ingest/ingest_test.go50
-rw-r--r--internal/compress/zlib/writer_test.go31
2 files changed, 63 insertions, 18 deletions
diff --git a/format/pack/ingest/ingest_test.go b/format/pack/ingest/ingest_test.go
index 0e51e0fd..d3bb9e41 100644
--- a/format/pack/ingest/ingest_test.go
+++ b/format/pack/ingest/ingest_test.go
@@ -42,10 +42,24 @@ func fixtureBytes(t *testing.T, algo objectid.Algorithm, name string) []byte {
t.Helper()
path := fixturePath(t, algo, name)
+ dir := filepath.Dir(path)
+ base := filepath.Base(path)
- data, err := os.ReadFile(path)
+ root, err := os.OpenRoot(dir)
if err != nil {
- t.Fatalf("read fixture %q: %v", path, err)
+ t.Fatalf("open fixture root %q: %v", dir, err)
+ }
+
+ defer func() {
+ err := root.Close()
+ if err != nil {
+ t.Fatalf("close fixture root %q: %v", dir, err)
+ }
+ }()
+
+ data, err := root.ReadFile(base)
+ if err != nil {
+ t.Fatalf("read fixture %q: %v", base, err)
}
return data
@@ -104,12 +118,36 @@ func verifyReindexOracle(t *testing.T, repo *testgit.TestRepo, packPath, idxPath
_ = repo.Run(t, "index-pack", "--rev-index", "-o", oracleIdxPath, packPath)
oracleRevPath := strings.TrimSuffix(oracleIdxPath, ".idx") + ".rev"
- gotIdx, err := os.ReadFile(idxPath)
+ idxRoot, err := os.OpenRoot(filepath.Dir(idxPath))
+ if err != nil {
+ t.Fatalf("open idx root: %v", err)
+ }
+
+ defer func() {
+ err := idxRoot.Close()
+ if err != nil {
+ t.Fatalf("close idx root: %v", err)
+ }
+ }()
+
+ gotIdx, err := idxRoot.ReadFile(filepath.Base(idxPath))
if err != nil {
t.Fatalf("read idx: %v", err)
}
- wantIdx, err := os.ReadFile(oracleIdxPath)
+ oracleRoot, err := os.OpenRoot(oracleDir)
+ if err != nil {
+ t.Fatalf("open oracle root: %v", err)
+ }
+
+ defer func() {
+ err := oracleRoot.Close()
+ if err != nil {
+ t.Fatalf("close oracle root: %v", err)
+ }
+ }()
+
+ wantIdx, err := oracleRoot.ReadFile(filepath.Base(oracleIdxPath))
if err != nil {
t.Fatalf("read oracle idx: %v", err)
}
@@ -118,12 +156,12 @@ func verifyReindexOracle(t *testing.T, repo *testgit.TestRepo, packPath, idxPath
t.Fatal("idx bytes differ from git index-pack output")
}
- gotRev, err := os.ReadFile(revPath)
+ gotRev, err := idxRoot.ReadFile(filepath.Base(revPath))
if err != nil {
t.Fatalf("read rev: %v", err)
}
- wantRev, err := os.ReadFile(oracleRevPath)
+ wantRev, err := oracleRoot.ReadFile(filepath.Base(oracleRevPath))
if err != nil {
t.Fatalf("read oracle rev: %v", err)
}
diff --git a/internal/compress/zlib/writer_test.go b/internal/compress/zlib/writer_test.go
index f3bfb437..e67a3539 100644
--- a/internal/compress/zlib/writer_test.go
+++ b/internal/compress/zlib/writer_test.go
@@ -9,6 +9,7 @@ import (
"fmt"
"io"
"os"
+ "path/filepath"
"testing"
"codeberg.org/lindenii/furgit/internal/compress/zlib"
@@ -24,29 +25,35 @@ var data = []string{
"test a reasonable sized string that can be compressed",
}
+func testdataRoot(t *testing.T) *os.Root {
+ t.Helper()
+
+ root, err := os.OpenRoot("../testdata")
+ if err != nil {
+ t.Fatalf("open testdata root: %v", err)
+ }
+
+ return root
+}
+
// Tests that compressing and then decompressing the given file at the given compression level and dictionary
// yields equivalent bytes to the original file.
func testFileLevelDict(t *testing.T, fn string, level int, d string) {
t.Helper()
- // Read the file, as golden output.
- golden, err := os.Open(fn)
- if err != nil {
- t.Errorf("%s (level=%d, dict=%q): %v", fn, level, d, err)
-
- return
- }
+ root := testdataRoot(t)
defer func() {
- err := golden.Close()
+ err := root.Close()
if err != nil {
- t.Fatalf("%s (level=%d, dict=%q): close golden: %v", fn, level, d, err)
+ t.Fatalf("%s (level=%d, dict=%q): close testdata root: %v", fn, level, d, err)
}
}()
- b0, err0 := io.ReadAll(golden)
- if err0 != nil {
- t.Errorf("%s (level=%d, dict=%q): %v", fn, level, d, err0)
+ // Read the file, as golden output.
+ b0, err := root.ReadFile(filepath.Base(fn))
+ if err != nil {
+ t.Errorf("%s (level=%d, dict=%q): %v", fn, level, d, err)
return
}