#
# This isn't actually a shell script. It just looks like one.
# Some tools other than /bin/sh process it.
#

# test-kind	directory-containing-test	expectation	[PR#] # comment

# Test Kind:
#
#   kvmplutotest: uses KVM (and hopefully docker); will be run by
#                 default
#
#   umlplutotest: not converted to KVM; not run by default.
#
#   umlXhost: not converted to KVM; not run by default; requires
#             missing domains, such as japan
#
# Expectation:
#
#   good: since reference output for all in-use domains exists and
#         matches the test consistently passes, hence the test is run
#         by default
#
#   wip: since reference output is either missing (UNRESOLVED) or
#        often different (FAILED) the the test does not consistently
#        pass, hence the test is not run by default
#
#   skiptest: used for unit tests where a human is expected to examine
#             the output; this test is not run by default
#
#
# Invoking the testsuite:
#
#     make kvm-install
#     make kvm-test
#
# For more info see the output from: make kvm-help
#
# To run an individual test that is normally skipped, either invoke
# make as:
#
#     make kvm-test KVM_TESTS=path/to/test/directory
#
# or invoke kvmrunner.py directly as:
#
#    ./testing/utils/kvmrunner.py path/to/test/directory ...
#
# To add the WIP tests to a test run specify:
#
#      KVM_TEST_FLAGS=--test-result "good|wip"
#
# either as a parameter to make, or added to Makefile.inc.local.
#

# run the lib/libswan/ tests (make changes broke this)
kvmplutotest	basic-pluto-00	wip

# basic pluto test - bring up your basic CONN between eastnet-westnet.
kvmplutotest	basic-pluto-01			good
kvmplutotest	basic-pluto-02			good
kvmplutotest	basic-pluto-03			good
kvmplutotest    basic-pluto-04			wip
kvmplutotest    basic-pluto-07-sourceip		wip

kvmplutotest	netkey-audit-01	good

kvmplutotest	ikev1-01-fuzzer	good
kvmplutotest	ikev1-initial-contact-01	wip

kvmplutotest	basic-pluto-01-wrongkey			wip
kvmplutotest	basic-pluto-01-nokey			wip
kvmplutotest	basic-pluto-01-vanishingkey		wip


#################################################################
# Parser tests
#################################################################
kvmplutotest	addconn-01	good


#################################################################
# IKEv2 tests
#################################################################
kvmplutotest	ikev2-01-fallback-ikev1			good
kvmplutotest	ikev2-02-responder-send-notify		good
kvmplutotest	ikev2-03-basic-rawrsa			good
kvmplutotest	ikev2-04-basic-x509			good
kvmplutotest	ikev2-04-basic-x509-ckaid		good
kvmplutotest	ikev2-05-basic-psk			good
kvmplutotest	ikev2-dcookie-01			good
kvmplutotest	ikev2-dcookie-02			good
kvmplutotest	ikev2-dcookie-03			good

kvmplutotest	ikev2-07-biddown			wip
kvmplutotest	ikev2-08-delete-notify			good
kvmplutotest	ikev2-delete-01				good
kvmplutotest	ikev2-delete-02				good
kvmplutotest	ikev2-delete-03-valgrind		skiptest
kvmplutotest	ikev2-delete-04				wip
kvmplutotest	ikev2-delete-05-sa-start		wip


kvmplutotest	ikev2-09-rw-rsa				good
kvmplutotest	ikev2-11-simple-psk			good
kvmplutotest	ikev2-12-x509-ikev1			good
kvmplutotest	ikev2-12-x509-ikev1-rw			good
kvmplutotest	ikev2-12-transport-psk			good
kvmplutotest	ikev2-13-ah				good
kvmplutotest	ikev2-14-missing-ke			good
kvmplutotest	ikev2-15-fuzzer				good
kvmplutotest	ikev2-17-rekey-ipsec			good
kvmplutotest	ikev2-18-x509-alias			wip
kvmplutotest	ikev2-16-alias-whack-up			good
kvmplutotest	ikev2-19-x509-auto-start		wip
kvmplutotest	ikev2-31-nat-rw-no-rekey		good
kvmplutotest	ikev2-32-nat-rw-rekey			good
kvmplutotest	ikev2-30-rw-no-rekey			good
kvmplutotest	ikev2-41-rw-replace			good
kvmplutotest	ikev2-42-rw-replace-responder		good
kvmplutotest	ikev2-45-impair-gx-01			good
kvmplutotest	ikev2-45-impair-gx-02			good
kvmplutotest	ikev2-46-basic-psk-netkey		good
kvmplutotest	ikev2-47-priority			good
kvmplutotest	ikev2-48-nat-cp				good
kvmplutotest	ikev2-48-nat-cp-start			good
kvmplutotest	ikev2-49-hub-spoke			wip
kvmplutotest	ikev2-50-propnum			good
kvmplutotest	ikev2-51-rw-nat-ikeport			wip
kvmplutotest	ikev2-53-clean-pending			good
kvmplutotest	ikev2-54-replace-leave-old		good


kvmplutotest	ikev2-24-cryptoload			wip
kvmplutotest	ikev2-25-rw-nat				good
kvmplutotest	ikev2-27-uniqueid			good
kvmplutotest	ikev2-29-no-rekey			good
kvmplutotest	ikev2-ddns-01				good
kvmplutotest	ikev2-ddns-02				good
kvmplutotest	ikev1-cryptoload-01			good
kvmplutotest	ikev1-cryptoload-00			good

