diff options
Diffstat (limited to 'testing/README')
-rw-r--r-- | testing/README | 170 |
1 files changed, 50 insertions, 120 deletions
diff --git a/testing/README b/testing/README index 097b4264d..a62497269 100644 --- a/testing/README +++ b/testing/README @@ -1,158 +1,88 @@ - ------------------------------------ - strongSwan UML - Running the Tests - ------------------------------------ + ------------------------------ + strongSwan Integration Tests + ------------------------------ Contents -------- - 1. Starting up the UML testing environment - 2. Running the automated tests - 3. Manual testing + 1. Building the testing environment + 2. Starting up the testing environment + 3. Running the automated tests + 4. Manual testing -1. Starting up the UML testing environment - --------------------------------------- - -When the strongSwan UML testing environment has been put into place by -running the "make-testing" script then you are ready to start up the -UML instances by calling +1. Building the testing environment + -------------------------------- - ./start-testing <hosts> - -This main script first calls the subscript +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. - scripts/start-switches -that starts the three UML switches umlswitch0, umlswitch1, and umlswitch2 -which are connecting the UML instances among each other and via tun/tap -devices also make them accessible from the host system. - -Then depending on the setting of the UMLSTARTMODE variable defined -in "testing.conf", the UML instances given on the command line are started -up with different terminals: +2. Starting up the testing environment + ----------------------------------- -If you are running the KDE graphical environment then by setting +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. - UMLSTARTMODE=konsole - -the script - scripts/kstart-umls <hosts> - -is called which starts up each of the UML instances defined by <hosts> in -a KDE konsole. If - - UMLSTARTMODE=xterm - -is set then - - scripts/xstart-umls <hosts> - -starts up the UML instances in an xterm each. And with the choice - - UMLSTARTMODE=screen - -the instances are started up by - - scripts/start-umls <hosts> - -in the background but the Linux command "screen -r <host>" can be used to -connect a terminal to the UML instance <host> if desired. - - - if [ $ENABLE_DO_TESTS = "yes" ] - then - do-tests - fi - -either executes all the tests defined in the "testing/tests" directory -if the variable SELECTEDTESTSONLY in "testing.conf" is set to "no" or the -selected tests defined by the string in SELELECTEDTESTS if SELECTEDTESTSONLY -is set to "yes". - - if [ $ENABLE_STOP_TESTING = "yes" ] - then - stop-testing <hosts> - fi - -stops the both the UML switches and the UML instances designated by the -<hosts> argument. - - -2. Running the automated tests +3. Running the automated tests --------------------------- The script ./do-tests <testnames> -runs the automated tests. With an empty <testnames> argument the tests -as defined in "testing.conf" are executed, otherwise the tests enumerated -by the <testnames> argument will be run as shown in the example below. +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 net2net-psk net2net-cert + ./do-tests ikev2/net2net-psk ikev2/net2net-cert Each test is divided into the following phases: - * scripts/load-testconfig <testname> - loads the UML hosts with test specific settings if such are provided. - - * next the "pretest.dat" script found in each test directory is executed. - Among other commands, strongSwan is started on the IPsec hosts. + * Load the test-specific guest configuration if any is provided. - * 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. + * Next the "pretest.dat" script found in each test directory is executed. + Among other commands, strongSwan is started on the IPsec hosts. - * scripts/restore-defaults <testname> - restores the default settings on the UML hosts. + * The "evaltest.dat" script evaluates if the test has been successful. -The test results and configuration settings for all tests settings are stored -in a folder labeled with the current date in the directory - - ~/strongswan-testing/testresults - -the same results are also automatically transferred to the Apache server -running on UML instance "winnetou" and can be accessed via the URL + * 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". - http://192.168.0.150/testresults/ + * 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. -3. Manual testing - -------------- - -The greates flexibility can be achieved with manual testing. Just set - - ENABLE_DO_TESTS="no" - ENABLE_STOP_TESTING="no" - -in "testing.conf" and start the UML instances that you want to experiment with -by calling +The same results are also automatically transferred to the Apache server +running on guest "winnetou" and can be accessed via the URL - ./start-testing <hosts> - -If you want to preload a test scenario with configurations differing from -the default values, e.g. when using Preshared Keys then you can do this -with the command + http://192.168.0.150/testresults/ - scripts/load-testconfig net2net-psk - -You can then log onto any UML instance using its konsole, xterm or screen -terminal as root with the default password - tuxmux - -You can then execute any commands the UML instances, including changing -and recompiling the strongSwan source code located in the /root directory. +4. Manual testing + -------------- -After you have finished testing, the default configuration settings can -restored with the command +Instead of running tests automatically with "do-tests" it is possible to +preload a test scenario with the script: - scripts/restore-defaults net2net-psk + 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 |