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

michael@0 1 The new QA wrapper consistst mainly of 2 scripts, nssqa and qa_stat, both
michael@0 2 include a common header (header) and a common environment (set_environment).
michael@0 3 Also used is mksymlinks and path_uniq.
michael@0 4
michael@0 5 The scripts that are used on a daily basis are located in /u/sonmi/bin.
michael@0 6
michael@0 7 Parameters and Options are the same for both scripts.
michael@0 8
michael@0 9 Parameters
michael@0 10 ----------
michael@0 11 nssversion (supported: 30b, 31, tip)
michael@0 12 builddate (default - today, format mmdd)
michael@0 13
michael@0 14 Options
michael@0 15 -------
michael@0 16 -y answer all questions with y - use at your own risk... ignores warnings
michael@0 17 -s silent (only usefull with -y)
michael@0 18 -h, -? -help you guessed right - displays the usage
michael@0 19 -d debug
michael@0 20 -f <filename> - write the (error)output to filename
michael@0 21 -m <mailinglist> - send filename to mailinglist (csl) only useful
michael@0 22 with -f on nssqa
michael@0 23 -l <mozroot> run on a local build - does not work at this time
michael@0 24 -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.<scriptname>
michael@0 25
michael@0 26 nssqa and qa_stat are Beta at the most
michael@0 27 --------------------------
michael@0 28 Please be aware that
michael@0 29
michael@0 30 -) machinenames are still hardcoded --FIXED
michael@0 31 -) other very iPlanet specific environments and features are being used.
michael@0 32
michael@0 33 -d Debug option will be removed from cron in a few weeks - or maybe not
michael@0 34 -l QA on local build is not fully implemented yet
michael@0 35
michael@0 36 Please do not use on Windows 95 and 98, ME platforms yet.
michael@0 37
michael@0 38 use -d if script behaves strange or exits unexpectedly
michael@0 39
michael@0 40 How to use QA
michael@0 41 -------------
michael@0 42 To test a build, first run nssqa on the required QA platforms (some
michael@0 43 buildplatforms require QA to be run on additional platforms - for
michael@0 44 example Solaris 2.6 has to be tested on 2.8 32 and 64bit) If QA has
michael@0 45 been run on multiple or all required platforms it makes sense to run
michael@0 46 qa_stat on the output of nssqa as well.
michael@0 47 Before used on a new system (even if the same platform has been
michael@0 48 tested before) please use completely interactive, to see what the
michael@0 49 variables are being initialized to, and read the warnings. Same is
michael@0 50 true if being run from a different user account than svbld.
michael@0 51
michael@0 52 In any case, if you are using it, please let me know the results.
michael@0 53
michael@0 54 Pseudocode Description of nssqa:
michael@0 55 --------------------------------
michael@0 56 not quite up to date
michael@0 57
michael@0 58 header:init (global)
michael@0 59 set flags and variables to default values
michael@0 60 signal trap (for interupts and kills)
michael@0 61 set HOST and DOMSUF variables if running from cron
michael@0 62 parse parameters and options
michael@0 63 determine os and set up the environment (espec. PATH)
michael@0 64 set the directories to run in (influenced by parameters and -l option)
michael@0 65 set and initialize the tmp / debugging / output files
michael@0 66
michael@0 67 nssqa:init (local)
michael@0 68 locking: if nssqa is already running on this systems (yes-exit,
michael@0 69 no-lockfile)
michael@0 70 set HOST and DOMSUF variables if running interavtively
michael@0 71 set flag to kill remaining selfserv processes during cleanup
michael@0 72 if QA platform different from build platform create neccessary
michael@0 73 symbolic links
michael@0 74 wait for the build to finish (max of 5h)
michael@0 75
michael@0 76 main:
michael@0 77 repeated per test (optimized, debug, 32, 64 bit)
michael@0 78 set flags for this run of all.sh (optimized, debug, 32, 64 bit)
michael@0 79 set the DIST directory (where the binaries reside)
michael@0 80 kill running selfservers (sorry - just don't use the svbld
michael@0 81 account if you need to do your own testing... I will fix
michael@0 82 selfserv as soon as I can - but it hangs too often and
michael@0 83 disturbs all following QA)
michael@0 84 run all.sh
michael@0 85
michael@0 86 header:exit (global)
michael@0 87 remove temporary files
michael@0 88 kill remaining selfservers
michael@0 89 send email to the list
michael@0 90
michael@0 91
michael@0 92 errorhandling
michael@0 93 Option / Parameter errors: Exit with usage information
michael@0 94
michael@0 95 Severe errors: Exit wit errormessage
michael@0 96 example: directory in which all.sh resides does not exist
michael@0 97 can't create files or directories
michael@0 98 build not done after 5 hours
michael@0 99 is already running
michael@0 100
michael@0 101 Other errors: User is prompted with the "errormessage - continue (y/n)?"
michael@0 102 example: local DIST dir does not exist (continues with next all.sh)
michael@0 103 outputdirectory does not exist (user can specify other)
michael@0 104
michael@0 105 Signals 2, 3, 15 are treated as severe errors
michael@0 106
michael@0 107
michael@0 108

mercurial