kvmplutotest	ikev2-03-basic-rawrsa-nhelpers0		good
kvmplutotest	ikev2-04-basic-x509-nhelpers0		good
kvmplutotest	ikev2-05-basic-psk-nhelpers0		good

kvmplutotest	ikev2-04-basic-x509-nsspw		good

kvmplutotest	ikev2-x509-01		good
kvmplutotest	ikev2-10-2behind-nat	good

# modp tests for checking if we deal with sending different KE's
kvmplutotest	ikev2-algo-01-modp2048-initiator	good
kvmplutotest	ikev2-algo-02-modp2048-responder	good
kvmplutotest	ikev2-algo-03-aes-ccm			good
kvmplutotest	ikev2-algo-04-aes-gcm256		good
kvmplutotest	ikev2-algo-05-aes-default		good
kvmplutotest	ikev2-algo-06-aes-aes_xcbc		good
kvmplutotest	ikev2-algo-07-aes_ctr			good
kvmplutotest	ikev2-algo-08-cast			good
kvmplutotest	ikev2-algo-09-camellia			good
kvmplutotest	ikev2-algo-10-aes-gcm128		good
kvmplutotest	ikev2-algo-11-gcm-prop2			good
kvmplutotest	ikev2-algo-12-aes-aes_cmac		good
kvmplutotest	netkey-algo-aes_gcm-01			good
kvmplutotest	netkey-algo-aes_gcm-02			good
kvmplutotest	netkey-algo-aes_gcm-03			good
kvmplutotest	netkey-algo-aes_ccm-01			good

# various ESP SHA2 tests (sha2/sha2_128/sha2_192/sha2_256)
kvmplutotest	ikev2-algo-sha2-01			good
kvmplutotest	ikev2-algo-sha2-02			good
kvmplutotest	ikev2-algo-sha2-03			good
kvmplutotest	ikev2-algo-sha2-04			good
kvmplutotest	ikev2-algo-sha2-05			good
kvmplutotest	ikev1-algo-esp-sha2-05			good
kvmplutotest	ikev2-algo-sha2-06			good
kvmplutotest	ikev2-algo-sha2-08			good

# dh tests
kvmplutotest	ikev2-algo-ike-dh-ecp-01		good
kvmplutotest	interop-ikev2-strongswan-33-ike-dh-ecp-responder	good

kvmplutotest	klips-ikev2-algo-sha2-07		wip
# interop tests for KLIPS-NETKEY with SHA2
kvmplutotest	ikev1-algo-esp-sha2-01-netkey-klips	good
kvmplutotest	ikev1-algo-esp-sha2-02-netkey-klips	good

# various IKE SHA2 tests (sha2/sha2_128/sha2_192/sha2_256)
kvmplutotest	ikev2-algo-ike-sha2-01			good
kvmplutotest	ikev2-algo-ike-sha2-02			good
kvmplutotest	ikev2-algo-ike-sha2-03			good
kvmplutotest	ikev1-algo-ike-sha2-01			good
kvmplutotest	ikev1-algo-ike-sha2-02			good
kvmplutotest	ikev1-algo-ike-sha2-03			good
kvmplutotest	ikev1-algo-04-mismatch			good
kvmplutotest	ikev1-algo-05-3des-sha2			good

kvmplutotest	interop-ikev2-strongswan-aes_xcbc	wip

# ESN tests
kvmplutotest	ikev2-algo-esn-01			good
kvmplutotest	ikev2-algo-esn-02			good
kvmplutotest	ikev2-algo-esn-03			good
kvmplutotest	ikev2-algo-esn-04			good
kvmplutotest	ikev2-algo-esn-05			good
kvmplutotest	ikev2-algo-esn-06			good
kvmplutotest	interop-ikev2-strongswan-30-esn		good

# Various corner case tests for IKEv2
kvmplutotest	ikev2-major-version-initiator		good
kvmplutotest	ikev2-major-version-responder		good
kvmplutotest	ikev2-minor-version-initiator		good
kvmplutotest	ikev2-minor-version-responder		good
kvmplutotest	ikev2-isakmp-reserved-flags-01		good
kvmplutotest	ikev2-isakmp-reserved-flags-02		good
kvmplutotest	ikev2-payload-reserved-flags-01		good
kvmplutotest	ikev2-allow-narrow-01			good
kvmplutotest	ikev2-allow-narrow-02			good
kvmplutotest	ikev2-allow-narrow-03			good
kvmplutotest	ikev2-allow-narrow-04			good
kvmplutotest	ikev2-allow-narrow-05			good
kvmplutotest	ikev2-allow-narrow-06			good
kvmplutotest	ikev2-allow-narrow-07			good
kvmplutotest	ikev2-invalid-ke-01-invalid-modp	good
kvmplutotest	ikev2-invalid-ke-02-wrong-modp		good
kvmplutotest	ikev2-invalid-ke-03-default-initiator	good
kvmplutotest	ikev2-invalid-ke-04-default-responder	good
kvmplutotest	ikev1-impair-gx-01			good
kvmplutotest	ikev1-impair-gx-02			good


kvmplutotest	ikev2-no-nhelpers-01			good

kvmplutotest	ikev2-auth-null-01			good

kvmplutotest	ikev2-ddos-01				wip

