The new QA wrapper consistst mainly of 2 scripts, nssqa and qa_stat, both include a common header (header) and a common environment (set_environment). Also used is mksymlinks and path_uniq. The scripts that are used on a daily basis are located in /u/sonmi/bin. Parameters and Options are the same for both scripts. Parameters ---------- nssversion (supported: 30b, 31, tip) builddate (default - today, format mmdd) Options ------- -y answer all questions with y - use at your own risk... ignores warnings -s silent (only usefull with -y) -h, -? -help you guessed right - displays the usage -d debug -f - write the (error)output to filename -m - send filename to mailinglist (csl) only useful with -f on nssqa -l run on a local build - does not work at this time -cron equivalient to -y -s -d -f $RESULTDIR/$HOST. nssqa and qa_stat are Beta at the most -------------------------- Please be aware that -) machinenames are still hardcoded --FIXED -) other very iPlanet specific environments and features are being used. -d Debug option will be removed from cron in a few weeks - or maybe not -l QA on local build is not fully implemented yet Please do not use on Windows 95 and 98, ME platforms yet. use -d if script behaves strange or exits unexpectedly How to use QA ------------- To test a build, first run nssqa on the required QA platforms (some buildplatforms require QA to be run on additional platforms - for example Solaris 2.6 has to be tested on 2.8 32 and 64bit) If QA has been run on multiple or all required platforms it makes sense to run qa_stat on the output of nssqa as well. Before used on a new system (even if the same platform has been tested before) please use completely interactive, to see what the variables are being initialized to, and read the warnings. Same is true if being run from a different user account than svbld. In any case, if you are using it, please let me know the results. Pseudocode Description of nssqa: -------------------------------- not quite up to date header:init (global) set flags and variables to default values signal trap (for interupts and kills) set HOST and DOMSUF variables if running from cron parse parameters and options determine os and set up the environment (espec. PATH) set the directories to run in (influenced by parameters and -l option) set and initialize the tmp / debugging / output files nssqa:init (local) locking: if nssqa is already running on this systems (yes-exit, no-lockfile) set HOST and DOMSUF variables if running interavtively set flag to kill remaining selfserv processes during cleanup if QA platform different from build platform create neccessary symbolic links wait for the build to finish (max of 5h) main: repeated per test (optimized, debug, 32, 64 bit) set flags for this run of all.sh (optimized, debug, 32, 64 bit) set the DIST directory (where the binaries reside) kill running selfservers (sorry - just don't use the svbld account if you need to do your own testing... I will fix selfserv as soon as I can - but it hangs too often and disturbs all following QA) run all.sh header:exit (global) remove temporary files kill remaining selfservers send email to the list errorhandling Option / Parameter errors: Exit with usage information Severe errors: Exit wit errormessage example: directory in which all.sh resides does not exist can't create files or directories build not done after 5 hours is already running Other errors: User is prompted with the "errormessage - continue (y/n)?" example: local DIST dir does not exist (continues with next all.sh) outputdirectory does not exist (user can specify other) Signals 2, 3, 15 are treated as severe errors