ctdb-tests: Add "13.per_ip_routing shutdown" test
authorMartin Schwenke <martin@meltin.net>
Mon, 16 Jan 2017 00:08:51 +0000 (11:08 +1100)
committerAmitay Isaacs <amitay@samba.org>
Tue, 17 Jan 2017 05:02:23 +0000 (06:02 +0100)
Ensure that it doesn't mangle the rt_tables file.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12516

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Tue Jan 17 06:02:23 CET 2017 on sn-devel-144

ctdb/tests/eventscripts/13.per_ip_routing.024.sh [new file with mode: 0755]

diff --git a/ctdb/tests/eventscripts/13.per_ip_routing.024.sh b/ctdb/tests/eventscripts/13.per_ip_routing.024.sh
new file mode 100755 (executable)
index 0000000..7daacbb
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "Single IP, restores original rt_tables"
+
+setup_ctdb
+setup_ctdb_policy_routing
+
+create_policy_routing_config 1 default
+
+_rt_tables="$CTDB_SYS_ETCDIR/iproute2/rt_tables"
+_rt_orig=$(mktemp --tmpdir="$EVENTSCRIPTS_TESTS_VAR_DIR")
+cp "$_rt_tables" "$_rt_orig"
+
+ctdb_get_1_public_address | {
+       read dev ip bits
+
+       ok_null
+       simple_test_event "takeip" $dev $ip $bits
+
+       ok <<EOF
+Removing ip rule for public address ${ip} for routing table ctdb.${ip}
+EOF
+       simple_test_event "shutdown"
+}
+
+ok_null
+simple_test_command diff -u "$_rt_orig" "$_rt_tables"
+
+check_routes 0