summaryrefslogtreecommitdiff
path: root/tests/unit/scripting.tcl
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 /tests/unit/scripting.tcl
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.
Diffstat (limited to 'tests/unit/scripting.tcl')
-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