kvmplutotest	ikev2-switchnat-01			wip
kvmplutotest	ikev1-switchnat-01			wip
kvmplutotest	ikev1-hub-spoke 			wip

kvmplutotest	pluto-ipcmp-01	good

kvmplutotest	ikev1-connswitch-ports-01	wip

kvmplutotest	ikev2-38-psk-65bytes			good
kvmplutotest	ikev2-39-psk-64bytes 			good

kvmplutotest	nflog-01-global				good
kvmplutotest	nflog-02-conn				good
kvmplutotest	nflog-03-conns				good

kvmplutotest	netkey-vti-01				good
kvmplutotest	netkey-vti-02				good
kvmplutotest	netkey-vti-03				wip
kvmplutotest	netkey-vti-04				wip
kvmplutotest	netkey-vti-05				good
kvmplutotest	netkey-vti-06				good
kvmplutotest	netkey-vti-06b				wip
kvmplutotest	netkey-vti-06c				good

kvmplutotest	netkey-tfc-01				good
kvmplutotest	netkey-tfc-02				good
kvmplutotest	netkey-tfc-03				good

kvmplutotest	ikev2-43-init-retransmit		good

kvmplutotest	ikev2-frag-01				good
kvmplutotest	ikev2-frag-02-ipv6			good

kvmplutotest	dynamic-iface-01			good

# Opportunstic Encryption using AUTH NULL
kvmplutotest	newoe-01-whack				good
kvmplutotest	newoe-02-klips				wip
kvmplutotest	newoe-03-oeself				good
kvmplutotest	newoe-04-pass-pass			good
kvmplutotest	newoe-05-hold-pass			good
kvmplutotest	newoe-06-prio				good
kvmplutotest	newoe-07-ike-replace-initiator		good
kvmplutotest	newoe-07-ike-replace-initiator-esp	good
kvmplutotest	newoe-08-ike-replace-responder		good
kvmplutotest	newoe-08-restart			good
kvmplutotest	newoe-09-mutual				good
kvmplutotest	newoe-10-expire-inactive		good
kvmplutotest	newoe-10-expire-inactive-ike		good
kvmplutotest	newoe-11-failike			good
kvmplutotest	newoe-12-clear				good
kvmplutotest	newoe-13-block				good
kvmplutotest	newoe-14-clear-in-block-clear		good
kvmplutotest	newoe-15-portpass			good
kvmplutotest	newoe-16-pass-hold			good
kvmplutotest	newoe-17-block-in-clear-clear		wip
#
kvmplutotest 	newoe-18-poc-poc 			good
kvmplutotest 	newoe-18-poc-cop 			good
kvmplutotest 	newoe-18-poc-private 			good
kvmplutotest 	newoe-18-poc-clear 			good
kvmplutotest 	newoe-18-poc-block 			good
kvmplutotest 	newoe-18-cop-poc 			good
kvmplutotest 	newoe-18-cop-cop 			good
kvmplutotest 	newoe-18-cop-private 			good
kvmplutotest 	newoe-18-cop-clear 			good
kvmplutotest 	newoe-18-cop-block 			good
kvmplutotest 	newoe-18-private-poc 			good
kvmplutotest 	newoe-18-private-cop 			good
kvmplutotest 	newoe-18-private-private 		good
kvmplutotest 	newoe-18-private-clear 			good
kvmplutotest 	newoe-18-private-block 			good
kvmplutotest 	newoe-18-clear-poc 			good
kvmplutotest 	newoe-18-clear-cop 			good
kvmplutotest 	newoe-18-clear-private 			good
kvmplutotest 	newoe-18-clear-clear 			good
kvmplutotest 	newoe-18-clear-block 			good
kvmplutotest 	newoe-18-block-poc 			good
kvmplutotest 	newoe-18-block-cop 			good
kvmplutotest 	newoe-18-block-private 			good
kvmplutotest 	newoe-18-block-clear 			good
kvmplutotest 	newoe-18-block-block 			good
kvmplutotest	newoe-18-poc-blockall			good
kvmplutotest	newoe-18-private-clearall		good
kvmplutotest	newoe-18-private-copall			good
kvmplutotest	newoe-18-private-pocall			good
kvmplutotest 	newoe-19-poc-poc-clear			good
kvmplutotest 	newoe-20-ipv6				good
kvmplutotest 	newoe-21-liveness-clear			good
kvmplutotest	newoe-22-nat-poc-cop			good
kvmplutotest	newoe-23-reverse-nat 			good
kvmplutotest	newoe-25-cat-1				good
kvmplutotest	newoe-25-cat-2				good
kvmplutotest	newoe-25-cat-3-4-way			good
kvmplutotest	newoe-25-cat-4				good
kvmplutotest 	newoe-25-cat-5				good

kvmplutotest 	certoe-01-whack				good
kvmplutotest 	certoe-02-whack-badca			good
kvmplutotest 	certoe-03-cop-whack			good
kvmplutotest 	certoe-03-poc-whack			good
kvmplutotest	certoe-04-poc-packet			good
kvmplutotest	certoe-05-poc-reverse			good
kvmplutotest	certoe-06-nat-packet-cop		good
kvmplutotest	certoe-07-nat-2-clients			good
kvmplutotest	certoe-08-nat-packet-cop-restart	good
kvmplutotest	certoe-10-symetric-cert-whack		good
kvmplutotest	certoe-11-symetric-cert-nat		good
kvmplutotest	certoe-12-nat-server			wip

