nssqa.txt (3869B)
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