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.
5 The scripts that are used on a daily basis are located in /u/sonmi/bin.
7 Parameters and Options are the same for both scripts.
11 nssversion (supported: 30b, 31, tip)
12 builddate (default - today, format mmdd)
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
20 -f <filename> - write the (error)output to filename
21 -m <mailinglist> - send filename to mailinglist (csl) only useful
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>
26 nssqa and qa_stat are Beta at the most
27 --------------------------
30 -) machinenames are still hardcoded --FIXED
31 -) other very iPlanet specific environments and features are being used.
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
36 Please do not use on Windows 95 and 98, ME platforms yet.
38 use -d if script behaves strange or exits unexpectedly
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.
52 In any case, if you are using it, please let me know the results.
54 Pseudocode Description of nssqa:
55 --------------------------------
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
68 locking: if nssqa is already running on this systems (yes-exit,
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
74 wait for the build to finish (max of 5h)
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)
87 remove temporary files
88 kill remaining selfservers
89 send email to the list
93 Option / Parameter errors: Exit with usage information
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
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)
105 Signals 2, 3, 15 are treated as severe errors