Initial add of defaria.com
[clearscm.git] / defaria.com / GD / Rantest / ChangeLog1.1.php
1 <?php
2 ////////////////////////////////////////////////////////////////////////////////
3 //
4 // File:        Changelog1.1.php
5 // Revision:    1.1
6 // Description: Change log for rantest 1.1
7 // Author:      Andrew@ClearSCM.com
8 // Created:     Mon Apr 28 15:20:06 MST 2008
9 // Modified:    
10 // Language:    PHP
11 //
12 // (c) Copyright 2008, General Dynamics, all rights reserved.
13 //
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.
16 //
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
22 // 5230.25.
23 //
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";
28 ?>
29 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
30    "http://www.w3.org/TR/html4/strict.dtd">
31 <html>
32 <head>
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>
37 </style>
38 </head>
39
40 <body>
41
42 <?php print banner ()?>
43
44 <h1 align=center>RANTEST 1.1 ChangeLog</h1>
45
46 <ul>
47    <li><a href="#1.1.6">Version 1.1.6</a></li>
48
49    <li><a href="#1.1.5">Version 1.1.5</a></li>
50
51    <li><a href="#1.1.4">Version 1.1.4</a></li>
52
53    <li><a href="#1.1.3">Version 1.1.3</a></li>
54
55    <li><a href="#1.1.2">Version 1.1.2</a></li>
56
57    <li><a href="#1.1.1">Version 1.1.1</a></li>
58
59    <li><a href="#1.1.0">Version 1.1.0</a></li>
60 </ul>
61
62 <p>This is the ChangeLog for RANTEST for versions 1.1 and up.</p>
63
64 <p>See also:</p>
65
66 <ul>
67   <li><a href="ChangeLog0.9.php">RANTEST 0.9 ChangeLog</a></li>
68
69   <li><a href="ChangeLog1.0.php">RANTEST 1.0 ChangeLog</a></li>
70
71   <li><a href="ChangeLog.php">RANTEST 1.2 ChangeLog</a></li>
72 </ul>
73
74 <h2><a name="1.1.6">Version 1.1.6</a></h2><hr>
75
76 <h3>East.pm:</h3>
77
78 <ul>
79   <li>Changed to properly set TM500_VIEW and NMS_VIEW into the
80   environment of the blade</li>
81 </ul>
82
83 <h2><a name="1.1.5">Version 1.1.5</a></h2><hr>
84
85 <h3>East.pm:</h3>
86
87 <ul>
88   <li>Changed to display error where FEATURE is not set</li>
89 </ul>
90
91 <h2><a name="1.1.4">Version 1.1.4</a></h2><hr>
92
93 <h3>Rantest:</h3>
94
95 <ul>
96   <li>Changed to not use SITE_PERLLIB anymore</li>
97
98   <li>No longer calls fixUpLogs if rantvl has not been run</li>
99
100   <li>Handles -regression and options to tests in suite files
101   better</li>
102 </ul>
103
104 <h3>East:</h3>
105
106 <ul>
107   <li>Rantest no longer assumes that the failed execution of the
108   "shell" command has output to explain the error</li>
109
110   <li>The shell subrouting now properly returns status</li>
111 </ul>
112
113 <h2><a name="1.1.3">Version 1.1.3</a></h2><hr>
114
115 <h3>Web:</h3>
116
117 <ul>
118   <li>Changed to sink rantest under it's own directory</li>
119 </ul>
120
121 <h2><a name="1.1.2">Version 1.1.2</a></h2><hr>
122
123 <h3>Rantest:</h3>
124
125 <ul>
126   <li>Changed to check and set PATH when rantest is running in suite
127   mode</li>
128 </ul>
129
130 <h2><a name="1.1.1">Version 1.1.1</a></h2><hr>
131
132 <h3>Rantest:</h3>
133
134 <ul>
135   <li>Changed to collect extended logfile even in cases where -timeout
136   is defaulted</li>
137 </ul>
138
139 <h2><a name="1.1.0">Version 1.1.0</a></h2><hr>
140
141 <h3>Rantest:</h3>
142
143 <ul>
144   <li>Changed to support new validation API described below</li>
145 </ul>
146
147 <h3>New Validation API</h3>
148
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>
155
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
158 matter):</p>
159
160 <ul>
161   <li>Any variable in your env(1). (e.g. $USER)</li>
162
163   <li>$logpath: Absolute path into the "testlogs" area where logfiles
164   will be written.</li>
165
166   <li>$msgdefs: Absolute path into the simdev vob/msgdefs
167   directory.</li>
168
169   <li>$validation: Absolute path into the simdev vob/validation
170   directory.</li>
171
172   <li>$view: Absolute path to your view</li>
173
174   <LI>Others?</li>
175 </ul>
176
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>
180
181 <div class=code><pre>
182 val:  valMsgs.pl -p MyConfig.txt
183 </pre></div>
184
185 <p>would need to be changed to:</p>
186
187 <div class=code><pre>
188 val:  valMsgs.pl -p $msgdefs/MyConfig.txt -l $logpath/Rantvl/RNCLog.txt
189 </pre></div>
190
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
194 out.</p>
195
196 <blockquote>
197   Note: Rantest validations are currently not in wide use so now is a
198   good time to implement this change in the API.
199 </blockquote>
200
201 <p>Similarly, an aal2val line may change from:</p>
202
203 <div class=code><pre>
204 val:  aal2val -config My.conf
205 </pre></div>
206
207 <p>to:</p>
208
209 <div class=code><pre>
210 val:  aal2val -config $validations/My.conf -f $logpath/EASTLogs/Server_Logs/rnc_aal2.log
211 </pre></div>
212
213 <h3>Dynamic filesets:</h3>
214
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>
222
223 <div class=code><pre>
224 val: &lt;<i>validation script</i>&gt; -f $[$logpath/foo*.log][0]
225 val: &lt;<i>validation script</i>&gt; -f $[$logpath/foo*.log][1..2]
226 </pre></div>
227
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
233 above giving us:</p>
234
235 <div class=code><pre>
236 val: &lt;<I>validation script</I>&gt; -f /east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo1.log
237 val: &lt;<I>validation script</I>&gt; -f /east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo2.log,/east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo3.log
238 </pre></div>
239
240 <h3>Notes</h3>
241
242 <ol>
243   <li>Validations may need to be recorded to expect multiple
244   parameters. For example, -f above for &lt;<i>validation
245   script</i>&gt; needs to accept multple values for -f (Getopt::Long
246   handles this fairly nicely however &lt;<i>validation
247   script</i>&gt;'s logic may need to change somewhat).</li>
248
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>
253 </ol>
254
255 <p>Our final example is tmiVal, which is using multiple config files
256 against a dynamic fileset:</p>
257
258 <div class=code><pre>
259 val:  tmiVal -config config1,config2,config3 -configbase $validations \
260   -logbase $logpath/TM500Logs -logfiles ${$logbase/TM500Logs/TMI.dl.*}
261 </pre></div>
262
263 <h3>Notes:</h3>
264
265 <ol>
266   <li>tmiVal needs to be re-written to handle these new options</li>
267
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>
271
272   <li>Similarly $logbase applies to @logfiles like $configbase</li>
273
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>
277
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
280   readability.</li>
281 </ol>
282
283 <?php copyright();?>
284 </body>
285 </html>