Copilot commented on code in PR #3507:
URL: https://github.com/apache/kvrocks/pull/3507#discussion_r3373032525
##########
tests/gocase/unit/type/bitmap/bitmap_test.go:
##########
@@ -122,261 +125,313 @@ func SimulateBitOp(op BITOP, values ...[]byte) string {
func TestBitmap(t *testing.T) {
srv := util.StartServer(t, map[string]string{})
- defer srv.Close()
+ t.Cleanup(func() { srv.Close() })
ctx := context.Background()
rdb := srv.NewClient()
- defer func() { require.NoError(t, rdb.Close()) }()
+ t.Cleanup(func() { require.NoError(t, rdb.Close()) })
t.Run("GET bitmap string after setbit", func(t *testing.T) {
- require.NoError(t, rdb.SetBit(ctx, "b0", 0, 0).Err())
- require.NoError(t, rdb.SetBit(ctx, "b1", 35, 0).Err())
- Set2SetBit(t, rdb, ctx, "b2", []byte("\xac\x81\x32\x5d\xfe"))
- Set2SetBit(t, rdb, ctx, "b3", []byte("\xff\xff\xff\xff"))
- require.EqualValues(t, []string{"\x00", "\x00\x00\x00\x00\x00",
"\xac\x81\x32\x5d\xfe", "\xff\xff\xff\xff"}, GetBitmap(t, rdb, ctx, "b0", "b1",
"b2", "b3"))
+ t.Parallel()
+ p := util.KeyPrefix(t)
+ b0, b1, b2, b3 := p+"b0", p+"b1", p+"b2", p+"b3"
+ require.NoError(t, rdb.SetBit(ctx, b0, 0, 0).Err())
+ require.NoError(t, rdb.SetBit(ctx, b1, 35, 0).Err())
+ Set2SetBit(t, rdb, ctx, b2, []byte("\xac\x81\x32\x5d\xfe"))
+ Set2SetBit(t, rdb, ctx, b3, []byte("\xff\xff\xff\xff"))
+ require.EqualValues(t, []string{"\x00", "\x00\x00\x00\x00\x00",
"\xac\x81\x32\x5d\xfe", "\xff\xff\xff\xff"}, GetBitmap(t, rdb, ctx, b0, b1, b2,
b3))
})
t.Run("GET bitmap with out of max size", func(t *testing.T) {
+ t.Parallel()
+ p := util.KeyPrefix(t)
+ k := p + "b0"
require.NoError(t, rdb.Do(ctx, "config", "set",
"max-bitmap-to-string-mb", 1).Err())
Review Comment:
This subtest changes a global server config (max-bitmap-to-string-mb) while
running in parallel with the rest of TestBitmap. Because CONFIG SET is
process-wide, it can race with other subtests and cause unrelated GET/bitmap
assertions to fail nondeterministically. Capture the previous value and restore
it via t.Cleanup (or avoid t.Parallel for this subtest).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]