summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2016-06-28 09:42:20 +0200
committerantirez <antirez@gmail.com>2016-06-28 09:42:20 +0200
commit24bd9b19f60712f635ce512a7fa29d6de2d98e39 (patch)
treeec42e009bd68dc4e44e5bc89626824ed7be26dc0
parentf983318e521a6540146eabeeb40634157fdc34b9 (diff)
downloadredis-24bd9b19f60712f635ce512a7fa29d6de2d98e39.tar.gz
Test: new randomized stress tester for #3343 alike bugs.
-rw-r--r--tests/unit/type/list-3.tcl29
1 files changed, 27 insertions, 2 deletions
diff --git a/tests/unit/type/list-3.tcl b/tests/unit/type/list-3.tcl
index 7888409ec..b5bd48cb0 100644
--- a/tests/unit/type/list-3.tcl
+++ b/tests/unit/type/list-3.tcl
@@ -27,8 +27,33 @@ start_server {
} {PONG}
test {Stress tester for #3343-alike bugs} {
- for {set j 0} {$j < 100} {incr j} {
- puts [randomInt 10]
+ r del key
+ for {set j 0} {$j < 10000} {incr j} {
+ set op [randomInt 6]
+ set small_signed_count [expr 5-[randomInt 10]]
+ if {[randomInt 2] == 0} {
+ set ele [randomInt 1000]
+ } else {
+ set ele [string repeat x [randomInt 10000]][randomInt 1000]
+ }
+ switch $op {
+ 0 {r lpush key $ele}
+ 1 {r rpush key $ele}
+ 2 {r lpop key}
+ 3 {r rpop key}
+ 4 {
+ catch {r lset key $small_signed_count $ele}
+ }
+ 5 {
+ set otherele [randomInt 1000]
+ if {[randomInt 2] == 0} {
+ set where before
+ } else {
+ set where after
+ }
+ r linsert key $where $otherele $ele
+ }
+ }
}
}