Add cleanup hook for integration tests
authorKirill Isakov <is-kir@ya.ru>
Tue, 20 Jul 2021 12:00:05 +0000 (18:00 +0600)
committerGuus Sliepen <guus@tinc-vpn.org>
Tue, 20 Jul 2021 17:42:15 +0000 (19:42 +0200)
test/ns-ping.test
test/testlib.sh.in

index 54a9199..417ed32 100755 (executable)
@@ -13,6 +13,16 @@ ip_foo=192.168.1.1
 ip_bar=192.168.1.2
 mask=24
 
+echo [STEP] Create network namespaces
+
+ip netns add ping.test1
+ip netns add ping.test2
+
+cleanup_hook() {
+  ip netns del ping.test1
+  ip netns del ping.test2
+}
+
 echo [STEP] Initialize two nodes
 
 tinc foo <<EOF
@@ -26,7 +36,6 @@ EOF
 
 # shellcheck disable=SC2016
 create_script foo tinc-up "
-  ip netns add ping.test1
   ip link set dev \$INTERFACE netns ping.test1
   ip netns exec ping.test1 ip addr add $ip_foo/$mask dev \$INTERFACE
   ip netns exec ping.test1 ip link set \$INTERFACE up
@@ -42,7 +51,6 @@ EOF
 
 # shellcheck disable=SC2016
 create_script bar tinc-up "
-  ip netns add ping.test2
   ip link set dev \$INTERFACE netns ping.test2
   ip netns exec ping.test2 ip addr add $ip_bar/$mask dev \$INTERFACE
   ip netns exec ping.test2 ip link set \$INTERFACE up
@@ -72,8 +80,3 @@ tinc bar add ConnectTo foo
 wait_script bar hosts/foo-up
 
 ip netns exec ping.test1 ping -W1 -c3 $ip_bar
-
-echo [STEP] Clean up
-
-ip netns del ping.test2
-ip netns del ping.test1
index 14192ea..224ab4f 100644 (file)
@@ -332,6 +332,11 @@ cleanup() {
   (
     set +ex
 
+    if command -v cleanup_hook 2>/dev/null; then
+      echo >&2 "Cleanup hook found, calling..."
+      cleanup_hook
+    fi
+
     stop_all_tincs
 
     # Ask nicely, then kill anything that's left.