aboutsummaryrefslogtreecommitdiff
path: root/internal/format
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-06-14 14:15:52 +0000
committerGravatar Runxi Yu2026-06-14 14:15:52 +0000
commit56385f0ae0502ad9b406db388e03f7ee028ef4f8 (patch)
treee9405808d08c3d5ce3eb64e3a66c3f0e3f5237e2 /internal/format
parentobject/store/packed, cmd/idx-bloom: NewBuilder wants a PackHash (diff)
internal/format/packidx/bloom: Fix tests
Diffstat (limited to 'internal/format')
-rw-r--r--internal/format/packidx/bloom/bloom_test.go2
-rw-r--r--internal/format/packidx/bloom/lookup_test.go2
-rw-r--r--internal/format/packidx/bloom/roundtrip_test.go16
-rw-r--r--internal/format/packidx/bloom/write_test.go6
4 files changed, 19 insertions, 7 deletions
diff --git a/internal/format/packidx/bloom/bloom_test.go b/internal/format/packidx/bloom/bloom_test.go
index 16295afd..440959f9 100644
--- a/internal/format/packidx/bloom/bloom_test.go
+++ b/internal/format/packidx/bloom/bloom_test.go
@@ -13,7 +13,7 @@ func validFilter(t *testing.T, format id.ObjectFormat) []byte {
// TODO: maybe testgit should have something like this?
t.Helper()
- builder, err := bloom.NewBuilder(format, 4, 2)
+ builder, err := bloom.NewBuilder(format, 4, 2, make([]byte, format.Size()))
if err != nil {
t.Fatal(err)
}
diff --git a/internal/format/packidx/bloom/lookup_test.go b/internal/format/packidx/bloom/lookup_test.go
index adfbcce5..e6264f9a 100644
--- a/internal/format/packidx/bloom/lookup_test.go
+++ b/internal/format/packidx/bloom/lookup_test.go
@@ -12,7 +12,7 @@ func TestMayContainBadLength(t *testing.T) {
format := id.ObjectFormatSHA256
- builder, err := bloom.NewBuilder(format, 4, 2)
+ builder, err := bloom.NewBuilder(format, 4, 2, make([]byte, format.Size()))
if err != nil {
t.Fatal(err)
}
diff --git a/internal/format/packidx/bloom/roundtrip_test.go b/internal/format/packidx/bloom/roundtrip_test.go
index 990c83e0..28db17a5 100644
--- a/internal/format/packidx/bloom/roundtrip_test.go
+++ b/internal/format/packidx/bloom/roundtrip_test.go
@@ -1,6 +1,7 @@
package bloom_test
import (
+ "bytes"
"encoding/binary"
"testing"
@@ -38,12 +39,14 @@ func TestRoundTrip(t *testing.T) {
t.Fatal(err)
}
- builder, err := bloom.NewBuilder(format, bucketCount, k)
+ size := format.Size()
+ packHash := makeOID(size, 0xC0FFEE)
+
+ builder, err := bloom.NewBuilder(format, bucketCount, k, packHash)
if err != nil {
t.Fatal(err)
}
- size := format.Size()
for i := range objects {
builder.Add(makeOID(size, uint64(i)))
}
@@ -53,6 +56,15 @@ func TestRoundTrip(t *testing.T) {
t.Fatal(err)
}
+ if !bytes.Equal(filter.PackHash(), packHash) {
+ t.Fatalf("PackHash = %x, want %x", filter.PackHash(), packHash)
+ }
+
+ err = filter.Verify()
+ if err != nil {
+ t.Fatalf("Verify on a freshly built filter: %v", err)
+ }
+
for i := range objects {
if !filter.MayContain(makeOID(size, uint64(i))) {
t.Fatalf("false negative for added object %d", i)
diff --git a/internal/format/packidx/bloom/write_test.go b/internal/format/packidx/bloom/write_test.go
index 40c42e37..a1cee127 100644
--- a/internal/format/packidx/bloom/write_test.go
+++ b/internal/format/packidx/bloom/write_test.go
@@ -25,7 +25,7 @@ func TestRecommendParams(t *testing.T) {
t.Errorf("n=%d: bucket count %d not a power of two", n, bucketCount)
}
- _, err = bloom.NewBuilder(format, bucketCount, k)
+ _, err = bloom.NewBuilder(format, bucketCount, k, make([]byte, format.Size()))
if err != nil {
t.Errorf("n=%d: recommended parameters rejected: %v", n, err)
}
@@ -55,7 +55,7 @@ func TestNewBuilderRejects(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
- _, err := bloom.NewBuilder(format, tc.bucketCount, tc.k)
+ _, err := bloom.NewBuilder(format, tc.bucketCount, tc.k, make([]byte, format.Size()))
if !errors.Is(err, bloom.ErrInvalidParameters) {
t.Fatalf("error = %v, want ErrInvalidParameters", err)
}
@@ -68,7 +68,7 @@ func TestNewBuilderRejects(t *testing.T) {
func TestAddBadLength(t *testing.T) {
t.Parallel()
- builder, err := bloom.NewBuilder(id.ObjectFormatSHA256, 4, 2)
+ builder, err := bloom.NewBuilder(id.ObjectFormatSHA256, 4, 2, make([]byte, id.ObjectFormatSHA256.Size()))
if err != nil {
t.Fatal(err)
}