strongswan/testing
Tobias Brunner 5a09734c2c testing: Start charon before Apache in tnc/tnccs-20-pdp-pt-tls
The change in c423d0e8a1 ("testing: Fix race in tnc/tnccs-20-pdp-pt-tls
scenario") is not really ideal as now the vici plugin might not yet be
ready when `swanctl --load-creds` is called.  Perhaps starting charon
before Apache causes enough delay.

Once we switch to charon-systemd this isn't a problem anymore as starting the
unit will block until everything is up and ready.  Also, the individual
swanctl calls will be redundant as the default service unit calls --load-all.
But start scripts do run before charon-systemd signals that the daemon is
ready, so using these would work too then.
2016-06-21 17:24:43 +02:00
..
config testing: Update 4.x kernel configs to be compatible with Debian 8/systemd 2016-06-15 16:24:44 +02:00
hosts testing: Only load selected plugins in swanctl 2016-06-20 18:23:45 +02:00
images Remove executable flag from source files. 2012-05-18 10:04:08 +02:00
scripts testing: Update FreeRADIUS to 2.2.8 2016-06-17 15:53:12 +02:00
tests testing: Start charon before Apache in tnc/tnccs-20-pdp-pt-tls 2016-06-21 17:24:43 +02:00
.gitignore testing: support a .gitignored testing.conf.local for site-local configurations 2013-08-29 15:55:23 +02:00
Makefile.am testing: Add ssh script to distribution 2014-02-12 10:53:17 +01:00
README Updated documentation for the integration tests 2013-01-17 16:56:02 +01:00
do-tests testing: Wait for packets to be processed by tcpdump 2016-06-16 14:36:15 +02:00
make-testing Switch to 'mapped' access mode for hostfs 2013-01-17 16:55:04 +01:00
ssh Define SSHCONF from strongswan testing directory, not TESTDIR 2013-03-26 10:31:29 +01:00
ssh_config Use key(and password-)less SSH authentication 2013-01-17 15:22:09 +01:00
start-testing testing: Do not attempt to start the test environment if hosts are still running 2015-07-15 16:53:37 +02:00
stop-testing Make guest ACPI shutdown work 2013-01-17 16:55:03 +01:00
testing.conf testing: Install packages like the FIPS-enabled OpenSSL from a custom apt repo 2016-06-16 14:01:47 +02:00

README

                 ------------------------------
                  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