From 54f2963f49505b725dcc8b5625c067d0265c1e9c Mon Sep 17 00:00:00 2001 From: rhymes Date: Wed, 24 Feb 2021 15:46:50 +0100 Subject: [PATCH 1/5] Add Redis 6.2 to the GitHub Actions test suite --- .github/workflows/test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index ce6793760..400a992cf 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -34,7 +34,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - redis: ["6.0"] + redis: ["6.2"] ruby: ["3.0", "2.7", "2.6", "2.5", "2.4"] driver: ["ruby", "hiredis", "synchrony"] runs-on: ${{ matrix.os }} @@ -87,7 +87,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - redis: ["5.0", "4.0", "3.2", "3.0"] + redis: ["6.0", 5.0", "4.0", "3.2", "3.0"] ruby: ["jruby-9.2.9.0", "2.3"] driver: ["ruby"] runs-on: ${{ matrix.os }} From 767ca1c1fd26ff671092c82990c9d92fe8c5bf56 Mon Sep 17 00:00:00 2001 From: rhymes Date: Sat, 20 Mar 2021 19:03:45 +0100 Subject: [PATCH 2/5] Fix cluster commands on server test for Redis 6.2 --- test/cluster_commands_on_server_test.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/cluster_commands_on_server_test.rb b/test/cluster_commands_on_server_test.rb index b135de2cb..7999fb1af 100644 --- a/test/cluster_commands_on_server_test.rb +++ b/test/cluster_commands_on_server_test.rb @@ -44,6 +44,7 @@ def test_client_list actual = a_client_info.keys.sort expected = %w[addr age cmd db events fd flags id idle multi name obl oll omem psub qbuf qbuf-free sub] expected << 'user' << 'argv-mem' << 'tot-mem' if version >= '6' + expected << 'laddr' << 'redir' if version >= '6.2' assert_equal expected.sort, actual.sort end @@ -79,10 +80,16 @@ def test_command_getkeys end def test_command_info + eval_command_flags = if version >= '6.2' + %w[noscript may_replicate movablekeys] + else + %w[noscript movablekeys] + end + expected = [ ['get', 2, %w[readonly fast], 1, 1, 1], ['set', -3, %w[write denyoom], 1, 1, 1], - ['eval', -3, %w[noscript movablekeys], 0, 0, 0] + ['eval', -3, eval_command_flags, 0, 0, 0] ] if version >= '6' expected[0] << ["@read", "@string", "@fast"] From c8ad7af4f7749d63f04023c9e6d2fec00b583316 Mon Sep 17 00:00:00 2001 From: rhymes Date: Sat, 20 Mar 2021 19:56:19 +0100 Subject: [PATCH 3/5] Assert xtrim invalid commands raise a CommandError --- test/lint/streams.rb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/test/lint/streams.rb b/test/lint/streams.rb index 6ac52c0e0..9547ec6e4 100644 --- a/test/lint/streams.rb +++ b/test/lint/streams.rb @@ -116,10 +116,17 @@ def test_xtrim_with_not_existed_stream end def test_xtrim_with_invalid_arguments - assert_equal 0, redis.xtrim('', '') - assert_equal 0, redis.xtrim(nil, nil) - assert_equal 0, redis.xtrim('s1', 0) - assert_equal 0, redis.xtrim('s1', -1, approximate: true) + if version >= '6.2' + assert_raises(Redis::CommandError) { redis.xtrim('', '') } + assert_raises(Redis::CommandError) { redis.xtrim(nil, nil) } + assert_raises(Redis::CommandError) { redis.xtrim('s1', 0) } + assert_raises(Redis::CommandError) { redis.xtrim('s1', -1, approximate: true) } + else + assert_equal 0, redis.xtrim('', '') + assert_equal 0, redis.xtrim(nil, nil) + assert_equal 0, redis.xtrim('s1', 0) + assert_equal 0, redis.xtrim('s1', -1, approximate: true) + end end def test_xdel_with_splatted_entry_ids From 5fbb3bc6f9c639175c746c9117a2c606c8f215b9 Mon Sep 17 00:00:00 2001 From: rhymes Date: Sat, 20 Mar 2021 20:02:38 +0100 Subject: [PATCH 4/5] Undo valid command in 6.2 --- test/lint/streams.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/lint/streams.rb b/test/lint/streams.rb index 9547ec6e4..149eab13f 100644 --- a/test/lint/streams.rb +++ b/test/lint/streams.rb @@ -119,7 +119,7 @@ def test_xtrim_with_invalid_arguments if version >= '6.2' assert_raises(Redis::CommandError) { redis.xtrim('', '') } assert_raises(Redis::CommandError) { redis.xtrim(nil, nil) } - assert_raises(Redis::CommandError) { redis.xtrim('s1', 0) } + assert_equal 0, redis.xtrim('s1', 0) assert_raises(Redis::CommandError) { redis.xtrim('s1', -1, approximate: true) } else assert_equal 0, redis.xtrim('', '') From 1ca67be6840e035b99d101740c3c9d265d8aed1a Mon Sep 17 00:00:00 2001 From: rhymes Date: Sat, 20 Mar 2021 20:26:52 +0100 Subject: [PATCH 5/5] Fix string in GitHub action Redis list --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 400a992cf..973d1c7f6 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -87,7 +87,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - redis: ["6.0", 5.0", "4.0", "3.2", "3.0"] + redis: ["6.0", "5.0", "4.0", "3.2", "3.0"] ruby: ["jruby-9.2.9.0", "2.3"] driver: ["ruby"] runs-on: ${{ matrix.os }}