aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake McGinty <me@jake.su>2018-04-24 19:55:23 -0700
committerJake McGinty <me@jake.su>2018-04-24 19:55:23 -0700
commit0ba29749ede783e70ede73817209380db8ddcd17 (patch)
tree581f8612fd60282ddbb2add02322f01568e77c82
parentbench: fix build from SocketAddr -> Endpoint transition (diff)
downloadwireguard-rs-0ba29749ede783e70ede73817209380db8ddcd17.tar.xz
wireguard-rs-0ba29749ede783e70ede73817209380db8ddcd17.zip
tests: more informative error bubbling for netns failures
-rwxr-xr-xtests/netns.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/netns.sh b/tests/netns.sh
index 36bce65..4196255 100755
--- a/tests/netns.sh
+++ b/tests/netns.sh
@@ -57,7 +57,6 @@ waitiface() { pretty "${1//*-}" "wait for $2 to come up"; ip netns exec "$1" bas
cleanup() {
set +e
- warn "test failed."
exec 2>/dev/null
printf "$orig_message_cost" > /proc/sys/net/core/message_cost
ip0 link del dev wg1
@@ -71,7 +70,20 @@ cleanup() {
exit
}
+error() {
+ local parent_lineno="$1"
+ local message="$2"
+ local code="${3:-1}"
+ if [[ -n "$message" ]] ; then
+ warn "Test failed at line ${parent_lineno}: ${message}; exiting with status ${code}"
+ else
+ warn "Test failed at line ${parent_lineno}; exiting with status ${code}"
+ fi
+ exit "${code}"
+}
+
orig_message_cost="$(< /proc/sys/net/core/message_cost)"
+trap 'error ${LINENO}' ERR
trap cleanup EXIT
printf 0 > /proc/sys/net/core/message_cost