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:07:41 +0200
commit69420df464d08a8f2d9160a5299163c54a280131 (patch)
tree28d073aa55dc0c1ae512db509e62c31deada0488
parent4a7787c1f274d406a25015026a9905cf7f6dec23 (diff)
downloadredis-fastscript.tar.gz
Scripting test: check that Lua can call commands rewirting argv.fastscript
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