security/nss/tests/doc/nssqa.txt

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rwxr-xr-x

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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.
     9 Parameters
    10 ----------
    11 	nssversion (supported: 30b, 31, tip)
    12 	builddate (default - today, format mmdd)
    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>
    26 nssqa and qa_stat are Beta at the most
    27 --------------------------
    28 Please be aware that 
    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
    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.
    52 In any case, if you are using it, please let me know the results.
    54 Pseudocode Description of nssqa:
    55 --------------------------------
    56 not quite up to date
    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
    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)
    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 
    86 	header:exit (global)
    87 		remove temporary files
    88 		kill remaining selfservers
    89 		send email to the list
    92 	errorhandling
    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
    99 				is already running
   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

mercurial