summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-05-07 16:04:45 +0200
committerantirez <antirez@gmail.com>2014-05-07 16:12:32 +0200
commit76c31d425e797ddf5daedd29d893d3fc9c7cfc19 (patch)
tree28d073aa55dc0c1ae512db509e62c31deada0488
parent088b9eadc430401df38cc7546ffa3156b71a0cd3 (diff)
downloadredis-76c31d425e797ddf5daedd29d893d3fc9c7cfc19.tar.gz
Scripting test: check that Lua can call commands rewirting argv.
SPOP, tested in the new test, is among the commands rewritng the client->argv argument vector (it gets rewritten as SREM) for command replication purposes. Because of recent optimizations to client->argv caching in the context of the Lua internal Redis client, it is important to test for SPOP to be callable from Lua without bad effects to the other commands.
-rw-r--r--tests/unit/scripting.tcl15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/unit/scripting.tcl b/tests/unit/scripting.tcl
index ff3f00ab5..8916d2351 100644
--- a/tests/unit/scripting.tcl
+++ b/tests/unit/scripting.tcl
@@ -311,8 +311,21 @@ start_server {tags {"scripting"}} {
r config set slave-read-only yes
r slaveof 127.0.0.1 0
r debug loadaof
- r get foo
+ set res [r get foo]
+ r slaveof no one
+ set res
} {102}
+
+ test {We can call scripts rewriting client->argv from Lua} {
+ r del myset
+ r sadd myset a b c
+ r mset a 1 b 2 c 3 d 4
+ assert {[r spop myset] ne {}}
+ assert {[r spop myset] ne {}}
+ assert {[r spop myset] ne {}}
+ assert {[r mget a b c d] eq {1 2 3 4}}
+ assert {[r spop myset] eq {}}
+ }
}
# Start a new server since the last test in this stanza will kill the