summaryrefslogtreecommitdiff
path: root/security/nss/tests/doc
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/tests/doc')
-rw-r--r--security/nss/tests/doc/clean.gifbin5503 -> 0 bytes
-rwxr-xr-xsecurity/nss/tests/doc/nssqa.txt108
-rw-r--r--security/nss/tests/doc/platform_specific_problems110
-rwxr-xr-xsecurity/nss/tests/doc/qa_wrapper.html269
4 files changed, 0 insertions, 487 deletions
diff --git a/security/nss/tests/doc/clean.gif b/security/nss/tests/doc/clean.gif
deleted file mode 100644
index 08781cb2b..000000000
--- a/security/nss/tests/doc/clean.gif
+++ /dev/null
Binary files differ
diff --git a/security/nss/tests/doc/nssqa.txt b/security/nss/tests/doc/nssqa.txt
deleted file mode 100755
index 34fa0955b..000000000
--- a/security/nss/tests/doc/nssqa.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-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
-
-
-
diff --git a/security/nss/tests/doc/platform_specific_problems b/security/nss/tests/doc/platform_specific_problems
deleted file mode 100644
index 92a22ca03..000000000
--- a/security/nss/tests/doc/platform_specific_problems
+++ /dev/null
@@ -1,110 +0,0 @@
-I will, eventually convert all files here to html - just right now I have no
-time to do it. Anyone who'd like to - please feel free, mail me the file and
-I will check it in
-sonmi@netscape.com
-
-
-The NSS 3.1 SSL Stress Tests fail for me on FreeBSD 3.5. The end of the output
-of './ssl.sh stress' looks like this:
-
-********************* Stress Test ****************************
-********************* Stress SSL2 RC4 128 with MD5 ****************************
-selfserv -p 8443 -d
-/local/llennox/NSS-PSM/mozilla/tests_results/security/conrail.20/server -n
-conrail.cs.columbia.edu -w nss -i /tmp/tests_pid.5505 & strsclnt -p 8443 -d . -w nss -c 1000 -C A conrail.cs.columbia.edu
-strsclnt: -- SSL: Server Certificate Validated.
-strsclnt: PR_NewTCPSocket returned error -5974:
-Insufficient system resources.
-Terminated
-********************* Stress SSL3 RC4 128 with MD5 ****************************
-selfserv -p 8443 -d
-/local/llennox/NSS-PSM/mozilla/tests_results/security/conrail.20/server -n
-conrail.cs.columbia.edu -w nss -i /tmp/tests_pid.5505 & strsclnt -p 8443 -d . -w nss -c 1000 -C c conrail.cs.columbia.edu
-strsclnt: -- SSL: Server Certificate Validated.
-strsclnt: PR_NewTCPSocket returned error -5974:
-Insufficient system resources.
-Terminated
-
-Running ktrace on the process (ktrace is a system-call tracer, the equivalent of
-Linux's strace) reveals that socket() failed with ENOBUFS after it was called
-for the 953rd time for the first test, and it failed after the 27th time it was
-called for the second test.
-
-The failure is consistent, both for debug and optimized builds; I haven't tested
-to see whether the count of socket() failures is consistent.
-
-All the other NSS tests pass successfully.
-
-
-------- Additional Comments From Nelson Bolyard 2000-11-01 23:08 -------
-
-I see no indication of any error on NSS's part from this description.
-It sounds like an OS kernel configuration problem on the
-submittor's system. The stress test is just that. It stresses
-the server by pounding it with SSL connections. Apparently this
-test exhausts some kernel resource on the submittor's system.
-
-The only change to NSS that might be beneficial to this test
-would be to respond to this error by waiting and trying again
-for some limited number of times, rather than immediately
-treating it as a fatal error.
-
-However, while such a change might make the test appear to pass,
-it would merely be hiding a very serious problem, namely,
-chronic system resource exhaustion.
-
-So, I suggest that, in this case, the failure serves the useful
-purpose of revealing the system problem, which needs to be
-cured apart from any changes to NSS.
-
-I'll leave this bug open for a few more days, to give others
-a chance to persuade me that some NSS change would and should
-solve this problem.
-
-
-------- Additional Comments From Jonathan Lennox 2000-11-02 13:13 -------
-
-Okay, some more investigation leads me to agree with you. What's happening is
-that the TCP connections from the stress test stick around in TIME_WAIT for two
-minutes; my kernel is only configured to support 1064 simultaneous open sockets,
-which isn't enough for the 2K sockets opened by the stress test plus the 100 or
-so normally in use on my system.
-
-So I'd just suggest adding a note to the NSS test webpage to the effect of "The
-SSL stress test opens 2,048 TCP connections in quick succession. Kernel data
-structures may remain allocated for these connections for up to two minutes.
-Some systems may not be configured to allow this many simulatenous connections
-by default; if the stress tests fail, try increasing the number of simultaneous
-sockets supported."
-
-On FreeBSD, you can display the number of simultaneous sockets with the command
- sysctl kern.ipc.maxsockets
-which on my system returns 1064.
-
-It looks like this can be fixed with the kernel config option
- options NMBCLUSTERS=[something-large]
-or by increasing the 'maxusers' parameter.
-
-It looks like more recent FreeBSD implementations still have this limitation,
-and the same solutions apply, plus you can alternatively specify the maxsockets
-parameter in the boot loader.
-
-
----------------------------------
-
-hpux HP-UX hp64 B.11.00 A 9000/800 2014971275 two-user license
-
-we had to change following kernelparameters to make our tests pass
-
-1. maxfiles. old value = 60. new value = 100.
-2. nkthread. old value = 499. new value = 1328.
-3. max_thread_proc. old value = 64. new value = 512.
-4. maxusers. old value = 32. new value = 64.
-5. maxuprc. old value = 75. new value = 512.
-6. nproc. old formula = 20+8*MAXUSERS, which evaluated to 276.
- new value (note: not a formula) = 750.
-
-A few other kernel parameters were also changed automatically
-as a result of the above changes.
-
-
diff --git a/security/nss/tests/doc/qa_wrapper.html b/security/nss/tests/doc/qa_wrapper.html
deleted file mode 100755
index 755cca236..000000000
--- a/security/nss/tests/doc/qa_wrapper.html
+++ /dev/null
@@ -1,269 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; SunOS 5.8 sun4u) [Netscape]">
-</head>
-<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
-
-<h3>
-<b><font face="Times New Roman,Times">Author Sonja Mirtitsch</font></b></h3>
-
-<h3>
-<b><font face="Times New Roman,Times">Last updated: 4/4/2001</font></b></h3>
-
-<h1>
-<b><font face="Times New Roman,Times">NSS 3.2.QA Wrapper</font></b></h1>
-
-<p><br>The QA&nbsp; wrapper tests the nightly builds of NSS. The actual
-tests are being run are called from the QA script all.sh. I will add documentation
-for the actual QA soon. The main purpose of the wrapper is: find out which
-build (NSS version, date, Build Platform) to test on which machine (OS,
-OS version) and construct a summary report, which is then mailed to the
-nss developers (aka mailing list nss-qa-report@netscape.com). Please see
-also the <a href="#advertisement">feature</a> section.
-<p><a href="#nssqa">nssqa</a>&nbsp; - the script that calls the actual
-qa script all.sh
-<br><a href="#qa_stat">qa_stat</a> - sends out status reports
-<br><a href="#qaclean">qaclean</a>&nbsp; - if everything else fails
-<p>Sample <a href="/u/sonmi/doc/publish/glob_result.html">global result</a>,
-<a href="/u/sonmi/doc/publish/results.html">individual result </a>and <a href="/u/sonmi/doc/publish/output.log">log
-files</a>
-<p>The QA wrapper consistst mainly of scripts, most located in security/nss/tests
-and subdirectories, but run from /u/sonmi/bin
-<p>nssqa and qa_stat, the main scripts both include a common header (<a href="../header">header</a>)
-and a common environment (<a href="../set_environment">set_environment</a>).
-<br>Also used is <a href="../mksymlinks">mksymlinks</a> and <a href="../path_uniq">path_uniq</a>
-and <a href="#qaclean">qaclean</a>.
-<p>The scripts that are used on a daily basis are located in /u/sonmi/bin
-and checked into security/nss/tests
-<p>Parameters and Options are the same for most scripts.
-<p><a NAME="Parameters"></a><b><u><font size=+1>Parameters</font></u></b>
-<br>&nbsp;&nbsp;&nbsp; nssversion (supported: 30b, 31, tip, default tip)
-<br>&nbsp;&nbsp;&nbsp; builddate (default - today, format mmdd)
-<p><a NAME="Options"></a><b><u><font size=+1>Options</font></u></b>
-<br>&nbsp;&nbsp;&nbsp; -y answer all questions with y - use at your own
-risk... ignores warnings
-<br>&nbsp;&nbsp;&nbsp; -s silent (only usefull with -y)
-<br>&nbsp;&nbsp;&nbsp; -h, -? -help you guessed right - displays the usage
-<br>&nbsp;&nbsp;&nbsp; -d debug
-<br>&nbsp;&nbsp;&nbsp; -f &lt;filename> - write the (error)output to filename
-<br>&nbsp;&nbsp;&nbsp; -fcron writes resultfile in the same location as
-would the -cron
-<br>&nbsp;&nbsp;&nbsp; -m &lt;mailinglist> - send filename to mailinglist
-(csl) only useful
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with -f on nssqa
-<br>&nbsp;&nbsp;&nbsp; -l &lt;mozroot> run on a local build - does not
-work at this time
-<br>&nbsp;&nbsp;&nbsp; -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.&lt;scriptname>
-<br>&nbsp;
-<p>Please be aware that some iPlanet specific environments and features
-are being used.
-<p>-d Debug option might be removed from cron in a few weeks - or maybe
-not
-<br>-l QA on local build is not fully implemented yet - will not be implemented,
-all.sh can be called directly instead
-<p>Please do not use on Windows 95 and 98, ME platforms yet.
-<p>use -d if script behaves strange or exits unexpectedly
-<p><b><font size=+1>How to use the QA-wrapper</font></b>
-<br>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.
-<br>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.
-<p>In any case, if you are using it, please let me know the results.
-<p><a NAME="nssqa"></a><b><u><font size=+1>nssqa:</font></u></b>
-<p>the script that calls the actual qa script all.sh
-<p>nssqa <a href="#Parameters">parameters</a> and&nbsp; <a href="#Options">options</a>
-<p><a href="../nssqa">view the script</a>
-<p><b><u><font size=+1>Pseudocode Description of nssqa</font></u></b>
-<br>not quite up to date
-<p>&nbsp;&nbsp;&nbsp; header:init (global)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set flags and variables
-to default values
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signal trap (for interupts
-and kills)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set HOST and DOMSUF variables
-if running from cron
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parse parameters and options
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; determine os and set up
-the environment (espec. PATH)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set the directories to run
-in (influenced by parameters and -l option)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set the directories for backward
-compatibility testing
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set and initialize the tmp
-/ debugging / output files
-<p>&nbsp;&nbsp;&nbsp; nssqa:init (local)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; locking: if nssqa is already
-running on this systems (yes-exit,
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-no-lockfile)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set HOST and DOMSUF variables
-if running interavtively
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set flag to kill remaining
-selfserv processes during cleanup
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if QA platform different
-from build platform create neccessary
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-symbolic links
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wait for the build to finish
-(max of 5h)
-<p>&nbsp;&nbsp;&nbsp; main:
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; repeated per test (optimized,
-debug, 32, 64 bit)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-set flags for this run of all.sh (optimized, debug, 32, 64 bit)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-set the DIST directory (where the binaries reside)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-kill running selfservers (sorry - just don't use the svbld
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-account if you need to do your own testing... I will fix
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-selfserv as soon as I can - but it hangs too often and
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-disturbs all following QA)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-run all.sh
-<p>&nbsp;&nbsp;&nbsp; header:exit (global)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remove temporary files
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kill remaining selfservers
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; send email to the list
-<br>&nbsp;
-<p>&nbsp;&nbsp;&nbsp; errorhandling
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Option / Parameter errors:
-Exit with usage information
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Severe errors: Exit wit errormessage
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-example: directory in which all.sh resides does not exist
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-can't create files or directories
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-build not done after 5 hours
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-is already running
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Other errors: User is prompted
-with the "errormessage - continue (y/n)?"
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-example: local DIST dir does not exist (continues with next all.sh)
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-outputdirectory does not exist (user can specify other)
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Signals 2, 3, 15 are treated
-as severe errors
-<br>&nbsp;
-<br>&nbsp;
-<br>&nbsp;
-<p><img SRC="clean.gif" height=129 width=92 align=LEFT><a NAME="qaclean"></a><b><u><font size=+2>qaclean:</font></u></b>/u/sonmi/bin/qaclean
-<br>&nbsp;
-<p>Use qaclean as user "svbld" to get the propper permissions. It is supposed
-to clean up after a "hanging" QA and will also brutally kill, interupt
-and disturb any other nss related test or performance meassurement on the
-named machine. NT and 2000 might require an additional reboot, since the
-ps is not so good about telling us the actual programmname - so we can't
-kill them... Please note that this is a brute force script, it should not
-be used on a regular basis, file a bug whenever you have to use it, since
-hanging QA is nothing that should occur frequently
-<p>&nbsp;<a href="../qaclean">view the script</a>
-<p>What it does:
-<ol>
-<li>
-see if there is a lockfile (/tmp/nssqa.$$ or $TMP/nssqa.$$)</li>
-
-<br>if yes:
-<ol>kill the process of the lockfile <font color="#666666">(future expansion
-and if possible it's children )</font>
-<br>rm the lockfile</ol>
-
-<li>
-kill selfservers</li>
-
-<li>
-kill whatever other qa related processes might be hanging</li>
-
-<li>
-clean up tmp files</li>
-</ol>
-<b>QAClean Parameters:</b>
-<br>&nbsp;&nbsp;&nbsp; machinename.
-<br>&nbsp;&nbsp;&nbsp; for example
-<br>&nbsp;&nbsp;&nbsp; qaclean kentuckyderby
-<br>&nbsp;&nbsp;&nbsp; started on any machine, will clean up on kentuckyderby
-<p><a NAME="qa_stat"></a><b><u><font size=+2>qa_stat</font></u></b>
-<p>qa_stat is the script that is being started from the svbld cron on kentuckyderby
-every morning at 10:00 and runs some (very primitive) analysis on the qa
-results.
-<br>I'd like to rewrite the whole thing in perl, and in a few weeks I might
-just do this...
-<p>&nbsp;<a href="../qa_stat">view the script</a>
-<p>qa_stat <a href="#Parameters">parameters</a> and&nbsp; <a href="#Options">options</a>
-<p><a NAME="advertisement"></a><b><u><font size=+1>Why we need the QA wrapper</font></u></b>
-<p>We need the new QA wrapper, because we have to test on so many platforms,
-that running the tests and evaluating the results for the nightly builds
-took about an average workday.
-<p><b><font size=+1>New Features:</font></b>
-<ul>
-<li>
-runs from <b>cron</b> / rsh or <b>interactive</b> if desired</li>
-
-<li>
-generates <b>summary</b> (no need to look through 60-90 directories)</li>
-
-<li>
-sends <b>email</b> about results</li>
-
-<li>
-automatically <b>recognizes common errors</b> and problems and conflicts
-and corrects them</li>
-
-<br>(or attempts to correct them :-)
-<li>
-automatically determines <b>which build </b>to test (waits if build in
-progress, exits if no build)</li>
-
-<li>
-runs on <b>all required platforms</b> (Windows 98 and before not functional
-yet)</li>
-
-<li>
-Windows version runs on <b>free Cygnus</b> as well as on MKS</li>
-
-<li>
-debug mode, normal mode and silent mode</li>
-
-<li>
-<b>locking</b> mechanism so it won't run twice</li>
-
-<li>
-<b>cleanup</b> after being killed and most errors (no remaining selfservers,
-tmpfiles, lock files)</li>
-</ul>
-The 1st script is started via cron between 5:00 and 8:00 am on different
-systems, and starts QA on the nightly build. At 10:00 the next script is
-started, and sends a QA summary to the nss developers.
-<p><b>Cygnus Advantages</b>:
-<ul>
-<li>
-<b>free</b></li>
-
-<li>
-better handling of <b>processes</b> (background, processIDs, Signals)</li>
-
-<li>
-Unix / Linux <b>compatible</b> sh / bash</li>
-</ul>
-<b>Disadvantages</b>
-<ul>
-<li>
-MKS functionality needs to be preserved (makes <b>8 Windows platforms</b>
-instead of 4 for the QA suites - makes 32 testruns on Windows alone)</li>
-
-<br>In certain functionality's <b>slow</b>
-<br><b></b>&nbsp;</ul>
-<b>Porting the windows QA&nbsp;to Uwin as well is also being considered</b>
-</body>
-</html>