kvmplutotest	ikev2-initiate-template-01		good

kvmplutotest	ikev2-asymmetric-01-parsing		good
kvmplutotest	ikev2-asymmetric-02-orienting		good
kvmplutotest	ikev2-asymmetric-03-null-rsacert	good
kvmplutotest	ikev2-asymmetric-04-null-rsaraw		good

# get_shared_secret() needs to know if it is initiator/responder/asymmetric
kvmplutotest	ikev2-asymmetric-05-null-psk		wip
kvmplutotest	ikev2-asymmetric-06-psk-null		wip

kvmplutotest	ikev2-asymmetric-07-psk-rsaraw		good
kvmplutotest	ikev2-asymmetric-08-psk-rsacert		good
kvmplutotest	ikev2-asymmetric-09-rsaraw-null		good
kvmplutotest	ikev2-asymmetric-10-rsaraw-psk		good

kvmplutotest	ikev2-asymmetric-12-rsacert-null	good
kvmplutotest	ikev2-asymmetric-13-rsacert-psk		good
kvmplutotest	ikev2-asymmetric-15-rsaraw-rsaraw	good
kvmplutotest	ikev2-asymmetric-16-auth-mismatch	good

# test harnass needs to be able to install raw keys and certs
kvmplutotest	ikev2-asymmetric-11-rsaraw-rsacert	wip
kvmplutotest	ikev2-asymmetric-14-rsacert-rsaraw	wip


# test food groups
# these set up a food group, then run a ping from sunrise-sunset

# clear peer
umlplutotest	food-groups-clear-01	good # OE TEMP DISABLED
# oe peer
#
# this test is disabled because the OE peer (west) is not
# properly configured yet.
umlplutotest	food-groups-clear-02	skiptest # bad

# clear peer
umlplutotest	food-groups-clear-or-oe-01	good # OE TEMP DISABLED

# oe peer
#
# this test is disabled because the OE peer (west) is not
# properly configured yet.
umlplutotest	food-groups-clear-or-oe-02	skiptest # bad

# clear peer
umlplutotest	food-groups-never-01	good # OE TEMP DISABLED

# oe peer
# This test is disabled, since no packets should ever arrive at west, so
# it could never reply. A test of replies needs to be done instead.
#
umlplutotest	food-groups-never-02	skiptest # bad

# oe peer
umlplutotest	food-groups-oe-or-clear-01	good # OE TEMP DISABLED

# clear peer
#
# this test is disabled because the OE peer (west) is not
# properly configured yet.
umlplutotest	food-groups-oe-or-clear-02	skiptest # bad

# oe peer
umlplutotest	food-groups-oe-or-die-01	good # OE TEMP DISABLED

# clear peer
#
# this test is disabled because the OE peer (west) is not
# properly configured yet.
umlplutotest	food-groups-oe-or-die-02	skiptest # bad

# Foodgroups bug: used to forget name of target when target is
# preserved across --listen.
umlplutotest	food-groups-bug-01	good # OE TEMP DISABLED

# bug: OE should not be attempted if our private key is missing
umlplutotest	oe-fail-without-private-key-01	good # OE TEMP DISABLED

# bug: pluto and _pluto_adns can deadlock in a flood
umlplutotest	oe-flood-deadlock-01	good # OE TEMP DISABLED

# Foodgroups orderly transition: policy groups must be transitioned properly
# when changed
umlplutotest	food-groups-orderly-transition-01	skiptest # good
#

# RFC 3706 DPD and IKEv2 liveness tests
kvmplutotest	dpd-01	good
kvmplutotest	dpd-02	good
kvmplutotest	dpd-03	good
kvmplutotest	dpd-04	good
kvmplutotest	dpd-05	good
kvmplutotest	dpd-06	good
kvmplutotest	dpd-07	good
kvmplutotest	dpd-08	wip
kvmplutotest	ikev2-liveness-01	good
kvmplutotest	ikev2-liveness-02	good
kvmplutotest	ikev2-liveness-03	good
kvmplutotest	ikev2-liveness-05	good
kvmplutotest	ikev2-liveness-06	good
kvmplutotest	ikev2-liveness-07	good
kvmplutotest	ikev2-liveness-08	wip
kvmplutotest	ikev2-child-ipsec	wip
kvmplutotest	ikev2-child-ipseac-replace-ike	good
kvmplutotest	ikev2-child-ipsec-responder	good

kvmplutotest	delete-sa-01			good
kvmplutotest	delete-sa-03			good
kvmplutotest	delete-sa-04			good
kvmplutotest	delete-sa-05			wip
kvmplutotest	delete-sa-06			wip
kvmplutotest	delete-sa-08-rhbz1311360	good
kvmplutotest	delete-sa-09-rhbz1311360-c32	good
kvmplutotest	ikev1-27-uniqueid		good

kvmplutotest	ikev1-rekey-connswitch	wip

# oe-snat-01 - do Source address NAT and then OE
#
umlplutotest	oe-snat-01	good # OE TEMP DISABLED

#
# oe-fail-without-resp-client-txt-01 - when responding using an OE
# connection, checks that there is a TXT (and possibly KEY) record
# that delegates this security gateway to act for the client on our
# side.
umlplutotest	oe-fail-without-resp-client-txt-01	good # OE TEMP DISABLED

