Add expect-connection guest image script
authorReto Buerki <reet@codelabs.ch>
Mon, 10 Dec 2012 15:16:56 +0000 (16:16 +0100)
committerTobias Brunner <tobias@strongswan.org>
Thu, 17 Jan 2013 15:54:55 +0000 (16:54 +0100)
This script can be used in pretest.dat files to wait until an IPsec
connection becomes available. This avoids unconditional sleeps and
improves test performance.

The ipv6 tests have been updated to use the expect-connection script.

21 files changed:
testing/hosts/default/usr/local/bin/expect-connection [new file with mode: 0755]
testing/scripts/build-guestimages
testing/tests/ipv6/host2host-ikev1/pretest.dat
testing/tests/ipv6/host2host-ikev2/pretest.dat
testing/tests/ipv6/net2net-ikev1/pretest.dat
testing/tests/ipv6/net2net-ikev2/pretest.dat
testing/tests/ipv6/net2net-ip4-in-ip6-ikev1/pretest.dat
testing/tests/ipv6/net2net-ip4-in-ip6-ikev2/pretest.dat
testing/tests/ipv6/net2net-ip6-in-ip4-ikev1/pretest.dat
testing/tests/ipv6/net2net-ip6-in-ip4-ikev2/pretest.dat
testing/tests/ipv6/net2net-rfc3779-ikev2/pretest.dat
testing/tests/ipv6/rw-ikev1/pretest.dat
testing/tests/ipv6/rw-ikev2/pretest.dat
testing/tests/ipv6/rw-ip6-in-ip4-ikev1/pretest.dat
testing/tests/ipv6/rw-ip6-in-ip4-ikev1/rw-ip6-in-ip4-ikev1/pretest.dat
testing/tests/ipv6/rw-ip6-in-ip4-ikev2/pretest.dat
testing/tests/ipv6/rw-psk-ikev1/pretest.dat
testing/tests/ipv6/rw-psk-ikev2/pretest.dat
testing/tests/ipv6/rw-rfc3779-ikev2/pretest.dat
testing/tests/ipv6/transport-ikev1/pretest.dat
testing/tests/ipv6/transport-ikev2/pretest.dat

