This is an automated email from the ASF dual-hosted git repository.

freakyzoidberg pushed a commit to branch fix-theta-empty-seed-hash
in repository https://gitbox.apache.org/repos/asf/datasketches-go.git

commit 979d420e0ef44375b5ccf821c8257db6fa05d87a
Author: Pierre Lacave <[email protected]>
AuthorDate: Tue Sep 29 12:48:46 2026 +0200

    test: accept screened-out updates in snapshot generators
    
    Since the lint cleanup in #181, the theta and tuple snapshot generators
    assert that every update returns no error. An update whose hash is at
    or above theta returns ErrHashExceedsTheta, which is expected once a
    sketch is in estimation mode or sampled with p < 1, so
    `make generate-go-snapshots` fails in both packages. Use assertUpdate,
    as the other tests already do. The generated snapshots are unchanged.
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
---
 theta/sketch_serialization_test.go                | 6 +++---
 tuple/arrayofnumbers_sketch_serialization_test.go | 6 +++---
 tuple/arrayofstrings_sketch_serialization_test.go | 8 ++++----
 tuple/sketch_serialization_test.go                | 2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/theta/sketch_serialization_test.go 
b/theta/sketch_serialization_test.go
index deb2a3d..97fee13 100644
--- a/theta/sketch_serialization_test.go
+++ b/theta/sketch_serialization_test.go
@@ -44,7 +44,7 @@ func TestGenerateGoSnapshots_ThetaSketch(t *testing.T) {
                        sketch, err := NewQuickSelectUpdateSketch()
                        assert.NoError(t, err)
                        for i := 0; i < n; i++ {
-                               assert.NoError(t, sketch.UpdateInt64(int64(i)))
+                               assertUpdate(t, sketch.UpdateInt64(int64(i)))
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
@@ -69,7 +69,7 @@ func TestGenerateGoSnapshots_ThetaSketch(t *testing.T) {
                        sketch, err := NewQuickSelectUpdateSketch()
                        assert.NoError(t, err)
                        for i := 0; i < n; i++ {
-                               assert.NoError(t, sketch.UpdateInt64(int64(i)))
+                               assertUpdate(t, sketch.UpdateInt64(int64(i)))
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
@@ -92,7 +92,7 @@ func TestGenerateGoSnapshots_ThetaSketch(t *testing.T) {
                sketch, err := 
NewQuickSelectUpdateSketch(WithUpdateSketchP(0.01))
                assert.NoError(t, err)
 
-               assert.NoError(t, sketch.UpdateInt64(int64(1)))
+               assertUpdate(t, sketch.UpdateInt64(int64(1)))
                assert.False(t, sketch.IsEmpty())
                assert.Zero(t, sketch.NumRetained())
 
diff --git a/tuple/arrayofnumbers_sketch_serialization_test.go 
b/tuple/arrayofnumbers_sketch_serialization_test.go
index 4e126ae..089b84f 100644
--- a/tuple/arrayofnumbers_sketch_serialization_test.go
+++ b/tuple/arrayofnumbers_sketch_serialization_test.go
@@ -40,7 +40,7 @@ func TestGenerateGoSnapshots_ArrayOfNumbersSketch(t 
*testing.T) {
                        sketch, err := NewArrayOfNumbersUpdateSketch[float64](1)
                        assert.NoError(t, err)
                        for i := 0; i < n; i++ {
-                               assert.NoError(t, sketch.UpdateInt64(int64(i), 
[]float64{float64(i)}))
+                               assertUpdate(t, sketch.UpdateInt64(int64(i), 
[]float64{float64(i)}))
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
@@ -67,7 +67,7 @@ func TestGenerateGoSnapshots_ArrayOfNumbersSketch(t 
*testing.T) {
                        assert.NoError(t, err)
                        for i := 0; i < n; i++ {
                                s := []float64{float64(i), float64(i), 
float64(i)}
-                               assert.NoError(t, sketch.UpdateInt64(int64(i), 
s))
+                               assertUpdate(t, sketch.UpdateInt64(int64(i), s))
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
@@ -94,7 +94,7 @@ func TestGenerateGoSnapshots_ArrayOfNumbersSketch(t 
*testing.T) {
        t.Run("generate non empty no entries", func(t *testing.T) {
                sketch, err := NewArrayOfNumbersUpdateSketch[float64](1, 
WithUpdateSketchP(0.01))
                assert.NoError(t, err)
-               assert.NoError(t, sketch.UpdateInt64(int64(1), []float64{1}))
+               assertUpdate(t, sketch.UpdateInt64(int64(1), []float64{1}))
 
                assert.False(t, sketch.IsEmpty())
                assert.Equal(t, uint32(0), sketch.NumRetained())
diff --git a/tuple/arrayofstrings_sketch_serialization_test.go 
b/tuple/arrayofstrings_sketch_serialization_test.go
index 04dfe3b..d9b273c 100644
--- a/tuple/arrayofstrings_sketch_serialization_test.go
+++ b/tuple/arrayofstrings_sketch_serialization_test.go
@@ -47,7 +47,7 @@ func TestGenerateGoSnapshots_ArrayOfStringsSketch(t 
*testing.T) {
                                s := []string{strconv.Itoa(i)}
                                values := []string{"value" + strconv.Itoa(i)}
                                err := 
sketch.UpdateUint64(GenerateHashKeyFromStrings(s), values)
-                               assert.NoError(t, err)
+                               assertUpdate(t, err)
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
@@ -76,7 +76,7 @@ func TestGenerateGoSnapshots_ArrayOfStringsSketch(t 
*testing.T) {
                                s := []string{strconv.Itoa(i)}
                                values := []string{"a" + strconv.Itoa(i), "b" + 
strconv.Itoa(i), "c" + strconv.Itoa(i)}
                                err := 
sketch.UpdateUint64(GenerateHashKeyFromStrings(s), values)
-                               assert.NoError(t, err)
+                               assertUpdate(t, err)
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
@@ -100,7 +100,7 @@ func TestGenerateGoSnapshots_ArrayOfStringsSketch(t 
*testing.T) {
                sketch, err := NewUpdateSketch[*ArrayOfStringsSummary, 
[]string](NewArrayOfStringsSummaryFunc, WithUpdateSketchP(0.01))
                assert.NoError(t, err)
                err = 
sketch.UpdateUint64(GenerateHashKeyFromStrings([]string{"key"}), 
[]string{"value"})
-               assert.NoError(t, err)
+               assertUpdate(t, err)
 
                assert.False(t, sketch.IsEmpty())
                assert.Equal(t, uint32(0), sketch.NumRetained())
@@ -126,7 +126,7 @@ func TestGenerateGoSnapshots_ArrayOfStringsSketch(t 
*testing.T) {
                        for i := 0; i < n; i++ {
                                s := []string{"key" + strconv.Itoa(i), "subkey" 
+ strconv.Itoa(i%10)}
                                values := []string{"value" + strconv.Itoa(i)}
-                               assert.NoError(t, 
sketch.UpdateUint64(GenerateHashKeyFromStrings(s), values))
+                               assertUpdate(t, 
sketch.UpdateUint64(GenerateHashKeyFromStrings(s), values))
                        }
 
                        assert.True(t, sketch.IsEmpty() == (n == 0))
diff --git a/tuple/sketch_serialization_test.go 
b/tuple/sketch_serialization_test.go
index a83b415..790e7bb 100644
--- a/tuple/sketch_serialization_test.go
+++ b/tuple/sketch_serialization_test.go
@@ -55,7 +55,7 @@ func TestGenerateGoSnapshots(t *testing.T) {
                sketch, err := NewUpdateSketch[*int32Summary, 
int32](newInt32Summary)
                assert.NoError(t, err)
                for i := 0; i < n; i++ {
-                       assert.NoError(t, sketch.UpdateInt64(int64(i), 
int32(i)))
+                       assertUpdate(t, sketch.UpdateInt64(int64(i), int32(i)))
                }
 
                assert.True(t, sketch.IsEmpty() == (n == 0))


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to