From e449c3b03ae53a6b90affaad467e8e81df55600c Mon Sep 17 00:00:00 2001 From: Todd Lyons Date: Thu, 14 Aug 2014 12:36:34 -0700 Subject: [PATCH] Properly detect/set test variables from scripts. --- doc/doc-txt/ChangeLog | 11 +++++++++++ test/runtest | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index bea6b1aa3..a93f9057b 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 a6c4f0acd..c3faa4262 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 (