#
# co-terminal-02 - wavesec+OE, with wavesec started first
#
umlXhost	co-terminal-02		good # OE TEMP DISABLED

#
# co-terminal-03 - wavesec+OE, with OE started first
#
umlXhost	co-terminal-03		good # OE TEMP DISABLED

#
# tests of OE from road warriors (no gateways)
# full OE test
#
umlXhost	oe-road-01		good # OE TEMP DISABLED

#
# FQDN OE test with TXT RR, no KEY
#
umlXhost	oe-road-02		good # OE TEMP DISABLED

#
# FQDN OE test with TXT, mangled
#
umlXhost	oe-road-03		good # OE TEMP DISABLED

#
# FQDN OE test with KEY, no TXT
#
umlXhost	oe-road-04		good # OE TEMP DISABLED

#
# tests of OE from road warriors (no gateways)
# full OE test
#
umlXhost	myid-road-01		good # OE TEMP DISABLED

#
# FQDN OE test with TXT RR, no KEY
#
umlXhost	myid-road-02		good # OE TEMP DISABLED

#
# FQDN OE test with TXT, mangled
#
umlXhost	myid-road-03		good # OE TEMP DISABLED

#
# FQDN OE test with KEY, no TXT
#
umlXhost	myid-road-04		good # OE TEMP DISABLED

#
# FQDN OE with trailing dot
#
umlXhost	myid-road-05		good # OE TEMP DISABLED

#
# a test of rekeying an OE connection
#
umlXhost	pluto-rekey-01		good # OE TEMP DISABLED

#
# a test of using X.509 keys
#
kvmplutotest	x509-pluto-01		good
kvmplutotest	x509-pluto-02		good
kvmplutotest	x509-pluto-03		good
kvmplutotest	x509-pluto-04		wip

kvmplutotest	x509-pluto-frag-00	good
kvmplutotest	x509-pluto-frag-01	good
kvmplutotest	x509-pluto-frag-02	good
kvmplutotest	x509-pluto-frag-03	good
kvmplutotest	x509-pluto-frag-04	good

kvmplutotest	nat-pluto-01		good
kvmplutotest	nat-pluto-02		good
kvmplutotest	nat-pluto-02-klips-netkey	good
kvmplutotest	nat-pluto-02-netkey-klips	good
kvmplutotest	nat-pluto-02-klips-klips	good
kvmplutotest	nat-pluto-03		good
kvmplutotest	nat-pluto-04		good
kvmplutotest	nat-pluto-07		good
kvmplutotest	nat-pluto-08		good
kvmplutotest	nat-pluto-09		good
kvmplutotest	nat-pluto-10		wip

#
# Test of NAT traversal w/DPD
kvmplutotest	nat-dpd-pluto-01	wip

# Test of NAT traversal, with Aggressive Mode client
umlXhost	nat-aggr-01		good


#
# a test of using AES with pluto
#
kvmplutotest	ikev1-algo-ike-aes-01	good
kvmplutotest	ikev1-algo-ike-aes-02	good

# CAP_DAC_OVERRIDE
kvmplutotest	basic-pluto-06		good


#
# a test case of PSK with aggressive mode
kvmplutotest	psk-pluto-01		good
kvmplutotest	psk-pluto-02		good

kvmplutotest	xauth-pluto-03		good
kvmplutotest	xauth-pluto-04		good
kvmplutotest	xauth-pluto-05		good
kvmplutotest	xauth-pluto-05-netkey	good
kvmplutotest	xauth-pluto-06		good
kvmplutotest	xauth-pluto-07		good
kvmplutotest	xauth-pluto-08		good
kvmplutotest	xauth-pluto-09		good

kvmplutotest	xauth-pluto-10		wip
kvmplutotest	xauth-pluto-11		wip
kvmplutotest	xauth-pluto-12		good
kvmplutotest	xauth-pluto-13		good
kvmplutotest	xauth-pluto-14		good
kvmplutotest	xauth-pluto-15		good
kvmplutotest	xauth-pluto-16		good
kvmplutotest	xauth-pluto-17		good
kvmplutotest	xauth-pluto-18		good
kvmplutotest	xauth-pluto-19		good
kvmplutotest	xauth-pluto-20-pam	good


# esp=null-*
kvmplutotest	ikev1-algo-esp-null-01	good
kvmplutotest	ikev2-algo-esp-null-01	good
kvmplutotest	interop-ikev2-strongswan-34-esp-null-responder	good


#
# Aggressive Mode Pluto Tests
#
kvmplutotest	aggr-pluto-01		good
kvmplutotest	aggr-pluto-02		good
kvmplutotest	aggr-pluto-04		wip

# Various algo tests
kvmplutotest	ikev1-algo-ike-pfs-01	good

kvmplutotest	basic-pluto-01-valgrind	skiptest

kvmplutotest	ikev1-algo-ike-bogus-01	good
kvmplutotest	ikev1-aggr-sendcert-01	good
kvmplutotest	ikev1-aggr-replace-01	good

# passthrough protoport tests
kvmplutotest	basic-pluto-12		wip
kvmplutotest	basic-pluto-13-netkey-route good
kvmplutotest	basic-pluto-14-klips-route wip
kvmplutotest	basic-pluto-15-no-retransmit wip

# this tests rekeys (--down/--up) when behind a NAT. a --replace
# may cancel things that the --down/--up may not. This also
# tests that the responder is happy with us doing that.
#
kvmplutotest	pluto-rekey-02		good

