From: antirez Date: Wed, 6 Jul 2011 13:22:00 +0000 (+0200) Subject: more valgrind friendly test X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/cabe03eb758a898e5c0e6906890fd7ede0cc2be1 more valgrind friendly test --- diff --git a/src/valgrind.sup b/src/valgrind.sup index 7ba75754..3024d63b 100644 --- a/src/valgrind.sup +++ b/src/valgrind.sup @@ -3,3 +3,15 @@ Memcheck:Cond fun:lzf_compress } + +{ + + Memcheck:Value4 + fun:lzf_compress +} + +{ + + Memcheck:Value8 + fun:lzf_compress +} diff --git a/tests/support/server.tcl b/tests/support/server.tcl index c9275461..5c5af37d 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" } } diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index cf55eba0..f034299f 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -138,6 +138,7 @@ proc execute_everything {} { proc main {} { cleanup + set exit_with_error 0 if {[string length $::file] > 0} { foreach {file} [split $::file ,] { @@ -169,8 +170,14 @@ proc main {} { } puts "" - exit 1 + incr exit_with_error + } + + if {[string length $::valgrind_errors]} { + puts "Valgrind errors:\n$::valgrind_errors" + incr exit_with_error } + if {$exit_with_error} {exit 1} } # parse arguments