mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 00:55:37 +00:00
109 lines
3.8 KiB
Plaintext
Executable File
109 lines
3.8 KiB
Plaintext
Executable File
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 <filename> - write the (error)output to filename
|
|
-m <mailinglist> - send filename to mailinglist (csl) only useful
|
|
with -f on nssqa
|
|
-l <mozroot> run on a local build - does not work at this time
|
|
-cron equivalient to -y -s -d -f $RESULTDIR/$HOST.<scriptname>
|
|
|
|
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
|
|
|
|
|
|
|