From: Todd Lyons Date: Thu, 14 Aug 2014 19:36:34 +0000 (-0700) Subject: Properly detect/set test variables from scripts. X-Git-Tag: exim-4_85_RC1~67^2~7 X-Git-Url: https://git.exim.org/users/jgh/exim.git/commitdiff_plain/770feb2f08f38dc1ac8e484659c60c8dd76d370c Properly detect/set test variables from scripts. --- diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 615b4cf96..bb4752fbb 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -2,6 +2,17 @@ Change log file for Exim from version 4.21 ------------------------------------------- +Exim version 4.85 +----------------- +TL/01 When running the test suite, the README says that variables such as + no_msglog_check are global and can be placed anywhere in a specific + test's script, however it was observed that placement needed to be near + the beginning for it to behave that way. Changed the runtest perl + script to read through the entire script once to detect and set these + variables, reset to the beginning of the script, and then run through + the script parsing/test process like normal. + + Exim version 4.84 ----------------- TL/01 Bugzilla 1506: Re-add a 'return NULL' to silence complaints from static 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 (