Added tests for AOF rewrite.
This commit is contained in:
parent
38c06fa037
commit
570bbcf8e0
@ -25,6 +25,7 @@ set ::all_tests {
|
||||
unit/other
|
||||
unit/cas
|
||||
unit/quit
|
||||
unit/aofrw
|
||||
integration/replication
|
||||
integration/replication-2
|
||||
integration/replication-3
|
||||
|
107
tests/unit/aofrw.tcl
Normal file
107
tests/unit/aofrw.tcl
Normal file
@ -0,0 +1,107 @@
|
||||
start_server {tags {"aofrw"}} {
|
||||
foreach d {string int} {
|
||||
foreach e {ziplist linkedlist} {
|
||||
test "AOF rewrite of list with $e encoding, $d data" {
|
||||
r flushall
|
||||
if {$e eq {ziplist}} {set len 10} else {set len 1000}
|
||||
for {set j 0} {$j < $len} {incr j} {
|
||||
if {$d eq {string}} {
|
||||
set data [randstring 0 16 alpha]
|
||||
} else {
|
||||
set data [randomInt 4000000000]
|
||||
}
|
||||
r lpush key $data
|
||||
}
|
||||
assert_equal [r object encoding key] $e
|
||||
set d1 [r debug digest]
|
||||
r bgrewriteaof
|
||||
waitForBgrewriteaof r
|
||||
r debug loadaof
|
||||
set d2 [r debug digest]
|
||||
if {$d1 ne $d2} {
|
||||
error "assertion:$d1 is not equal to $d2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach d {string int} {
|
||||
foreach e {intset hashtable} {
|
||||
test "AOF rewrite of set with $e encoding, $d data" {
|
||||
r flushall
|
||||
if {$e eq {intset}} {set len 10} else {set len 1000}
|
||||
for {set j 0} {$j < $len} {incr j} {
|
||||
if {$d eq {string}} {
|
||||
set data [randstring 0 16 alpha]
|
||||
} else {
|
||||
set data [randomInt 4000000000]
|
||||
}
|
||||
r sadd key $data
|
||||
}
|
||||
if {$d ne {string}} {
|
||||
assert_equal [r object encoding key] $e
|
||||
}
|
||||
set d1 [r debug digest]
|
||||
r bgrewriteaof
|
||||
waitForBgrewriteaof r
|
||||
r debug loadaof
|
||||
set d2 [r debug digest]
|
||||
if {$d1 ne $d2} {
|
||||
error "assertion:$d1 is not equal to $d2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach d {string int} {
|
||||
foreach e {zipmap hashtable} {
|
||||
test "AOF rewrite of hash with $e encoding, $d data" {
|
||||
r flushall
|
||||
if {$e eq {zipmap}} {set len 10} else {set len 1000}
|
||||
for {set j 0} {$j < $len} {incr j} {
|
||||
if {$d eq {string}} {
|
||||
set data [randstring 0 16 alpha]
|
||||
} else {
|
||||
set data [randomInt 4000000000]
|
||||
}
|
||||
r hset key $data $data
|
||||
}
|
||||
assert_equal [r object encoding key] $e
|
||||
set d1 [r debug digest]
|
||||
r bgrewriteaof
|
||||
waitForBgrewriteaof r
|
||||
r debug loadaof
|
||||
set d2 [r debug digest]
|
||||
if {$d1 ne $d2} {
|
||||
error "assertion:$d1 is not equal to $d2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach d {string int} {
|
||||
foreach e {ziplist skiplist} {
|
||||
test "AOF rewrite of zset with $e encoding, $d data" {
|
||||
r flushall
|
||||
if {$e eq {ziplist}} {set len 10} else {set len 1000}
|
||||
for {set j 0} {$j < $len} {incr j} {
|
||||
if {$d eq {string}} {
|
||||
set data [randstring 0 16 alpha]
|
||||
} else {
|
||||
set data [randomInt 4000000000]
|
||||
}
|
||||
r zadd key [expr rand()] $data
|
||||
}
|
||||
assert_equal [r object encoding key] $e
|
||||
set d1 [r debug digest]
|
||||
r bgrewriteaof
|
||||
waitForBgrewriteaof r
|
||||
r debug loadaof
|
||||
set d2 [r debug digest]
|
||||
if {$d1 ne $d2} {
|
||||
error "assertion:$d1 is not equal to $d2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user