2004-09-04 15:58:31 +02:00
|
|
|
|
|
|
|
ngIRCd - Next Generation IRC Server
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
(c)2001-2008 Alexander Barton,
|
2004-09-04 15:58:31 +02:00
|
|
|
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.
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
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.
|
2004-09-04 15:58:31 +02:00
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
NOTE #1: most tests of this suite depend on the external tools expect(1)
|
2004-09-04 15:58:31 +02:00
|
|
|
and telnet(1), so make sure you have them installed. If not, the tests will
|
|
|
|
not fail but simply be skipped.
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
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!
|
|
|
|
|
2004-09-04 15:58:31 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
start-server.sh [<id>]
|
2004-09-04 15:58:31 +02:00
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
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.
|
2004-09-04 15:58:31 +02:00
|
|
|
The exit code is 0 if the test binary could be started.
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
stop-server.sha [<id>]
|
2004-09-04 15:58:31 +02:00
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
This script uses getpid.sh to detect a running test binary
|
|
|
|
"T-ngircd<id>" and then shuts it down using the TERM signal.
|
2004-09-04 15:58:31 +02:00
|
|
|
The exit code is 0 if the test binary could be stopped.
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
stress-server.sh [<clientCount> [<maxConcurrent>]]
|
2004-09-04 15:58:31 +02:00
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
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.
|
2004-09-04 15:58:31 +02:00
|
|
|
|
|
|
|
tests.sh
|
|
|
|
|
2008-11-13 22:46:06 +01:00
|
|
|
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).
|
2004-09-04 15:58:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
III. Scripts for expect(1)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
channel-test.e
|
|
|
|
check-idle.e
|
|
|
|
connect-test.e
|
2008-11-13 22:46:06 +01:00
|
|
|
invite-test.e
|
|
|
|
join-test.e
|
|
|
|
kick-test.e
|
|
|
|
message-test.e
|
|
|
|
misc-test.e
|
2004-09-04 15:58:31 +02:00
|
|
|
mode-test.e
|
2008-11-13 22:46:06 +01:00
|
|
|
opless-channel-test.e
|
|
|
|
server-link-test.e
|
2004-09-04 15:58:31 +02:00
|
|
|
stress-A.e
|
|
|
|
stress-B.e
|
2008-11-13 22:46:06 +01:00
|
|
|
who-test.e
|