Various perm changes
[clearscm.git] / rantest / web / 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.7">Version 1.1.7</a></li>
48
49    <li><a href="#1.1.6">Version 1.1.6</a></li>
50
51    <li><a href="#1.1.5">Version 1.1.5</a></li>
52
53    <li><a href="#1.1.4">Version 1.1.4</a></li>
54
55    <li><a href="#1.1.3">Version 1.1.3</a></li>
56
57    <li><a href="#1.1.2">Version 1.1.2</a></li>
58
59    <li><a href="#1.1.1">Version 1.1.1</a></li>
60
61    <li><a href="#1.1.0">Version 1.1.0</a></li>
62 </ul>
63
64 <p>This is the ChangeLog for RANTEST for versions 1.1 and up.</p>
65
66 <p>See also:</p>
67
68 <ul>
69   <li><a href="ChangeLog0.9.php">RANTEST 0.9 ChangeLog</a></li>
70
71   <li><a href="ChangeLog1.0.php">RANTEST 1.0 ChangeLog</a></li>
72
73   <li><a href="ChangeLog.php">RANTEST 1.2 ChangeLog</a></li>
74 </ul>
75
76 <h2><a name="1.1.7">Version 1.1.7</a></h2><hr>
77
78 <h3>East.pm:</h3>
79
80 <ul>
81   <li>Changed rantest_build2_log -> rantest_build3_log</li>
82 </ul>
83
84 <h2><a name="1.1.6">Version 1.1.6</a></h2><hr>
85
86 <h3>East.pm:</h3>
87
88 <ul>
89   <li>Changed to properly set TM500_VIEW and NMS_VIEW into the
90   environment of the blade</li>
91 </ul>
92
93 <h2><a name="1.1.5">Version 1.1.5</a></h2><hr>
94
95 <h3>East.pm:</h3>
96
97 <ul>
98   <li>Changed to display error where FEATURE is not set</li>
99 </ul>
100
101 <h2><a name="1.1.4">Version 1.1.4</a></h2><hr>
102
103 <h3>Rantest:</h3>
104
105 <ul>
106   <li>Changed to not use SITE_PERLLIB anymore</li>
107
108   <li>No longer calls fixUpLogs if rantvl has not been run</li>
109
110   <li>Handles -regression and options to tests in suite files
111   better</li>
112 </ul>
113
114 <h3>East:</h3>
115
116 <ul>
117   <li>Rantest no longer assumes that the failed execution of the
118   "shell" command has output to explain the error</li>
119
120   <li>The shell subrouting now properly returns status</li>
121 </ul>
122
123 <h2><a name="1.1.3">Version 1.1.3</a></h2><hr>
124
125 <h3>Web:</h3>
126
127 <ul>
128   <li>Changed to sink rantest under it's own directory</li>
129 </ul>
130
131 <h2><a name="1.1.2">Version 1.1.2</a></h2><hr>
132
133 <h3>Rantest:</h3>
134
135 <ul>
136   <li>Changed to check and set PATH when rantest is running in suite
137   mode</li>
138 </ul>
139
140 <h2><a name="1.1.1">Version 1.1.1</a></h2><hr>
141
142 <h3>Rantest:</h3>
143
144 <ul>
145   <li>Changed to collect extended logfile even in cases where -timeout
146   is defaulted</li>
147 </ul>
148
149 <h2><a name="1.1.0">Version 1.1.0</a></h2><hr>
150
151 <h3>Rantest:</h3>
152
153 <ul>
154   <li>Changed to support new validation API described below</li>
155 </ul>
156
157 <h3>New Validation API</h3>
158
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>
165
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
168 matter):</p>
169
170 <ul>
171   <li>Any variable in your env(1). (e.g. $USER)</li>
172
173   <li>$logpath: Absolute path into the "testlogs" area where logfiles
174   will be written.</li>
175
176   <li>$msgdefs: Absolute path into the simdev vob/msgdefs
177   directory.</li>
178
179   <li>$validation: Absolute path into the simdev vob/validation
180   directory.</li>
181
182   <li>$view: Absolute path to your view</li>
183
184   <LI>Others?</li>
185 </ul>
186
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>
190
191 <div class=code><pre>
192 val:  valMsgs.pl -p MyConfig.txt
193 </pre></div>
194
195 <p>would need to be changed to:</p>
196
197 <div class=code><pre>
198 val:  valMsgs.pl -p $msgdefs/MyConfig.txt -l $logpath/Rantvl/RNCLog.txt
199 </pre></div>
200
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
204 out.</p>
205
206 <blockquote>
207   Note: Rantest validations are currently not in wide use so now is a
208   good time to implement this change in the API.
209 </blockquote>
210
211 <p>Similarly, an aal2val line may change from:</p>
212
213 <div class=code><pre>
214 val:  aal2val -config My.conf
215 </pre></div>
216
217 <p>to:</p>
218
219 <div class=code><pre>
220 val:  aal2val -config $validations/My.conf -f $logpath/EASTLogs/Server_Logs/rnc_aal2.log
221 </pre></div>
222
223 <h3>Dynamic filesets:</h3>
224
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>
232
233 <div class=code><pre>
234 val: &lt;<i>validation script</i>&gt; -f $[$logpath/foo*.log][0]
235 val: &lt;<i>validation script</i>&gt; -f $[$logpath/foo*.log][1..2]
236 </pre></div>
237
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
243 above giving us:</p>
244
245 <div class=code><pre>
246 val: &lt;<I>validation script</I>&gt; -f /east/seast1/testlogs/testcase1/rnc5/20080917@14;38:03/foo1.log
247 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
248 </pre></div>
249
250 <h3>Notes</h3>
251
252 <ol>
253   <li>Validations may need to be recorded to expect multiple
254   parameters. For example, -f above for &lt;<i>validation
255   script</i>&gt; needs to accept multple values for -f (Getopt::Long
256   handles this fairly nicely however &lt;<i>validation
257   script</i>&gt;'s logic may need to change somewhat).</li>
258
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>
263 </ol>
264
265 <p>Our final example is tmiVal, which is using multiple config files
266 against a dynamic fileset:</p>
267
268 <div class=code><pre>
269 val:  tmiVal -config config1,config2,config3 -configbase $validations \
270   -logbase $logpath/TM500Logs -logfiles ${$logbase/TM500Logs/TMI.dl.*}
271 </pre></div>
272
273 <h3>Notes:</h3>
274
275 <ol>
276   <li>tmiVal needs to be re-written to handle these new options</li>
277
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>
281
282   <li>Similarly $logbase applies to @logfiles like $configbase</li>
283
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>
287
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
290   readability.</li>
291 </ol>
292
293 <?php copyright();?>
294 </body>
295 </html>