------------------------------ 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 runs the automated tests. If the 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 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