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]
