| ------------------------------ | |
| strongSwan Integration Tests | |
| ------------------------------ | |
| Contents | |
| -------- | |
| 1. Building the testing environment | |
| 2. Starting up the testing environment | |
| 3. Running the automated tests | |
| 4. Manual testing | |
| 1. Building the testing environment | |
| -------------------------------- | |
| The testing environment can be built with the "make-testing" script after | |
| adjusting the variables in the testing.conf file. By default everything is | |
| built when executing the script. Setting any of the ENABLE_BUILD_* variables | |
| in the configuration file to "no" will not build those parts. | |
| 2. Starting up the testing environment | |
| ----------------------------------- | |
| When the strongSwan testing environment has been put into place by running | |
| the "make-testing" script you are ready to start up the KVM instances by | |
| executing the "start-testing" script. | |
| 3. Running the automated tests | |
| --------------------------- | |
| The script | |
| ./do-tests <testnames> | |
| runs the automated tests. If the <testnames> argument is omitted all tests | |
| are executed, otherwise only the tests listed will be run as shown in the | |
| example below: | |
| ./do-tests ikev2/net2net-psk ikev2/net2net-cert | |
| Each test is divided into the following phases: | |
| * Load the test-specific guest configuration if any is provided. | |
| * Next the "pretest.dat" script found in each test directory is executed. | |
| Among other commands, strongSwan is started on the IPsec hosts. | |
| * The "evaltest.dat" script evaluates if the test has been successful. | |
| * The "posttest.dat" script terminates the test e.g. by stopping | |
| strongSwan on the IPsec hosts. It is also responsible to cleaning up | |
| things (e.g. firewall rules) set up in "pretest.dat". | |
| * Restore the default configuration on every host (new files have to be | |
| deleted manually in "posttest.dat"). | |
| The test results and configuration files for all tests are stored in a | |
| folder labeled with the current date and time in the $TESTRESULTSDIR directory. | |
| The same results are also automatically transferred to the Apache server | |
| running on guest "winnetou" and can be accessed via the URL | |
| http://192.168.0.150/testresults/ | |
| 4. Manual testing | |
| -------------- | |
| Instead of running tests automatically with "do-tests" it is possible to | |
| preload a test scenario with the script: | |
| scripts/load-testconfig <testname> | |
| Individual configuration files can be changed and any command can be executed by | |
| logging into a guest host directly (via SSH or a console window). No password | |
| is required to login as root. The sources for every software built during | |
| "make-testing" are mounted at /root/shared/, which allows you to change and | |
| recompile these components. | |
| After you have finished testing, the default configuration can be restored | |
| with the following command (newly created files have to be deleted manually) | |
| scripts/restore-defaults |