diff options
author | bodong.ybd <bodong.ybd@alibaba-inc.com> | 2020-09-08 10:45:03 +0800 |
---|---|---|
committer | bodong.ybd <bodong.ybd@alibaba-inc.com> | 2020-09-08 14:27:53 +0800 |
commit | f22fa9594d536cb53f83ed8e508c03d4278778b0 (patch) | |
tree | 30b10a57de4305afb7025194b64b647d53bc452a /tests | |
parent | b491d477c3062d1fb064a794d74643c82d1c4adc (diff) | |
download | redis-f22fa9594d536cb53f83ed8e508c03d4278778b0.tar.gz |
Tests: Some fixes for macOS
1) cur_test: when restart_server, "no such variable" error occurs
./runtest --single integration/rdb
test {client freed during loading}
SET ::cur_test
restart_server
kill_server
test "Check for memory leaks (pid $pid)"
SET ::cur_test
UNSET ::cur_test
UNSET ::cur_test // This global variable has been unset.
2) `ps --ppid` not available on macOS platform, can be replaced with
`pgrep -P pid`.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/support/test.tcl | 1 | ||||
-rw-r--r-- | tests/support/util.tcl | 9 |
2 files changed, 7 insertions, 3 deletions
diff --git a/tests/support/test.tcl b/tests/support/test.tcl index f5b4c8bef..54d323fa2 100644 --- a/tests/support/test.tcl +++ b/tests/support/test.tcl @@ -190,5 +190,4 @@ proc test {name code {okpattern undefined} {options undefined}} { send_data_packet $::test_server_fd err "Detected a memory leak in test '$name': $output" } } - unset ::cur_test } diff --git a/tests/support/util.tcl b/tests/support/util.tcl index ed4ff713a..b9a65358f 100644 --- a/tests/support/util.tcl +++ b/tests/support/util.tcl @@ -508,8 +508,13 @@ proc populate {num prefix size} { proc get_child_pid {idx} { set pid [srv $idx pid] - set fd [open "|ps --ppid $pid -o pid" "r"] - set child_pid [string trim [lindex [split [read $fd] \n] 1]] + if {[string match {*Darwin*} [exec uname -a]]} { + set fd [open "|pgrep -P $pid" "r"] + set child_pid [string trim [lindex [split [read $fd] \n] 0]] + } else { + set fd [open "|ps --ppid $pid -o pid" "r"] + set child_pid [string trim [lindex [split [read $fd] \n] 1]] + } close $fd return $child_pid |