2 ////////////////////////////////////////////////////////////////////////////////
4 // File: Changelog1.1.php
6 // Description: Change log for rantest 1.1
7 // Author: Andrew@ClearSCM.com
8 // Created: Mon Apr 28 15:20:06 MST 2008
12 // (c) Copyright 2008, General Dynamics, all rights reserved.
14 // All rights reserved except as subject to DFARS 252.227-7014 of contract
15 // number CP02H8901N issued under prime contract N00039-04-C-2009.
17 // Warning: This document contains technical data whose export is restricted
18 // by the Arms Export Control Act (Title 22, U.S.C., Sec 2751, et seq.) or the
19 // Export Administration Act of 1979, as amended, Title, 50, U.S.C., App. 2401
20 // et seq. Violations of these export laws are subject to severe criminal
21 // penalties. Disseminate in accordance with provisions of DoD Directive
24 ////////////////////////////////////////////////////////////////////////////////
25 $script = basename ($_SERVER["PHP_SELF"]);
26 include_once "$_SERVER[DOCUMENT_ROOT]/php/Utils.php";
27 include_once "$_SERVER[DOCUMENT_ROOT]/php/RantestDB.php";
29 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
30 "http://www.w3.org/TR/html4/strict.dtd">
33 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
34 <link rel="stylesheet" type="text/css" media="screen" href="/css/Testing.css">
35 <link rel="stylesheet" type="text/css" media="screen" href="/css/Tables.nohover.css">
36 <title>RANTEST: ChangeLog</title>
42 <?php print banner ()?>
44 <h1 align=center>RANTEST 1.1 ChangeLog</h1>
47 <li><a href="#1.1.7">Version 1.1.7</a></li>
49 <li><a href="#1.1.6">Version 1.1.6</a></li>
51 <li><a href="#1.1.5">Version 1.1.5</a></li>
53 <li><a href="#1.1.4">Version 1.1.4</a></li>
55 <li><a href="#1.1.3">Version 1.1.3</a></li>
57 <li><a href="#1.1.2">Version 1.1.2</a></li>
59 <li><a href="#1.1.1">Version 1.1.1</a></li>
61 <li><a href="#1.1.0">Version 1.1.0</a></li>
64 <p>This is the ChangeLog for RANTEST for versions 1.1 and up.</p>
69 <li><a href="ChangeLog0.9.php">RANTEST 0.9 ChangeLog</a></li>
71 <li><a href="ChangeLog1.0.php">RANTEST 1.0 ChangeLog</a></li>
73 <li><a href="ChangeLog.php">RANTEST 1.2 ChangeLog</a></li>
76 <h2><a name="1.1.7">Version 1.1.7</a></h2><hr>
81 <li>Changed rantest_build2_log -> rantest_build3_log</li>
84 <h2><a name="1.1.6">Version 1.1.6</a></h2><hr>
89 <li>Changed to properly set TM500_VIEW and NMS_VIEW into the
90 environment of the blade</li>
93 <h2><a name="1.1.5">Version 1.1.5</a></h2><hr>
98 <li>Changed to display error where FEATURE is not set</li>
101 <h2><a name="1.1.4">Version 1.1.4</a></h2><hr>
106 <li>Changed to not use SITE_PERLLIB anymore</li>
108 <li>No longer calls fixUpLogs if rantvl has not been run</li>
110 <li>Handles -regression and options to tests in suite files
117 <li>Rantest no longer assumes that the failed execution of the
118 "shell" command has output to explain the error</li>
120 <li>The shell subrouting now properly returns status</li>
123 <h2><a name="1.1.3">Version 1.1.3</a></h2><hr>
128 <li>Changed to sink rantest under it's own directory</li>
131 <h2><a name="1.1.2">Version 1.1.2</a></h2><hr>
136 <li>Changed to check and set PATH when rantest is running in suite
140 <h2><a name="1.1.1">Version 1.1.1</a></h2><hr>
145 <li>Changed to collect extended logfile even in cases where -timeout
149 <h2><a name="1.1.0">Version 1.1.0</a></h2><hr>
154 <li>Changed to support new validation API described below</li>
157 <h3>New Validation API</h3>
159 <p>It was decided to get rantest out of the business of interpreting
160 validation command lines and instead simply offer <i>variables</i>
161 which would be available for test writers to use. This is viewed as a
162 good thing because future validations and validators can be written
163 and rantest need not be modified to become aware of them. Validations
164 or val lines become not much different than exec shell lines.</p>
166 <p>Rantest therefore supports the following pseudo (and non-pseudo)
167 variables which can be used in val lines (or any other lines for that
171 <li>Any variable in your env(1). (e.g. $USER)</li>
173 <li>$logpath: Absolute path into the "testlogs" area where logfiles
174 will be written.</li>
176 <li>$msgdefs: Absolute path into the simdev vob/msgdefs
179 <li>$validation: Absolute path into the simdev vob/validation
182 <li>$view: Absolute path to your view</li>
187 <p><u>This, of course, means that val lines have to be
188 changed to use the above variables to specify their missing parts.</u> Thus a
189 previous val line of simply:</p>
191 <div class=code><pre>
192 val: valMsgs.pl -p MyConfig.txt
195 <p>would need to be changed to:</p>
197 <div class=code><pre>
198 val: valMsgs.pl -p $msgdefs/MyConfig.txt -l $logpath/Rantvl/RNCLog.txt
201 <p>Note that now the test writer needs to have the valMsgs.pl line
202 specify RNCLog.txt or RBSLog.txt depending on what type of test they
203 are doing. IOW rantest no longer is charged with figuring this
207 Note: Rantest validations are currently not in wide use so now is a
208 good time to implement this change in the API.
211 <p>Similarly, an aal2val line may change from:</p>
213 <div class=code><pre>
214 val: aal2val -config My.conf
219 <div class=code><pre>
220 val: aal2val -config $validations/My.conf -f $logpath/EASTLogs/Server_Logs/rnc_aal2.log
223 <h3>Dynamic filesets:</h3>
225 <p>Some validations run on a fileset which is not known to the test
226 writer at the time s/he is writing the test. In such cases you can
227 designate a fileset that rantest will expand and replace with a comma
228 separated list full pathnames $[<i>dynamic fileset</i>]. So, for
229 example, $[/tmp/*] would return a comma separated list of all files
230 under /tmp. If only a portion of the dynamic file is required you can
231 include an array reference or a slice. For example:</p>
233 <div class=code><pre>
234 val: <<i>validation script</i>> -f $[$logpath/foo*.log][0]
235 val: <<i>validation script</i>> -f $[$logpath/foo*.log][1..2]
238 <p>This would tell rantest to expand $logpath first, then expand the
239 fileset, then take the first (0th) entry file list for the first
240 validation, or create a comma separated list of the second and third
241 pathnames from the file list second validation. So, assuming there
242 were logfiles with the names foo[1-3].log, rantest would expand the
245 <div class=code><pre>
246 val: <<I>validation script</I>> -f /east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo1.log
247 val: <<I>validation script</I>> -f /east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo2.log,/east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo3.log
253 <li>Validations may need to be recorded to expect multiple
254 parameters. For example, -f above for <<i>validation
255 script</i>> needs to accept multple values for -f (Getopt::Long
256 handles this fairly nicely however <<i>validation
257 script</i>>'s logic may need to change somewhat).</li>
259 <li>When using filesets it's possible that empty lists will be returned. For
260 example, if $[$logpath/foo*.log] evaluates to no files you'll get back
261 nothing. Additionally $[$logpath/foo*.log][10..12] will return nothing
262 assuming there are no files in the 10..12 slice.</li>
265 <p>Our final example is tmiVal, which is using multiple config files
266 against a dynamic fileset:</p>
268 <div class=code><pre>
269 val: tmiVal -config config1,config2,config3 -configbase $validations \
270 -logbase $logpath/TM500Logs -logfiles ${$logbase/TM500Logs/TMI.dl.*}
276 <li>tmiVal needs to be re-written to handle these new options</li>
278 <li>-configbase is applied to each leaf node under -config making
279 $configbase/config1, $configbase/config2 and $configbase/config3. It
280 is tmiVal - not rantest - which applies this rule.</li>
282 <li>Similarly $logbase applies to @logfiles like $configbase</li>
284 <li>There is no guarantee that there will only be 3 TMI.dl.*
285 logfiles nor is the ordering of the fileset guaranteed, save for the
286 natural ordering of ls(1).</li>
288 <li>The syntax of \ to indicate continue this line is <b>not</b>
289 supported by rantest and is used above only to enhance