kvmplutotest	psk-pluto-03		good
kvmplutotest	psk-pluto-04		good
kvmplutotest	psk-pluto-05		good
kvmplutotest	psk-pluto-06		good

#
# tests using alternative ESP algorithms
#
kvmplutotest	netkey-algo-twofish-01	good
kvmplutotest	netkey-algo-serpent-01	good
kvmplutotest	netkey-algo-camellia-01	good
kvmplutotest	netkey-algo-cast-01	good
kvmplutotest	netkey-algo-null-01	good
kvmplutotest	netkey-algo-null-02	good

kvmplutotest	klips-algo-twofish-01	good
kvmplutotest	klips-algo-serpent-01	good
kvmplutotest	klips-algo-cast-01	good
kvmplutotest	klips-basic-pluto-01	good

#
# a test of using aes256 for phase 1 and phase 2,
# with appropriate modp group
kvmplutotest    algo-pluto-01          good
kvmplutotest    algo-pluto-04          wip
umlplutotest    algo-pluto-05          good
umlplutotest    algo-pluto-06          good
kvmplutotest    algo-pluto-07          good
kvmplutotest    algo-pluto-08          good
kvmplutotest    algo-pluto-10          good
kvmplutotest    algo-pluto-11          good
kvmplutotest    algo-pluto-12-aes-default	good
kvmplutotest    algo-pluto-13-invalid-3des	good
kvmplutotest    algo-pluto-14-aes_ctr	good

#
# tests for usnig multiple subnets using conn aliases
#
kvmplutotest	multinet-01		wip
kvmplutotest	multinet-03		wip
kvmplutotest	multinet-04		good

# transport mode related tests
umlplutotest	klips-transport-01	good
umlplutotest	transport-02		good
umlplutotest	transport-03		skiptest # bad
kvmplutotest	nat-transport-02	good
kvmplutotest	ikev2-21-mode-mismatch-01	good
kvmplutotest	ikev2-21-mode-mismatch-02	good

kvmplutotest	ah-pluto-01		good
kvmplutotest	ah-pluto-02		good
kvmplutotest	ah-pluto-03		good
kvmplutotest	ah-pluto-04		good
kvmplutotest	ah-pluto-05		good
kvmplutotest	ah-pluto-07-klips-netkey	good
kvmplutotest	ah-pluto-09		good
kvmplutotest	ah-pluto-10		good
kvmplutotest	ah-pluto-11		good
kvmplutotest	interop-ikev1-strongswan-09-dh22-initiator	good
kvmplutotest	interop-ikev2-strongswan-09-dh22-initiator	good
kvmplutotest	interop-ikev1-strongswan-10-ah-initiator-sha256	good
kvmplutotest	interop-ikev1-strongswan-11-ah-initiator-sha512	good
kvmplutotest	interop-ikev1-strongswan-12-esp-sha2_256 good
kvmplutotest	interop-ikev1-strongswan-13-esp-sha2_512 good
kvmplutotest	interop-ikev1-strongswan-14-camellia	good
kvmplutotest	interop-ikev2-strongswan-16-ah-initiator-sha512	good
kvmplutotest	interop-ikev2-strongswan-17-ah-initiator-sha256	good
kvmplutotest	interop-ikev2-strongswan-22-cp-responder-psk	good
kvmplutotest	interop-ikev2-strongswan-23-initiator-cp	good
kvmplutotest	interop-ikev2-strongswan-24-aes_ctr	good
kvmplutotest	interop-ikev2-strongswan-25-ke-mismatch-initiator	good
kvmplutotest	interop-ikev2-strongswan-26-ke-mismatch-responder	good
kvmplutotest	interop-ikev1-strongswan-15-twofish		good
kvmplutotest	interop-ikev1-strongswan-16-serpent		good
kvmplutotest	interop-ikev2-strongswan-31-asymmetric-responder	good
kvmplutotest	interop-ikev2-strongswan-32-ip-lease		wip


umlplutotest	protoport-01		good
umlplutotest	protoport-02		good


kvmplutotest    netkey-klips-pluto-03		good
umlplutotest    netkey-pluto-05			good
kvmplutotest    klips-netkey-pluto-06		good
kvmplutotest    netkey-psk-pluto-06		wip
umlplutotest	netkey-psk-vhost-01		good
umlplutotest	netkey-psk-vhost-02		good
umlplutotest	netkey-psk-vhost-03		good
umlplutotest	netkey-psk-vhost-04		good
# Selinux / secure labeling tests (require netkey and selinux)
kvmplutotest    labeled-ipsec-01		wip

# compress tests, some use netkey
kvmplutotest    compress-pluto-01		good
kvmplutotest    compress-pluto-02		good
kvmplutotest    compress-pluto-netkey-03	good
kvmplutotest    compress-pluto-netkey-klips-04	good

# sourceip tests
umlplutotest	sourceip-01			good
umlplutotest	sourceip-02			good

