diff options
author | Linus Nordberg <linus@nordberg.se> | 2019-09-29 22:18:34 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2019-09-29 22:36:19 +0200 |
commit | 99a7285f79e6bbe2d1beaf9799532eeaff2e54c1 (patch) | |
tree | 01f2cd0165943a9b1c362177b158e114aa053f14 /tests/netsh.sh | |
parent | Server side lease handling (diff) | |
download | wg-dynamic-99a7285f79e6bbe2d1beaf9799532eeaff2e54c1.tar.xz wg-dynamic-99a7285f79e6bbe2d1beaf9799532eeaff2e54c1.zip |
[tests] Add test cases for lease handling
Diffstat (limited to '')
-rwxr-xr-x | tests/netsh.sh | 27 |
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 |