X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/9e5d2e8bd664743d309f1647e29cdaf43f463051..73db2acc374c99ca8224e44a7383f69e7ca24a4f:/tests/unit/other.tcl diff --git a/tests/unit/other.tcl b/tests/unit/other.tcl index 00d2dd46..5967c722 100644 --- a/tests/unit/other.tcl +++ b/tests/unit/other.tcl @@ -1,4 +1,4 @@ -start_server {} { +start_server {tags {"other"}} { test {SAVE - make sure there are all the types as values} { # Wait for a background saving in progress to terminate waitForBgsave r @@ -12,20 +12,22 @@ start_server {} { r save } {OK} - foreach fuzztype {binary alpha compr} { - test "FUZZ stresser with data model $fuzztype" { - set err 0 - for {set i 0} {$i < 10000} {incr i} { - set fuzz [randstring 0 512 $fuzztype] - r set foo $fuzz - set got [r get foo] - if {$got ne $fuzz} { - set err [list $fuzz $got] - break + tags {"slow"} { + foreach fuzztype {binary alpha compr} { + test "FUZZ stresser with data model $fuzztype" { + set err 0 + for {set i 0} {$i < 10000} {incr i} { + set fuzz [randstring 0 512 $fuzztype] + r set foo $fuzz + set got [r get foo] + if {$got ne $fuzz} { + set err [list $fuzz $got] + break + } } - } - set _ $err - } {0} + set _ $err + } {0} + } } test {BGSAVE} { @@ -44,23 +46,56 @@ start_server {} { set _ $err } {*invalid*} - if {![catch {package require sha1}]} { - test {Check consistency of different data types after a reload} { - r flushdb - createComplexDataset r 10000 - set sha1 [r debug digest] - r debug reload - set sha1_after [r debug digest] - expr {$sha1 eq $sha1_after} - } {1} - - test {Same dataset digest if saving/reloading as AOF?} { - r bgrewriteaof - waitForBgrewriteaof r - r debug loadaof - set sha1_after [r debug digest] - expr {$sha1 eq $sha1_after} - } {1} + tags {consistency} { + if {![catch {package require sha1}]} { + test {Check consistency of different data types after a reload} { + r flushdb + createComplexDataset r 10000 + set dump [csvdump r] + set sha1 [r debug digest] + r debug reload + set sha1_after [r debug digest] + if {$sha1 eq $sha1_after} { + set _ 1 + } else { + set newdump [csvdump r] + puts "Consistency test failed!" + puts "You can inspect the two dumps in /tmp/repldump*.txt" + + set fd [open /tmp/repldump1.txt w] + puts $fd $dump + close $fd + set fd [open /tmp/repldump2.txt w] + puts $fd $newdump + close $fd + + set _ 0 + } + } {1} + + test {Same dataset digest if saving/reloading as AOF?} { + r bgrewriteaof + waitForBgrewriteaof r + r debug loadaof + set sha1_after [r debug digest] + if {$sha1 eq $sha1_after} { + set _ 1 + } else { + set newdump [csvdump r] + puts "Consistency test failed!" + puts "You can inspect the two dumps in /tmp/aofdump*.txt" + + set fd [open /tmp/aofdump1.txt w] + puts $fd $dump + close $fd + set fd [open /tmp/aofdump2.txt w] + puts $fd $newdump + close $fd + + set _ 0 + } + } {1} + } } test {EXPIRES after a reload (snapshot + append only file)} {