diff options
author | antirez <antirez@gmail.com> | 2014-05-07 16:04:45 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2014-05-07 16:12:32 +0200 |
commit | 76c31d425e797ddf5daedd29d893d3fc9c7cfc19 (patch) | |
tree | 28d073aa55dc0c1ae512db509e62c31deada0488 | |
parent | 088b9eadc430401df38cc7546ffa3156b71a0cd3 (diff) | |
download | redis-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.tcl | 15 |
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 |