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.6">Version 1.1.6</a></li>
49 <li><a href="#1.1.5">Version 1.1.5</a></li>
51 <li><a href="#1.1.4">Version 1.1.4</a></li>
53 <li><a href="#1.1.3">Version 1.1.3</a></li>
55 <li><a href="#1.1.2">Version 1.1.2</a></li>
57 <li><a href="#1.1.1">Version 1.1.1</a></li>
59 <li><a href="#1.1.0">Version 1.1.0</a></li>
62 <p>This is the ChangeLog for RANTEST for versions 1.1 and up.</p>
67 <li><a href="ChangeLog0.9.php">RANTEST 0.9 ChangeLog</a></li>
69 <li><a href="ChangeLog1.0.php">RANTEST 1.0 ChangeLog</a></li>
71 <li><a href="ChangeLog.php">RANTEST 1.2 ChangeLog</a></li>
74 <h2><a name="1.1.6">Version 1.1.6</a></h2><hr>
79 <li>Changed to properly set TM500_VIEW and NMS_VIEW into the
80 environment of the blade</li>
83 <h2><a name="1.1.5">Version 1.1.5</a></h2><hr>
88 <li>Changed to display error where FEATURE is not set</li>
91 <h2><a name="1.1.4">Version 1.1.4</a></h2><hr>
96 <li>Changed to not use SITE_PERLLIB anymore</li>
98 <li>No longer calls fixUpLogs if rantvl has not been run</li>
100 <li>Handles -regression and options to tests in suite files
107 <li>Rantest no longer assumes that the failed execution of the
108 "shell" command has output to explain the error</li>
110 <li>The shell subrouting now properly returns status</li>
113 <h2><a name="1.1.3">Version 1.1.3</a></h2><hr>
118 <li>Changed to sink rantest under it's own directory</li>
121 <h2><a name="1.1.2">Version 1.1.2</a></h2><hr>
126 <li>Changed to check and set PATH when rantest is running in suite
130 <h2><a name="1.1.1">Version 1.1.1</a></h2><hr>
135 <li>Changed to collect extended logfile even in cases where -timeout
139 <h2><a name="1.1.0">Version 1.1.0</a></h2><hr>
144 <li>Changed to support new validation API described below</li>
147 <h3>New Validation API</h3>
149 <p>It was decided to get rantest out of the business of interpreting
150 validation command lines and instead simply offer <i>variables</i>
151 which would be available for test writers to use. This is viewed as a
152 good thing because future validations and validators can be written
153 and rantest need not be modified to become aware of them. Validations
154 or val lines become not much different than exec shell lines.</p>
156 <p>Rantest therefore supports the following pseudo (and non-pseudo)
157 variables which can be used in val lines (or any other lines for that
161 <li>Any variable in your env(1). (e.g. $USER)</li>
163 <li>$logpath: Absolute path into the "testlogs" area where logfiles
164 will be written.</li>
166 <li>$msgdefs: Absolute path into the simdev vob/msgdefs
169 <li>$validation: Absolute path into the simdev vob/validation
172 <li>$view: Absolute path to your view</li>
177 <p><u>This, of course, means that val lines have to be
178 changed to use the above variables to specify their missing parts.</u> Thus a
179 previous val line of simply:</p>
181 <div class=code><pre>
182 val: valMsgs.pl -p MyConfig.txt
185 <p>would need to be changed to:</p>
187 <div class=code><pre>
188 val: valMsgs.pl -p $msgdefs/MyConfig.txt -l $logpath/Rantvl/RNCLog.txt
191 <p>Note that now the test writer needs to have the valMsgs.pl line
192 specify RNCLog.txt or RBSLog.txt depending on what type of test they
193 are doing. IOW rantest no longer is charged with figuring this
197 Note: Rantest validations are currently not in wide use so now is a
198 good time to implement this change in the API.
201 <p>Similarly, an aal2val line may change from:</p>
203 <div class=code><pre>
204 val: aal2val -config My.conf
209 <div class=code><pre>
210 val: aal2val -config $validations/My.conf -f $logpath/EASTLogs/Server_Logs/rnc_aal2.log
213 <h3>Dynamic filesets:</h3>
215 <p>Some validations run on a fileset which is not known to the test
216 writer at the time s/he is writing the test. In such cases you can
217 designate a fileset that rantest will expand and replace with a comma
218 separated list full pathnames $[<i>dynamic fileset</i>]. So, for
219 example, $[/tmp/*] would return a comma separated list of all files
220 under /tmp. If only a portion of the dynamic file is required you can
221 include an array reference or a slice. For example:</p>
223 <div class=code><pre>
224 val: <<i>validation script</i>> -f $[$logpath/foo*.log][0]
225 val: <<i>validation script</i>> -f $[$logpath/foo*.log][1..2]
228 <p>This would tell rantest to expand $logpath first, then expand the
229 fileset, then take the first (0th) entry file list for the first
230 validation, or create a comma separated list of the second and third
231 pathnames from the file list second validation. So, assuming there
232 were logfiles with the names foo[1-3].log, rantest would expand the
235 <div class=code><pre>
236 val: <<I>validation script</I>> -f /east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo1.log
237 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
243 <li>Validations may need to be recorded to expect multiple
244 parameters. For example, -f above for <<i>validation
245 script</i>> needs to accept multple values for -f (Getopt::Long
246 handles this fairly nicely however <<i>validation
247 script</i>>'s logic may need to change somewhat).</li>
249 <li>When using filesets it's possible that empty lists will be returned. For
250 example, if $[$logpath/foo*.log] evaluates to no files you'll get back
251 nothing. Additionally $[$logpath/foo*.log][10..12] will return nothing
252 assuming there are no files in the 10..12 slice.</li>
255 <p>Our final example is tmiVal, which is using multiple config files
256 against a dynamic fileset:</p>
258 <div class=code><pre>
259 val: tmiVal -config config1,config2,config3 -configbase $validations \
260 -logbase $logpath/TM500Logs -logfiles ${$logbase/TM500Logs/TMI.dl.*}
266 <li>tmiVal needs to be re-written to handle these new options</li>
268 <li>-configbase is applied to each leaf node under -config making
269 $configbase/config1, $configbase/config2 and $configbase/config3. It
270 is tmiVal - not rantest - which applies this rule.</li>
272 <li>Similarly $logbase applies to @logfiles like $configbase</li>
274 <li>There is no guarantee that there will only be 3 TMI.dl.*
275 logfiles nor is the ordering of the fileset guaranteed, save for the
276 natural ordering of ls(1).</li>
278 <li>The syntax of \ to indicate continue this line is <b>not</b>
279 supported by rantest and is used above only to enhance