]> git.saurik.com Git - redis.git/commitdiff
Test: MULTI/EXEC tests moved into multi.tcl.
authorantirez <antirez@gmail.com>
Sat, 17 Nov 2012 10:17:54 +0000 (11:17 +0100)
committerantirez <antirez@gmail.com>
Thu, 22 Nov 2012 09:36:28 +0000 (10:36 +0100)
tests/test_helper.tcl
tests/unit/cas.tcl [deleted file]
tests/unit/multi.tcl [new file with mode: 0644]
tests/unit/other.tcl

index 853193ccdc1f5349ded96703ef9ec5db8d9624e9..38fb1f5394d161d2020e9848662ecb7c902a130c 100644 (file)
@@ -23,7 +23,7 @@ set ::all_tests {
     unit/sort
     unit/expire
     unit/other
-    unit/cas
+    unit/multi
     unit/quit
     unit/aofrw
     integration/replication
diff --git a/tests/unit/cas.tcl b/tests/unit/cas.tcl
deleted file mode 100644 (file)
index 95766ab..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-start_server {tags {"cas"}} {
-    test {EXEC works on WATCHed key not modified} {
-        r watch x y z
-        r watch k
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {EXEC fail on WATCHed key modified (1 key of 1 watched)} {
-        r set x 30
-        r watch x
-        r set x 40
-        r multi
-        r ping
-        r exec
-    } {}
-
-    test {EXEC fail on WATCHed key modified (1 key of 5 watched)} {
-        r set x 30
-        r watch a b x k z
-        r set x 40
-        r multi
-        r ping
-        r exec
-    } {}
-
-    test {EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty} {
-        r flushdb
-        r lpush foo bar
-        r watch foo
-        r sort emptylist store foo
-        r multi
-        r ping
-        r exec
-    } {}
-
-    test {After successful EXEC key is no longer watched} {
-        r set x 30
-        r watch x
-        r multi
-        r ping
-        r exec
-        r set x 40
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {After failed EXEC key is no longer watched} {
-        r set x 30
-        r watch x
-        r set x 40
-        r multi
-        r ping
-        r exec
-        r set x 40
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {It is possible to UNWATCH} {
-        r set x 30
-        r watch x
-        r set x 40
-        r unwatch
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {UNWATCH when there is nothing watched works as expected} {
-        r unwatch
-    } {OK}
-
-    test {FLUSHALL is able to touch the watched keys} {
-        r set x 30
-        r watch x
-        r flushall
-        r multi
-        r ping
-        r exec
-    } {}
-
-    test {FLUSHALL does not touch non affected keys} {
-        r del x
-        r watch x
-        r flushall
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {FLUSHDB is able to touch the watched keys} {
-        r set x 30
-        r watch x
-        r flushdb
-        r multi
-        r ping
-        r exec
-    } {}
-
-    test {FLUSHDB does not touch non affected keys} {
-        r del x
-        r watch x
-        r flushdb
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {WATCH is able to remember the DB a key belongs to} {
-        r select 5
-        r set x 30
-        r watch x
-        r select 1
-        r set x 10
-        r select 5
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {WATCH will consider touched keys target of EXPIRE} {
-        r del x
-        r set x foo
-        r watch x
-        r expire x 10
-        r multi
-        r ping
-        r exec
-    } {}
-
-    test {WATCH will not consider touched expired keys} {
-        r del x
-        r set x foo
-        r expire x 1
-        r watch x
-        after 1100
-        r multi
-        r ping
-        r exec
-    } {PONG}
-
-    test {DISCARD should clear the WATCH dirty flag on the client} {
-        r watch x
-        r set x 10
-        r multi
-        r discard
-        r multi
-        r incr x
-        r exec
-    } {11}
-
-    test {DISCARD should UNWATCH all the keys} {
-        r watch x
-        r set x 10
-        r multi
-        r discard
-        r set x 10
-        r multi
-        r incr x
-        r exec
-    } {11}
-}
diff --git a/tests/unit/multi.tcl b/tests/unit/multi.tcl
new file mode 100644 (file)
index 0000000..9069b95
--- /dev/null
@@ -0,0 +1,213 @@
+start_server {tags {"multi"}} {
+    test {MUTLI / EXEC basics} {
+        r del mylist
+        r rpush mylist a
+        r rpush mylist b
+        r rpush mylist c
+        r multi
+        set v1 [r lrange mylist 0 -1]
+        set v2 [r ping]
+        set v3 [r exec]
+        list $v1 $v2 $v3
+    } {QUEUED QUEUED {{a b c} PONG}}
+
+    test {DISCARD} {
+        r del mylist
+        r rpush mylist a
+        r rpush mylist b
+        r rpush mylist c
+        r multi
+        set v1 [r del mylist]
+        set v2 [r discard]
+        set v3 [r lrange mylist 0 -1]
+        list $v1 $v2 $v3
+    } {QUEUED OK {a b c}}
+
+    test {Nested MULTI are not allowed} {
+        set err {}
+        r multi
+        catch {[r multi]} err
+        r exec
+        set _ $err
+    } {*ERR MULTI*}
+
+    test {MULTI where commands alter argc/argv} {
+        r sadd myset a
+        r multi
+        r spop myset
+        list [r exec] [r exists myset]
+    } {a 0}
+
+    test {WATCH inside MULTI is not allowed} {
+        set err {}
+        r multi
+        catch {[r watch x]} err
+        r exec
+        set _ $err
+    } {*ERR WATCH*}
+
+    test {EXEC works on WATCHed key not modified} {
+        r watch x y z
+        r watch k
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {EXEC fail on WATCHed key modified (1 key of 1 watched)} {
+        r set x 30
+        r watch x
+        r set x 40
+        r multi
+        r ping
+        r exec
+    } {}
+
+    test {EXEC fail on WATCHed key modified (1 key of 5 watched)} {
+        r set x 30
+        r watch a b x k z
+        r set x 40
+        r multi
+        r ping
+        r exec
+    } {}
+
+    test {EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty} {
+        r flushdb
+        r lpush foo bar
+        r watch foo
+        r sort emptylist store foo
+        r multi
+        r ping
+        r exec
+    } {}
+
+    test {After successful EXEC key is no longer watched} {
+        r set x 30
+        r watch x
+        r multi
+        r ping
+        r exec
+        r set x 40
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {After failed EXEC key is no longer watched} {
+        r set x 30
+        r watch x
+        r set x 40
+        r multi
+        r ping
+        r exec
+        r set x 40
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {It is possible to UNWATCH} {
+        r set x 30
+        r watch x
+        r set x 40
+        r unwatch
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {UNWATCH when there is nothing watched works as expected} {
+        r unwatch
+    } {OK}
+
+    test {FLUSHALL is able to touch the watched keys} {
+        r set x 30
+        r watch x
+        r flushall
+        r multi
+        r ping
+        r exec
+    } {}
+
+    test {FLUSHALL does not touch non affected keys} {
+        r del x
+        r watch x
+        r flushall
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {FLUSHDB is able to touch the watched keys} {
+        r set x 30
+        r watch x
+        r flushdb
+        r multi
+        r ping
+        r exec
+    } {}
+
+    test {FLUSHDB does not touch non affected keys} {
+        r del x
+        r watch x
+        r flushdb
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {WATCH is able to remember the DB a key belongs to} {
+        r select 5
+        r set x 30
+        r watch x
+        r select 1
+        r set x 10
+        r select 5
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {WATCH will consider touched keys target of EXPIRE} {
+        r del x
+        r set x foo
+        r watch x
+        r expire x 10
+        r multi
+        r ping
+        r exec
+    } {}
+
+    test {WATCH will not consider touched expired keys} {
+        r del x
+        r set x foo
+        r expire x 1
+        r watch x
+        after 1100
+        r multi
+        r ping
+        r exec
+    } {PONG}
+
+    test {DISCARD should clear the WATCH dirty flag on the client} {
+        r watch x
+        r set x 10
+        r multi
+        r discard
+        r multi
+        r incr x
+        r exec
+    } {11}
+
+    test {DISCARD should UNWATCH all the keys} {
+        r watch x
+        r set x 10
+        r multi
+        r discard
+        r set x 10
+        r multi
+        r incr x
+        r exec
+    } {11}
+}
index 14fd73ac7886c08e7e753800ece0016a7510ecdc..a53f3f5c81bed61aca3d0d8abd60aa710a8215fe 100644 (file)
@@ -193,53 +193,6 @@ start_server {tags {"other"}} {
         } {1}
     }
 
-    test {MUTLI / EXEC basics} {
-        r del mylist
-        r rpush mylist a
-        r rpush mylist b
-        r rpush mylist c
-        r multi
-        set v1 [r lrange mylist 0 -1]
-        set v2 [r ping]
-        set v3 [r exec]
-        list $v1 $v2 $v3
-    } {QUEUED QUEUED {{a b c} PONG}}
-
-    test {DISCARD} {
-        r del mylist
-        r rpush mylist a
-        r rpush mylist b
-        r rpush mylist c
-        r multi
-        set v1 [r del mylist]
-        set v2 [r discard]
-        set v3 [r lrange mylist 0 -1]
-        list $v1 $v2 $v3
-    } {QUEUED OK {a b c}}
-
-    test {Nested MULTI are not allowed} {
-        set err {}
-        r multi
-        catch {[r multi]} err
-        r exec
-        set _ $err
-    } {*ERR MULTI*}
-
-    test {MULTI where commands alter argc/argv} {
-        r sadd myset a
-        r multi
-        r spop myset
-        list [r exec] [r exists myset]
-    } {a 0}
-
-    test {WATCH inside MULTI is not allowed} {
-        set err {}
-        r multi
-        catch {[r watch x]} err
-        r exec
-        set _ $err
-    } {*ERR WATCH*}
-
     test {APPEND basics} {
         list [r append foo bar] [r get foo] \
              [r append foo 100] [r get foo]