diff --git a/testing/hosts/default/usr/local/bin/expect-connection b/testing/hosts/default/usr/local/bin/expect-connection
new file mode 100755 (executable)
index 0000000..10a7092
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Wait until a given IPsec connection becomes available
+#
+# Params:
+# $1 - connection name
+# $2 - maximum time to wait in seconds, default is 5 seconds
+
+if [[ $# -lt 1 || $# -gt 2 ]]
+then
+       echo "invalid arguments"
+       exit 1
+fi
+
+secs=$2
+[ ! $secs ] && secs=5
+
+let steps=$secs*10
+for i in `seq 1 $steps`
+do
+       ipsec statusall 2>&1 | grep ^[[:space:]]*$1: >/dev/null
+       [ $? -eq 0 ] && exit 0
+       sleep 0.1
+done
+
+echo "Connection '$1' not available after $secs second(s)"
+exit 1
index adcc522..5186b8a 100755 (executable)
@@ -50,7 +50,7 @@ do
        partprobe $NBDEV
        execute "mount $NBDPARTITION $LOOPDIR" 0
        execute "cp -rf $HOSTSDIR/${host}/etc $LOOPDIR" 0
-       execute "cp -rf $HOSTSDIR/default/etc $LOOPDIR" 0
+       execute "cp -rf $HOSTSDIR/default/* $LOOPDIR" 0
        if [ "$host" = "winnetou" ]
        then
                execute "mkdir $LOOPDIR/var/log/apache2/ocsp" 0
index 7e97e77..63f94a2 100644 (file)
@@ -2,6 +2,6 @@ moon::/etc/init.d/iptables start 2> /dev/null
 sun::/etc/init.d/iptables start 2> /dev/null
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection host-host
+sun::expect-connection host-host
 moon::ipsec up host-host
-moon::sleep 1
index 7e97e77..63f94a2 100644 (file)
@@ -2,6 +2,6 @@ moon::/etc/init.d/iptables start 2> /dev/null
 sun::/etc/init.d/iptables start 2> /dev/null
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection host-host
+sun::expect-connection host-host
 moon::ipsec up host-host
-moon::sleep 1
index 8a8af2c..ddf8078 100644 (file)
@@ -6,6 +6,6 @@ sun::"ip route add fec1:\:/16 via fec0:\:1"
 bob::"ip route add fec1:\:/16 via fec2:\:1"
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 1
index 8a8af2c..ddf8078 100644 (file)
@@ -6,6 +6,6 @@ sun::"ip route add fec1:\:/16 via fec0:\:1"
 bob::"ip route add fec1:\:/16 via fec2:\:1"
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 1
index a88456d..916cb6e 100644 (file)
@@ -2,6 +2,6 @@ moon::/etc/init.d/iptables start 2> /dev/null
 sun::/etc/init.d/iptables start 2> /dev/null
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 2 
index a88456d..916cb6e 100644 (file)
@@ -2,6 +2,6 @@ moon::/etc/init.d/iptables start 2> /dev/null
 sun::/etc/init.d/iptables start 2> /dev/null
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 2 
index 7781f9b..dd35f74 100644 (file)
@@ -6,6 +6,6 @@ sun::"ip route add fec1:\:/16 via fec0:\:1"
 bob::"ip route add fec1:\:/16 via fec2:\:1"
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 1
index 7781f9b..dd35f74 100644 (file)
@@ -6,6 +6,6 @@ sun::"ip route add fec1:\:/16 via fec0:\:1"
 bob::"ip route add fec1:\:/16 via fec2:\:1"
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 1
index 8a8af2c..ddf8078 100644 (file)
@@ -6,6 +6,6 @@ sun::"ip route add fec1:\:/16 via fec0:\:1"
 bob::"ip route add fec1:\:/16 via fec2:\:1"
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection net-net
+sun::expect-connection net-net
 moon::ipsec up net-net
-moon::sleep 1
index 7da0c10..e05155d 100644 (file)
@@ -7,7 +7,8 @@ dave::"ip route add fec1:\:/16 via fec0:\:1"
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 2 
index 7da0c10..e05155d 100644 (file)
@@ -7,7 +7,8 @@ dave::"ip route add fec1:\:/16 via fec0:\:1"
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 2 
index ca544e3..256c244 100644 (file)
@@ -5,7 +5,8 @@ alice::"ip route add fec3:\:/16 via fec1:\:1"
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 2 
index ca544e3..256c244 100644 (file)
@@ -5,7 +5,8 @@ alice::"ip route add fec3:\:/16 via fec1:\:1"
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 2 
index ca544e3..256c244 100644 (file)
@@ -5,7 +5,8 @@ alice::"ip route add fec3:\:/16 via fec1:\:1"
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 2 
index e3040d1..bd8a34f 100644 (file)
@@ -10,7 +10,8 @@ dave::rm /etc/ipsec.d/cacerts/*
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 1
index e3040d1..bd8a34f 100644 (file)
@@ -10,7 +10,8 @@ dave::rm /etc/ipsec.d/cacerts/*
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 1
index 7da0c10..e05155d 100644 (file)
@@ -7,7 +7,8 @@ dave::"ip route add fec1:\:/16 via fec0:\:1"
 moon::ipsec start
 carol::ipsec start
 dave::ipsec start
-carol::sleep 1
+moon::expect-connection rw
+carol::expect-connection home
+dave::expect-connection home
 carol::ipsec up home
 dave::ipsec up home
-dave::sleep 2 
index 7e97e77..63f94a2 100644 (file)
@@ -2,6 +2,6 @@ moon::/etc/init.d/iptables start 2> /dev/null
 sun::/etc/init.d/iptables start 2> /dev/null
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection host-host
+sun::expect-connection host-host
 moon::ipsec up host-host
-moon::sleep 1
index 7e97e77..63f94a2 100644 (file)
@@ -2,6 +2,6 @@ moon::/etc/init.d/iptables start 2> /dev/null
 sun::/etc/init.d/iptables start 2> /dev/null
 moon::ipsec start
 sun::ipsec start
-moon::sleep 2 
+moon::expect-connection host-host
+sun::expect-connection host-host
 moon::ipsec up host-host
-moon::sleep 1