summaryrefslogtreecommitdiff
path: root/tests/support/test.tcl
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2020-09-08 14:12:03 +0300
committerGitHub <noreply@github.com>2020-09-08 14:12:03 +0300
commit0a1e7341935dbca4bae582de1a4a26d5ed4c652d (patch)
tree4cfa9d2fd2f016cdb8e0fe9754aa945a475292b9 /tests/support/test.tcl
parentf22fa9594d536cb53f83ed8e508c03d4278778b0 (diff)
downloadredis-0a1e7341935dbca4bae582de1a4a26d5ed4c652d.tar.gz
handle cur_test for nested tests
if there are nested tests and nested servers, we need to restore the previous value of cur_test when a test exist. example: ``` test{test 1} { start_server { test{test 1.1 - master only} { } start_server { test{test 1.2 - with replication} { } } } } ``` when `test 1.1 - master only exists`, we're still inside `test 1`
Diffstat (limited to 'tests/support/test.tcl')
-rw-r--r--tests/support/test.tcl3
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/support/test.tcl b/tests/support/test.tcl
index 54d323fa2..55937b8f4 100644
--- a/tests/support/test.tcl
+++ b/tests/support/test.tcl
@@ -4,6 +4,7 @@ set ::num_failed 0
set ::num_skipped 0
set ::num_aborted 0
set ::tests_failed {}
+set ::cur_test ""
proc fail {msg} {
error "assertion:$msg"
@@ -136,6 +137,7 @@ proc test {name code {okpattern undefined} {options undefined}} {
# set a cur_test global to be logged into new servers that are spown
# and log the test name in all existing servers
+ set prev_test $::cur_test
set ::cur_test "$name in $::curfile"
if {!$::external} {
foreach srv $::servers {
@@ -190,4 +192,5 @@ proc test {name code {okpattern undefined} {options undefined}} {
send_data_packet $::test_server_fd err "Detected a memory leak in test '$name': $output"
}
}
+ set ::cur_test $prev_test
}