#################################################################
# IPv6 tests
#################################################################
kvmplutotest	ipv6-v6-through-v6-klips-klips		wip
umlplutotest	ipv6-v6-through-v6-netkey-netkey	wip
umlplutotest	ipv6-v6-through-v6-klips-netkey		good
umlplutotest	ipv6-v4-through-v6-klips-klips		good
umlplutotest	ipv6-v6-through-v4-klips-klips		good
kvmplutotest	ipv6-transport-mode-01-klips-klips	wip
kvmplutotest	ipv6-transport-mode-02-netkey-netkey	wip
kvmplutotest	ipv6-transport-mode-03-klips-netkey	wip
kvmplutotest	ipv6-tunnel-mode-01-klips-klips		wip
kvmplutotest	ipv6-tunnel-mode-02-netkey-netkey	good
kvmplutotest	ipv6-tunnel-mode-03-klips-netkey	wip
kvmplutotest	ipv6-transport-ts-mode-04-netkey-netkey	wip
kvmplutotest	ipv6-tunnel-mode-03-rw			wip
kvmplutotest	ipv6-tunnel-mode-04-rw			good

kvmplutotest	ikev2-ipv6-transport-mode-02-netkey-netkey	wip



#################################################################
# Interop tests
#################################################################
kvmplutotest    interop-ikev2-racoon-01-noconn			wip
kvmplutotest    interop-ikev2-racoon-02-psk-responder		good
kvmplutotest    interop-ikev2-racoon-03-psk-initiator		wip
kvmplutotest    interop-ikev2-racoon-04-x509-responder		wip
kvmplutotest    interop-ikev2-racoon-05-x509-initiator		wip

kvmplutotest	interop-ikev1-strongswan-02-psk-responder	good
kvmplutotest	interop-ikev1-strongswan-03-psk-initiator	good
kvmplutotest	interop-ikev1-strongswan-04-psk-aes-gcm		good
kvmplutotest	interop-ikev1-strongswan-04-psk-aes-ccm		good
kvmplutotest	interop-ikev1-strongswan-07-cast128		good
# below is a strongswan-strongswan test case that seems to prove CAST
# is broken for netkey/xfrm in strongswan itself too - kernel changed?
kvmplutotest	interop-ikev1-strongswan-08-strongswan-cast	good

kvmplutotest    interop-ikev2-strongswan-02-psk-responder	good
kvmplutotest    interop-ikev2-strongswan-03-psk-initiator	good
kvmplutotest    interop-ikev2-strongswan-04-x509-responder	good
kvmplutotest	interop-ikev2-strongswan-05-psk-aes		good
kvmplutotest	interop-ikev2-strongswan-05-psk-md5		good
kvmplutotest	interop-ikev2-strongswan-06-aes192		good
kvmplutotest	interop-ikev2-strongswan-07-strongswan		good
kvmplutotest	interop-ikev2-strongswan-09-psk-aes-ccm		good
kvmplutotest	interop-ikev2-strongswan-09-psk-aes-gcm		good
kvmplutotest	interop-ikev2-strongswan-10-nat-initiator	good
kvmplutotest	interop-ikev2-strongswan-11-nat-initiator	good
kvmplutotest	interop-ikev2-strongswan-12-nat-responder	good
kvmplutotest	interop-ikev2-strongswan-13-ah-initiator	good
kvmplutotest	interop-ikev2-strongswan-14-delete-sa		good
kvmplutotest	interop-ikev2-strongswan-15-child-sa		good
kvmplutotest	interop-ikev2-strongswan-15-child-sa-responder  wip
kvmplutotest	interop-ikev2-strongswan-17-delete-sa-responder good
kvmplutotest	interop-ikev2-strongswan-18-psk-cast		good
kvmplutotest	interop-ikev2-strongswan-19-x509-res-certreq    good
kvmplutotest	interop-ikev2-strongswan-20-psk-aes_xcbc	good
kvmplutotest	interop-ikev2-strongswan-21-transport-01	good
kvmplutotest	interop-ikev2-strongswan-21-transport-02	good
kvmplutotest	interop-ikev2-strongswan-21-transport-03	good
kvmplutotest	interop-ikev2-strongswan-21-transport-04	good
kvmplutotest	interop-ikev2-strongswan-27-fragmentation	good
kvmplutotest	interop-ikev2-strongswan-28-reauth		good
kvmplutotest	interop-ikev2-strongswan-29-rekey		wip

#################################################################
# DNSSEC tests
#################################################################

kvmplutotest	dnssec-pluto-01					good

#################################################################
# Specific bug tests
#################################################################
# trying out bug #888
umlplutotest	phase1-expire-01-reconnect-klips		good
umlplutotest	phase1-expire-02-reconnect-netkey		good

kvmplutotest	replay-authip-01			good

kvmplutotest	l2tp-01					good
kvmplutotest	l2tp-02					good
kvmplutotest	l2tp-02-netkey				good
kvmplutotest	l2tp-05-netkey				wip

kvmplutotest	ikeport-01				wip
kvmplutotest	listen-change-01			good

#################################################################
# FIPS mode tests: Most require PLUTO built in FIPS mode
#################################################################
kvmplutotest	fips-default-ikev1-01-nofips-east	good
kvmplutotest	fips-default-ikev2-01-nofips-east	good
kvmplutotest	fips-default-ikev1-02-nofips-west	good
kvmplutotest	fips-default-ikev2-02-nofips-west	good

kvmplutotest	fips-03-ikev1-md5			good
kvmplutotest	fips-04-ikev2-md5			good
# AES GCM and IKEv1 do not work
kvmplutotest	fips-05-ikev1-gcm			skiptest
kvmplutotest	fips-06-ikev1-3des-sha1			good
kvmplutotest	fips-07-ikev2-3des-sha256		good
kvmplutotest	fips-08-ikev2-x509			good
kvmplutotest	fips-09-ikev2-gcm			good

