summaryrefslogtreecommitdiff
path: root/tests/unit/tracking.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/tracking.tcl')
-rw-r--r--tests/unit/tracking.tcl21
1 files changed, 12 insertions, 9 deletions
diff --git a/tests/unit/tracking.tcl b/tests/unit/tracking.tcl
index 8d4fd8c89..f4e6e27ab 100644
--- a/tests/unit/tracking.tcl
+++ b/tests/unit/tracking.tcl
@@ -229,22 +229,25 @@ start_server {tags {"tracking network"}} {
# If a script doesn't call any read command, don't track any keys
r EVAL "redis.call('set', 'key3{t}', 'bar')" 2 key1{t} key2{t}
$rd_sg MSET key2{t} 2 key1{t} 2
+ assert_equal "PONG" [r ping]
- # If a script calls a read command, track all declared keys
- r EVAL "redis.call('get', 'key3{t}')" 2 key1{t} key2{t}
- $rd_sg MSET key2{t} 2 key1{t} 2
+ # If a script calls a read command, just the read keys
+ r EVAL "redis.call('get', 'key2{t}')" 2 key1{t} key2{t}
+ $rd_sg MSET key2{t} 2 key3{t} 2
assert_equal {invalidate key2{t}} [r read]
- assert_equal {invalidate key1{t}} [r read]
+ assert_equal "PONG" [r ping]
# RO variants work like the normal variants
- r EVAL_RO "redis.call('ping')" 2 key1{t} key2{t}
+
+ # If a RO script doesn't call any read command, don't track any keys
+ r EVAL_RO "redis.call('ping')" 2 key1{t} key2{t}
$rd_sg MSET key2{t} 2 key1{t} 2
+ assert_equal "PONG" [r ping]
- r EVAL_RO "redis.call('get', 'key1{t}')" 2 key1{t} key2{t}
- $rd_sg MSET key2{t} 3 key1{t} 3
+ # If a RO script calls a read command, just the read keys
+ r EVAL_RO "redis.call('get', 'key2{t}')" 2 key1{t} key2{t}
+ $rd_sg MSET key2{t} 2 key3{t} 2
assert_equal {invalidate key2{t}} [r read]
- assert_equal {invalidate key1{t}} [r read]
-
assert_equal "PONG" [r ping]
}