X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/6e0e5bedd9c3a4bf0f53f43c427c88e2866bda0a..4774a53b:/tests/support/server.tcl?ds=inline diff --git a/tests/support/server.tcl b/tests/support/server.tcl index 551e24d1..eb5fe621 100644 --- a/tests/support/server.tcl +++ b/tests/support/server.tcl @@ -25,6 +25,9 @@ proc check_valgrind_errors stderr { } proc kill_server config { + # nothing to kill when running against external server + if {$::external} return + # nevermind if its already dead if {![is_alive $config]} { return } set pid [dict get $config pid] @@ -33,9 +36,11 @@ proc kill_server config { if {![dict exists $config "skipleaks"]} { catch { if {[string match {*Darwin*} [exec uname -a]]} { - test "Check for memory leaks (pid $pid)" { - exec leaks $pid - } {*0 leaks*} + tags {"leaks"} { + test "Check for memory leaks (pid $pid)" { + exec leaks $pid + } {*0 leaks*} + } } } } @@ -91,6 +96,24 @@ proc tags {tags code} { } proc start_server {options {code undefined}} { + # If we are runnign against an external server, we just push the + # host/port pair in the stack the first time + if {$::external} { + if {[llength $::servers] == 0} { + set srv {} + dict set srv "host" $::host + dict set srv "port" $::port + set client [redis $::host $::port] + dict set srv "client" $client + $client select 9 + + # append the server to the stack + lappend ::servers $srv + } + uplevel 1 $code + return + } + # setup defaults set baseconfig "default.conf" set overrides {} @@ -236,11 +259,10 @@ proc start_server {options {code undefined}} { exit 1 } + set ::tags [lrange $::tags 0 end-[llength $tags]] kill_server $srv } else { + set ::tags [lrange $::tags 0 end-[llength $tags]] set _ $srv } - - # remove tags - set ::tags [lrange $::tags 0 end-[llength $tags]] }