#################################################################
# passthrough tests
#################################################################
kvmplutotest	netkey-passthrough-ipxfrm		good
kvmplutotest	netkey-passthrough-00			good
kvmplutotest	netkey-passthrough-01			good
kvmplutotest	netkey-passthrough-02			good
kvmplutotest	netkey-passthrough-03			good
kvmplutotest	klips-passthrough-00			good

kvmplutotest	ikev1-isakmp-reserved-flags-01		good
kvmplutotest	ikev1-isakmp-reserved-flags-02		good

#################################################################
# X.509 NSS tests
#################################################################
kvmplutotest	nss-cert-01			good
kvmplutotest	nss-cert-01-ikev2		good
kvmplutotest	nss-cert-02			good
kvmplutotest	nss-cert-02-eku			good
kvmplutotest	nss-cert-02-eku-combined	good
kvmplutotest	nss-cert-02-ikev2		good
kvmplutotest	nss-cert-03			good
kvmplutotest	nss-cert-03-ikev2		good
kvmplutotest	nss-cert-04			good
kvmplutotest	nss-cert-04-ikev2		good
kvmplutotest	nss-cert-05			good
kvmplutotest	nss-cert-05-ikev2		good
kvmplutotest	nss-cert-06			good
kvmplutotest	nss-cert-07			good
kvmplutotest	nss-cert-08-mismatch		good
kvmplutotest	nss-cert-chain-01		good
kvmplutotest	nss-cert-chain-02		good
kvmplutotest	nss-cert-chain-03		good
kvmplutotest	nss-cert-chain-04		good
kvmplutotest	nss-cert-chain-01-ikev2		good
kvmplutotest	nss-cert-chain-02-ikev2		good
kvmplutotest	nss-cert-chain-03-ikev2		good
kvmplutotest	nss-cert-chain-04-ikev2		good
kvmplutotest	nss-cert-crl-01			good
kvmplutotest	nss-cert-crl-01-strict		good
kvmplutotest	nss-cert-crl-02			good
kvmplutotest	nss-cert-crl-03			good
kvmplutotest	nss-cert-crl-03-strict		good
kvmplutotest	nss-cert-nosecret		good
kvmplutotest	nss-cert-ocsp-01		good
kvmplutotest	nss-cert-ocsp-01-chain		good
kvmplutotest	nss-cert-ocsp-01-ikev2		good
kvmplutotest	nss-cert-ocsp-01-strict		good
kvmplutotest	nss-cert-ocsp-02		good
kvmplutotest	nss-cert-ocsp-02-ikev2		good
kvmplutotest	nss-cert-ocsp-03		good
kvmplutotest	nss-cert-ocsp-03-ikev2		good
kvmplutotest	nss-cert-ocsp-03-strict		good
kvmplutotest	nss-cert-ocsp-04		good
kvmplutotest	nss-cert-ocsp-05		good
kvmplutotest	nss-cert-ocsp-05-ikev2		good
kvmplutotest	nss-cert-ocsp-05-strict		good
kvmplutotest	nss-cert-ocsp-06		good
kvmplutotest	nss-cert-ocsp-07-nourl		good
kvmplutotest	nss-cert-ocsp-08-post		good
#
kvmplutotest	nss-cert-09-notyetvalid-initiator	good
kvmplutotest	nss-cert-09-notyetvalid-initiator-ikev2	good
kvmplutotest	nss-cert-10-notyetvalid-responder	good
kvmplutotest	nss-cert-10-notyetvalid-responder-ikev2	good
#
kvmplutotest	nss-cert-badca-01		good

kvmplutotest	ikev1-2behind-nat-01		wip

#################################################################
# old saved KLIPS tests that were converted to NETKEY.
# (theses tests were not actually testing stack features
#################################################################
kvmplutotest	klips-ah-pluto-01		skiptest
kvmplutotest	klips-ah-pluto-12		skiptest
kvmplutotest	klips-ah-pluto-13		skiptest
kvmplutotest	klips-algo-pluto-01		skiptest
kvmplutotest	klips-basic-pluto-02		skiptest
kvmplutotest	klips-basic-pluto-03		skiptest
kvmplutotest	klips-basic-pluto-04		skiptest
kvmplutotest	klips-basic-pluto-05		skiptest
kvmplutotest	klips-basic-pluto-07		skiptest
kvmplutotest	klips-basic-pluto-09		skiptest
kvmplutotest	klips-basic-pluto-10		skiptest
kvmplutotest	klips-basic-pluto-12		skiptest
kvmplutotest	klips-compress-pluto-01		skiptest
kvmplutotest	klips-compress-pluto-03		skiptest
kvmplutotest	klips-ipv6-tunnel-mode-03-rw	skiptest
kvmplutotest	klips-nat-transport-02		skiptest
kvmplutotest	klips-pluto-ipcmp-01		skiptest

# seccomp
kvmplutotest	seccomp-01-enabled		good
kvmplutotest	seccomp-02-tolerant		good

# Utility tests like "ipsec showhostkey"
kvmplutotest	ipsec-hostkey-ckaid-01		good
kvmplutotest	ipsec-hostkey-ckaid-02-fips	good
kvmplutotest	ipsec-hostkey-ckaid-03-nsspw	good
