diff options
Diffstat (limited to 'deprecated-ngircd/src/testsuite/README')
| -rw-r--r-- | deprecated-ngircd/src/testsuite/README | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/deprecated-ngircd/src/testsuite/README b/deprecated-ngircd/src/testsuite/README new file mode 100644 index 0000000..33855fb --- /dev/null +++ b/deprecated-ngircd/src/testsuite/README @@ -0,0 +1,100 @@ + + ngIRCd - Next Generation IRC Server + + (c)2001-2008 Alexander Barton, + alex@barton.de, http://www.barton.de/ + + ngIRCd is free software and published under the + terms of the GNU General Public License. + + -- README for the Test Suite -- + + +I. Overview +~~~~~~~~~~~ + +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" (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. + +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 +~~~~~~~~~~~~~~~~ + +getpid.sh <name> + + This script is used to detect the PID of the running process with + 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 [<id>] + + 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 [<id>] + + 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 [<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) between 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) +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +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 +who-test.e +whois-test.e |
