|
1 The new QA wrapper consistst mainly of 2 scripts, nssqa and qa_stat, both |
|
2 include a common header (header) and a common environment (set_environment). |
|
3 Also used is mksymlinks and path_uniq. |
|
4 |
|
5 The scripts that are used on a daily basis are located in /u/sonmi/bin. |
|
6 |
|
7 Parameters and Options are the same for both scripts. |
|
8 |
|
9 Parameters |
|
10 ---------- |
|
11 nssversion (supported: 30b, 31, tip) |
|
12 builddate (default - today, format mmdd) |
|
13 |
|
14 Options |
|
15 ------- |
|
16 -y answer all questions with y - use at your own risk... ignores warnings |
|
17 -s silent (only usefull with -y) |
|
18 -h, -? -help you guessed right - displays the usage |
|
19 -d debug |
|
20 -f <filename> - write the (error)output to filename |
|
21 -m <mailinglist> - send filename to mailinglist (csl) only useful |
|
22 with -f on nssqa |
|
23 -l <mozroot> run on a local build - does not work at this time |
|
24 -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.<scriptname> |
|
25 |
|
26 nssqa and qa_stat are Beta at the most |
|
27 -------------------------- |
|
28 Please be aware that |
|
29 |
|
30 -) machinenames are still hardcoded --FIXED |
|
31 -) other very iPlanet specific environments and features are being used. |
|
32 |
|
33 -d Debug option will be removed from cron in a few weeks - or maybe not |
|
34 -l QA on local build is not fully implemented yet |
|
35 |
|
36 Please do not use on Windows 95 and 98, ME platforms yet. |
|
37 |
|
38 use -d if script behaves strange or exits unexpectedly |
|
39 |
|
40 How to use QA |
|
41 ------------- |
|
42 To test a build, first run nssqa on the required QA platforms (some |
|
43 buildplatforms require QA to be run on additional platforms - for |
|
44 example Solaris 2.6 has to be tested on 2.8 32 and 64bit) If QA has |
|
45 been run on multiple or all required platforms it makes sense to run |
|
46 qa_stat on the output of nssqa as well. |
|
47 Before used on a new system (even if the same platform has been |
|
48 tested before) please use completely interactive, to see what the |
|
49 variables are being initialized to, and read the warnings. Same is |
|
50 true if being run from a different user account than svbld. |
|
51 |
|
52 In any case, if you are using it, please let me know the results. |
|
53 |
|
54 Pseudocode Description of nssqa: |
|
55 -------------------------------- |
|
56 not quite up to date |
|
57 |
|
58 header:init (global) |
|
59 set flags and variables to default values |
|
60 signal trap (for interupts and kills) |
|
61 set HOST and DOMSUF variables if running from cron |
|
62 parse parameters and options |
|
63 determine os and set up the environment (espec. PATH) |
|
64 set the directories to run in (influenced by parameters and -l option) |
|
65 set and initialize the tmp / debugging / output files |
|
66 |
|
67 nssqa:init (local) |
|
68 locking: if nssqa is already running on this systems (yes-exit, |
|
69 no-lockfile) |
|
70 set HOST and DOMSUF variables if running interavtively |
|
71 set flag to kill remaining selfserv processes during cleanup |
|
72 if QA platform different from build platform create neccessary |
|
73 symbolic links |
|
74 wait for the build to finish (max of 5h) |
|
75 |
|
76 main: |
|
77 repeated per test (optimized, debug, 32, 64 bit) |
|
78 set flags for this run of all.sh (optimized, debug, 32, 64 bit) |
|
79 set the DIST directory (where the binaries reside) |
|
80 kill running selfservers (sorry - just don't use the svbld |
|
81 account if you need to do your own testing... I will fix |
|
82 selfserv as soon as I can - but it hangs too often and |
|
83 disturbs all following QA) |
|
84 run all.sh |
|
85 |
|
86 header:exit (global) |
|
87 remove temporary files |
|
88 kill remaining selfservers |
|
89 send email to the list |
|
90 |
|
91 |
|
92 errorhandling |
|
93 Option / Parameter errors: Exit with usage information |
|
94 |
|
95 Severe errors: Exit wit errormessage |
|
96 example: directory in which all.sh resides does not exist |
|
97 can't create files or directories |
|
98 build not done after 5 hours |
|
99 is already running |
|
100 |
|
101 Other errors: User is prompted with the "errormessage - continue (y/n)?" |
|
102 example: local DIST dir does not exist (continues with next all.sh) |
|
103 outputdirectory does not exist (user can specify other) |
|
104 |
|
105 Signals 2, 3, 15 are treated as severe errors |
|
106 |
|
107 |
|
108 |