diff options
author | Todd Lyons <tlyons@exim.org> | 2014-08-14 12:36:34 -0700 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2014-08-17 16:51:13 +0100 |
commit | 770feb2f08f38dc1ac8e484659c60c8dd76d370c (patch) | |
tree | cc1d27acabf4b226c4ad2f4e4c8ae3b850e5608a /test | |
parent | fca41d5a245023376c7d7716a3f84abc2aaa4b8e (diff) |
Properly detect/set test variables from scripts.
Diffstat (limited to 'test')
-rwxr-xr-x | test/runtest | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/runtest b/test/runtest index aeca824e1..048fc2a0b 100755 --- a/test/runtest +++ b/test/runtest @@ -3358,9 +3358,20 @@ foreach $test (@test_list) undef %expected_msglogs; # Open the test's script - open(SCRIPT, "scripts/$test") || tests_exit(-1, "Failed to open \"scripts/$test\": $!"); + # Run through the script once to set variables which should be global + while (<SCRIPT>) + { + if (/^no_message_check/) { $message_skip = 1; next; } + if (/^no_msglog_check/) { $msglog_skip = 1; next; } + if (/^no_stderr_check/) { $stderr_skip = 1; next; } + if (/^no_stdout_check/) { $stdout_skip = 1; next; } + if (/^rmfiltertest/) { $rmfiltertest = 1; next; } + if (/^sortlog/) { $sortlog = 1; next; } + } + # Reset to beginning of file for per test interpreting/processing + seek(SCRIPT, 0, 0); # The first line in the script must be a comment that is used to identify # the set of tests as a whole. @@ -3383,6 +3394,8 @@ foreach $test (@test_list) while (<SCRIPT>) { $lineno++; + # Could remove these variable settings because they are already + # set above, but doesn't hurt to leave them here. if (/^no_message_check/) { $message_skip = 1; next; } if (/^no_msglog_check/) { $msglog_skip = 1; next; } if (/^no_stderr_check/) { $stderr_skip = 1; next; } |