aboutsummaryrefslogtreecommitdiffstats
path: root/tests/netsh.sh
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2019-09-29 22:18:34 +0200
committerLinus Nordberg <linus@nordberg.se>2019-09-29 22:36:19 +0200
commit99a7285f79e6bbe2d1beaf9799532eeaff2e54c1 (patch)
tree01f2cd0165943a9b1c362177b158e114aa053f14 /tests/netsh.sh
parentServer side lease handling (diff)
downloadwg-dynamic-99a7285f79e6bbe2d1beaf9799532eeaff2e54c1.tar.xz
wg-dynamic-99a7285f79e6bbe2d1beaf9799532eeaff2e54c1.zip
[tests] Add test cases for lease handling
Diffstat (limited to '')
-rwxr-xr-xtests/netsh.sh27
1 files changed, 17 insertions, 10 deletions
diff --git a/tests/netsh.sh b/tests/netsh.sh
index 984411a..9f022c8 100755
--- a/tests/netsh.sh
+++ b/tests/netsh.sh
@@ -6,6 +6,9 @@
set -e
exec 3>&1
+
+[ $# -ge 1 ] && ( n_clients="$1"; shift; )
+
export WG_HIDE_KEYS=never
netnsn() { echo wg-test-$$-$1; }
pretty() { echo -e "\x1b[32m\x1b[1m[+] ${1:+NS$1: }${2}\x1b[0m" >&3; }
@@ -14,25 +17,24 @@ maybe_exec() { if [[ $BASHPID -eq $$ ]]; then "$@"; else exec "$@"; fi; }
nn() { local netns=$(netnsn $1) n=$1; shift; pretty $n "$*"; maybe_exec ip netns exec $netns "$@"; }
ipn() { local netns=$(netnsn $1) n=$1; shift; pretty $n "ip $*"; ip -n $netns "$@"; }
+ns="0 1 2"
+
cleanup() {
set +e
exec 2>/dev/null
- ipn 0 link del dev wg0
- ipn 1 link del dev wg0
- ipn 2 link del dev wg0
- local to_kill="$(ip netns pids $(netnsn 0)) $(ip netns pids $(netnsn 1)) $(ip netns pids $(netnsn 2))"
+
+ for n in $ns; do ipn $n link del dev wg0; done
+
+ local to_kill="$(for n in $ns; do $(ip netns pids $(netnsn $n)); done)"
[[ -n $to_kill ]] && kill $to_kill
- pp ip netns del $(netnsn 0)
- pp ip netns del $(netnsn 1)
- pp ip netns del $(netnsn 2)
+
+ for n in $ns; do pp ip netns del $(netnsn $n); done
+
exit
}
trap cleanup EXIT
-ip netns del $(netnsn 0) 2>/dev/null || true
-ip netns del $(netnsn 1) 2>/dev/null || true
-ip netns del $(netnsn 2) 2>/dev/null || true
pp ip netns add $(netnsn 0)
pp ip netns add $(netnsn 1)
pp ip netns add $(netnsn 2)
@@ -79,4 +81,9 @@ nn 2 wg set wg0 peer "$server_public" endpoint [::1]:1
nn 2 ping6 -c 10 -f -W 1 fe80::%wg0
nn 1 ping6 -c 10 -f -W 1 fe80::badc:0ffe:e0dd:f00d%wg0
+pretty "" "clientsh.bash can be run with the following arguments:"
+echo
+echo wg-test-$$ $server_public
+echo
+
nn 1 ./wg-dynamic-server wg0