1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/tests/doc/nssqa.txt Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,108 @@ 1.4 +The new QA wrapper consistst mainly of 2 scripts, nssqa and qa_stat, both 1.5 +include a common header (header) and a common environment (set_environment). 1.6 +Also used is mksymlinks and path_uniq. 1.7 + 1.8 +The scripts that are used on a daily basis are located in /u/sonmi/bin. 1.9 + 1.10 +Parameters and Options are the same for both scripts. 1.11 + 1.12 +Parameters 1.13 +---------- 1.14 + nssversion (supported: 30b, 31, tip) 1.15 + builddate (default - today, format mmdd) 1.16 + 1.17 +Options 1.18 +------- 1.19 + -y answer all questions with y - use at your own risk... ignores warnings 1.20 + -s silent (only usefull with -y) 1.21 + -h, -? -help you guessed right - displays the usage 1.22 + -d debug 1.23 + -f <filename> - write the (error)output to filename 1.24 + -m <mailinglist> - send filename to mailinglist (csl) only useful 1.25 + with -f on nssqa 1.26 + -l <mozroot> run on a local build - does not work at this time 1.27 + -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.<scriptname> 1.28 + 1.29 +nssqa and qa_stat are Beta at the most 1.30 +-------------------------- 1.31 +Please be aware that 1.32 + 1.33 +-) machinenames are still hardcoded --FIXED 1.34 +-) other very iPlanet specific environments and features are being used. 1.35 + 1.36 +-d Debug option will be removed from cron in a few weeks - or maybe not 1.37 +-l QA on local build is not fully implemented yet 1.38 + 1.39 +Please do not use on Windows 95 and 98, ME platforms yet. 1.40 + 1.41 +use -d if script behaves strange or exits unexpectedly 1.42 + 1.43 +How to use QA 1.44 +------------- 1.45 +To test a build, first run nssqa on the required QA platforms (some 1.46 +buildplatforms require QA to be run on additional platforms - for 1.47 +example Solaris 2.6 has to be tested on 2.8 32 and 64bit) If QA has 1.48 +been run on multiple or all required platforms it makes sense to run 1.49 +qa_stat on the output of nssqa as well. 1.50 +Before used on a new system (even if the same platform has been 1.51 +tested before) please use completely interactive, to see what the 1.52 +variables are being initialized to, and read the warnings. Same is 1.53 +true if being run from a different user account than svbld. 1.54 + 1.55 +In any case, if you are using it, please let me know the results. 1.56 + 1.57 +Pseudocode Description of nssqa: 1.58 +-------------------------------- 1.59 +not quite up to date 1.60 + 1.61 + header:init (global) 1.62 + set flags and variables to default values 1.63 + signal trap (for interupts and kills) 1.64 + set HOST and DOMSUF variables if running from cron 1.65 + parse parameters and options 1.66 + determine os and set up the environment (espec. PATH) 1.67 + set the directories to run in (influenced by parameters and -l option) 1.68 + set and initialize the tmp / debugging / output files 1.69 + 1.70 + nssqa:init (local) 1.71 + locking: if nssqa is already running on this systems (yes-exit, 1.72 + no-lockfile) 1.73 + set HOST and DOMSUF variables if running interavtively 1.74 + set flag to kill remaining selfserv processes during cleanup 1.75 + if QA platform different from build platform create neccessary 1.76 + symbolic links 1.77 + wait for the build to finish (max of 5h) 1.78 + 1.79 + main: 1.80 + repeated per test (optimized, debug, 32, 64 bit) 1.81 + set flags for this run of all.sh (optimized, debug, 32, 64 bit) 1.82 + set the DIST directory (where the binaries reside) 1.83 + kill running selfservers (sorry - just don't use the svbld 1.84 + account if you need to do your own testing... I will fix 1.85 + selfserv as soon as I can - but it hangs too often and 1.86 + disturbs all following QA) 1.87 + run all.sh 1.88 + 1.89 + header:exit (global) 1.90 + remove temporary files 1.91 + kill remaining selfservers 1.92 + send email to the list 1.93 + 1.94 + 1.95 + errorhandling 1.96 + Option / Parameter errors: Exit with usage information 1.97 + 1.98 + Severe errors: Exit wit errormessage 1.99 + example: directory in which all.sh resides does not exist 1.100 + can't create files or directories 1.101 + build not done after 5 hours 1.102 + is already running 1.103 + 1.104 + Other errors: User is prompted with the "errormessage - continue (y/n)?" 1.105 + example: local DIST dir does not exist (continues with next all.sh) 1.106 + outputdirectory does not exist (user can specify other) 1.107 + 1.108 + Signals 2, 3, 15 are treated as severe errors 1.109 + 1.110 + 1.111 +