X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/6eaad66373982aa9c1c0ff6b584c542670548d0e..daab15993273bcced8b438f07c081f2325d6708b:/tests/support/server.tcl diff --git a/tests/support/server.tcl b/tests/support/server.tcl index ad711e6e..fb8c43d0 100644 --- a/tests/support/server.tcl +++ b/tests/support/server.tcl @@ -1,5 +1,6 @@ set ::global_overrides {} set ::tags {} +set ::valgrind_errors {} proc error_and_quit {config_file error} { puts "!!COULD NOT START REDIS-SERVER\n" @@ -16,11 +17,12 @@ proc check_valgrind_errors stderr { close $fd if {![regexp -- {ERROR SUMMARY: 0 errors} $buf] || - ![regexp -- {definitely lost: 0 bytes} $buf]} { + (![regexp -- {definitely lost: 0 bytes} $buf] && + ![regexp -- {no leaks are possible} $buf])} { puts "*** VALGRIND ERRORS ***" puts $buf - puts "--- press enter to continue ---" - gets stdin + puts "-----------------------" + append ::valgrind_errors "$buf\n\n" } } @@ -177,15 +179,12 @@ proc start_server {options {code undefined}} { if {$::valgrind} { exec valgrind --suppressions=src/valgrind.sup src/redis-server $config_file > $stdout 2> $stderr & } else { - if {$::verbose} { - puts "Logging on $stdout / $stderr" - } exec src/redis-server $config_file > $stdout 2> $stderr & } # check that the server actually started # ugly but tries to be as fast as possible... - set retrynum 20 + set retrynum 100 set serverisup 0 if {$::verbose} { @@ -217,7 +216,7 @@ proc start_server {options {code undefined}} { # find out the pid while {![info exists pid]} { - regexp {^\[(\d+)\]} [exec head -n1 $stdout] _ pid + regexp {\[(\d+)\]} [exec cat $stdout] _ pid after 100 }