[PATCH] tests: fix shell errors in detach tests
Mike Frysinger
vapier at gentoo.org
Mon Aug 11 05:31:23 UTC 2014
The current detach test code does:
set -e
...
cleanup() {
set +e
kill ...
wait ...
}
...
cleanup
exit 0
The problem is that while `set -e` is disabled for the body of the
cleanup function, it isn't disabled in the caller scope. So if the
return value of the cleanup func (`wait` in this case) is non-zero,
the script ends up failing overall.
Add an explicit return 0 to the cleanup func so that we don't kill
the overall test pipeline.
* tests/detach-running.test (cleanup): Add return 0.
(tests/detach-sleeping.test): Likewise.
(tests/detach-stopped.test): Likewise.
---
tests/detach-running.test | 1 +
tests/detach-sleeping.test | 1 +
tests/detach-stopped.test | 1 +
3 files changed, 3 insertions(+)
diff --git a/tests/detach-running.test b/tests/detach-running.test
index 16f552b..e3b33f9 100755
--- a/tests/detach-running.test
+++ b/tests/detach-running.test
@@ -24,6 +24,7 @@ cleanup()
set +e
kill $tracee_pid
wait $tracee_pid 2> /dev/null
+ return 0
}
rm -f $LOG
diff --git a/tests/detach-sleeping.test b/tests/detach-sleeping.test
index 92138b5..241d515 100755
--- a/tests/detach-sleeping.test
+++ b/tests/detach-sleeping.test
@@ -25,6 +25,7 @@ cleanup()
set +e
kill $tracee_pid
wait $tracee_pid 2> /dev/null
+ return 0
}
rm -f $LOG
diff --git a/tests/detach-stopped.test b/tests/detach-stopped.test
index 81fd303..88499bf 100755
--- a/tests/detach-stopped.test
+++ b/tests/detach-stopped.test
@@ -27,6 +27,7 @@ cleanup()
kill $tracee_pid
kill -CONT $tracee_pid
wait $tracee_pid 2> /dev/null
+ return 0
}
rm -f $LOG
--
2.0.0
More information about the Strace-devel
mailing list