]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/testsuite/README
Test suite: start two servers and test server-server links
[ngircd-alex.git] / src / testsuite / README
index 2a39be0242ae4d043c44a0ee52bfb0e13ee7a93f..8b695a1b4a5cea9eb8d68fc76d1918d125ed4c41 100644 (file)
@@ -1,7 +1,7 @@
 
                      ngIRCd - Next Generation IRC Server
 
-                      (c)2001-2004 by Alexander Barton,
+                       (c)2001-2008 Alexander Barton,
                     alex@barton.de, http://www.barton.de/
 
                ngIRCd is free software and published under the
@@ -17,14 +17,20 @@ The purpose of the "test suite" contained in this directory is to detect
 bugs and incompatibilities in ngIRCd introduced during coding and after
 building ngIRCd on a specific platform.
 
-To run the "standard" tests call "make check". It will build ngIRCd (if
-required) and run some tests on it. These tests should be portable and run
-on all supported platforms without errors.
+To run the "standard" tests call "make check" (which runs "make check" in
+all the source directories, testing the "portab" library as well for example)
+or "make testsuite" (which only runs the tests in this directory). Both will
+build ngIRCd (if required) and run some tests on it. These tests should be
+portable and run on all supported platforms without errors.
 
-Please note: most tests of this suite depend on the external tools expect(1)
+NOTE #1: most tests of this suite depend on the external tools expect(1)
 and telnet(1), so make sure you have them installed. If not, the tests will
 not fail but simply be skipped.
 
+NOTE #2: the two test servers started by this test suite are configured to
+run on port 6789 and 6790; so it will fail if one or both of these ports
+are already used by some other daemons!
+
 
 II. Shell Scripts
 ~~~~~~~~~~~~~~~~
@@ -35,26 +41,43 @@ getpid.sh <name>
        the given name in a portable manner. The result is echoed on the
        console. It is a helper script for some other scripts of this suite.
 
-start-server.sh
+start-server.sh [<id>]
 
-       start-server.sh starts up the test binary, "T-ngircd". It makes sure
-       that getpid.sh is available and working, and that no other instance
-       of the test binary is already running.
+       start-server.sh starts up the test binary, "T-ngircd<id>" (the default
+       for <id> is 1) with configuration file "ngircd-test<id>.conf" and the
+       console output redirected to "ngircd-test<id>.log".
+       The script first makes sure that getpid.sh is available and working,
+       and that no other instance of the test binary is already running.
        The exit code is 0 if the test binary could be started.
 
-stop-server.sh
+stop-server.sha [<id>]
 
-       This script uses getpid.sh to detect a running test binary "T-ngircd"
-       and then shuts it down using the TERM signal.
+       This script uses getpid.sh to detect a running test binary
+       "T-ngircd<id>" and then shuts it down using the TERM signal.
        The exit code is 0 if the test binary could be stopped.
 
-stress-server.sh
+stress-server.sh [<clientCount> [<maxConcurrent>]]
 
-       ...
+       stress-server.sh starts <clientCount> clients that "stress" the
+       running test server (id 1); but no more than <maxConcurrent> clients
+       are started at the same moment.
 
 tests.sh
 
-       ...
+       Most of the tests scripts are symlinked to tests.sh, which in turn
+       uses expect(1) to run the respective script <name>.e and checks
+       its exit code.
+
+test-loop.sh [<loops> [<wait>]]
+
+       This script runs all the tests <loops> times (default: 5) and pauses
+       <wait> seconds (default: 5) betweed runs.
+       It isn't used by "make check" or "make testsuite".
+
+wait-tests.sh [<max>]
+
+       stress-server.sh uses this script to ensure that no more than <max>
+       clients are connected to the test server (id 1).
 
 
 III. Scripts for expect(1)
@@ -63,10 +86,14 @@ III. Scripts for expect(1)
 channel-test.e
 check-idle.e
 connect-test.e
+invite-test.e
+join-test.e
+kick-test.e
+message-test.e
+misc-test.e
 mode-test.e
+opless-channel-test.e
+server-link-test.e
 stress-A.e
 stress-B.e
-
-
--- 
-$Id: README,v 1.1 2004/09/04 13:58:31 alex Exp $
+who-test.e