X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/9cf9e6f197a0270a86b26ddfca65a6faa72da893..4774a53b:/tests/support/util.tcl diff --git a/tests/support/util.tcl b/tests/support/util.tcl index a084df90..36bc90d9 100644 --- a/tests/support/util.tcl +++ b/tests/support/util.tcl @@ -25,6 +25,23 @@ proc zlistAlikeSort {a b} { string compare [lindex $a 1] [lindex $b 1] } +# Return all log lines starting with the first line that contains a warning. +# Generally, this will be an assertion error with a stack trace. +proc warnings_from_file {filename} { + set lines [split [exec cat $filename] "\n"] + set matched 0 + set result {} + foreach line $lines { + if {[regexp {^\[\d+\]\s+\d+\s+\w+\s+\d{2}:\d{2}:\d{2} \#} $line]} { + set matched 1 + } + if {$matched} { + lappend result $line + } + } + join $result "\n" +} + # Return value for INFO property proc status {r property} { if {[regexp "\r\n$property:(.*?)\r\n" [$r info] _ value]} { @@ -56,6 +73,16 @@ proc waitForBgrewriteaof r { } } +proc wait_for_sync r { + while 1 { + if {[status r master_link_status] eq "down"} { + after 10 + } else { + break + } + } +} + proc randomInt {max} { expr {int(rand()*$max)} } @@ -161,3 +188,11 @@ proc createComplexDataset {r ops} { } } } + +proc formatCommand {args} { + set cmd "*[llength $args]\r\n" + foreach a $args { + append cmd "$[string length $a]\r\n$a\r\n" + } + set _ $cmd +}