Test Suite: Difference between revisions

From Libreswan
Jump to navigation Jump to search
(describe testing subdirectory)
(add out-of-date diagram)
Line 1: Line 1:
== Test Suite ==
something about the testsuite goes here:
; testing/baseconfigs/
:  configuration files installed on guest machines
; testing/docker/
; testing/dockerfiles/
:  docker stuff
; testing/guestbin/
:  shell scripts used by tests, and run on the guest
; testing/libvirt/
:  files for building KVM guests
; testing/linux-system-roles.vpn/
:  ???
; testing/packaging/
:  ???
; testing/pluto/TESTLIST
:  list of tests, and their expected outcome
; testing/pluto/*/
:  individual test directories
; testing/programs/
:  executables used by tests, and run on the guest
; testing/sanitizers/
:  filters for cleaning up the test output
; testing/utils/
:  test drivers and other host tools
; testing/web/
:  publishing test results on the web
; testing/x509/
:  certificates, scripts are run on a guest
== Running tests ==
== Running tests ==


It can be run using several different mechanisms:
The libreswan tests, in testing/pluto, can be run using several different mechanisms:


{| class="wikitable"
{| class="wikitable"
Line 66: Line 34:


|}
|}
== Test directory ==
; testing/baseconfigs/
:  configuration files installed on guest machines
; testing/docker/
; testing/dockerfiles/
:  docker stuff
; testing/guestbin/
:  shell scripts used by tests, and run on the guest
; testing/libvirt/
:  files for building KVM guests
; testing/linux-system-roles.vpn/
:  ???
; testing/packaging/
:  ???
; testing/pluto/TESTLIST
:  list of tests, and their expected outcome
; testing/pluto/*/
:  individual test directories
; testing/programs/
:  executables used by tests, and run on the guest
; testing/sanitizers/
:  filters for cleaning up the test output
; testing/utils/
:  test drivers and other host tools
; testing/web/
:  publishing test results on the web
; testing/x509/
:  certificates, scripts are run on a guest
== Network Diagram (out-of-date) ==
[[File:testnet.png]]


== Travis continuous integration ==
== Travis continuous integration ==

Revision as of 17:47, 5 October 2021

Running tests

The libreswan tests, in testing/pluto, can be run using several different mechanisms:

Test Frameworks
Framework Speed Host Guest Modifies / Notes
Namespaces fast linux linux yes results are host dependent (for instance the host's kernel version)
requires all dependencies, including libreswan, to be installed on /
KVM slower generic? Fedora, OpenBSD no in theory it can be run on any system supporting libvirt/KVM (but only Linux has ever been used)
Docker linux Linux centric using host kernel.
Ideal for build tests.
Can build using various Linux Distributions : CentOS 6, 7, 8, Fedora 28 - rawhide, Debian, Ubuntu.
Also for run tests using systemd.

Test directory

testing/baseconfigs/
configuration files installed on guest machines
testing/docker/
testing/dockerfiles/
docker stuff
testing/guestbin/
shell scripts used by tests, and run on the guest
testing/libvirt/
files for building KVM guests
testing/linux-system-roles.vpn/
???
testing/packaging/
???
testing/pluto/TESTLIST
list of tests, and their expected outcome
testing/pluto/*/
individual test directories
testing/programs/
executables used by tests, and run on the guest
testing/sanitizers/
filters for cleaning up the test output
testing/utils/
test drivers and other host tools
testing/web/
publishing test results on the web
testing/x509/
certificates, scripts are run on a guest

Network Diagram (out-of-date)

Testnet.png

Travis continuous integration

Coverity static analysis - manually updated