conftest: Sanity check for proposal number modifier
[strongswan.git] / testing / README
1
2                  ------------------------------
3                   strongSwan Integration Tests
4                  ------------------------------
5
6
7 Contents
8 --------
9
10    1. Building the testing environment
11    2. Starting up the testing environment
12    3. Running the automated tests
13    4. Manual testing
14
15
16 1. Building the testing environment
17    --------------------------------
18
19 The testing environment can be built with the "make-testing" script after
20 adjusting the variables in the testing.conf file.  By default everything is
21 built when executing the script.  Setting any of the ENABLE_BUILD_* variables
22 in the configuration file to "no" will not build those parts.
23
24
25 2. Starting up the testing environment
26    -----------------------------------
27
28 When the strongSwan testing environment has been put into place by running
29 the "make-testing" script you are ready to start up the KVM instances by
30 executing the "start-testing" script.
31
32
33 3. Running the automated tests
34    ---------------------------
35
36 The script
37
38     ./do-tests <testnames>
39
40 runs the automated tests.  If the <testnames> argument is omitted all tests
41 are executed, otherwise only the tests listed will be run as shown in the
42 example below:
43
44     ./do-tests ikev2/net2net-psk ikev2/net2net-cert
45
46 Each test is divided into the following phases:
47
48     * Load the test-specific guest configuration if any is provided.
49
50     * Next the "pretest.dat" script found in each test directory is executed.
51       Among other commands, strongSwan is started on the IPsec hosts.
52
53     * The "evaltest.dat" script evaluates if the test has been successful.
54
55     * The "posttest.dat" script terminates the test e.g. by stopping
56       strongSwan on the IPsec hosts.  It is also responsible to cleaning up
57       things (e.g. firewall rules) set up in "pretest.dat".
58
59     * Restore the default configuration on every host (new files have to be
60       deleted manually in "posttest.dat").
61
62 The test results and configuration files for all tests are stored in a
63 folder labeled with the current date and time in the $TESTRESULTSDIR directory.
64
65 The same results are also automatically transferred to the Apache server
66 running on guest "winnetou" and can be accessed via the URL
67
68     http://192.168.0.150/testresults/
69
70
71 4. Manual testing
72    --------------
73
74 Instead of running tests automatically with "do-tests" it is possible to
75 preload a test scenario with the script:
76
77     scripts/load-testconfig <testname>
78
79 Individual configuration files can be changed and any command can be executed by
80 logging into a guest host directly (via SSH or a console window).  No password
81 is required to login as root.  The sources for every software built during
82 "make-testing" are mounted at /root/shared/, which allows you to change and
83 recompile these components.
84
85 After you have finished testing, the default configuration can be restored
86 with the following command (newly created files have to be deleted manually)
87
88     scripts/restore-defaults