summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorjmmv <jmmv@FreeBSD.org>2015-07-04 02:22:26 +0000
committerjmmv <jmmv@FreeBSD.org>2015-07-04 02:22:26 +0000
commit5c6b494ea7e8f8ed568b19c5254410decebaaaa8 (patch)
treeb7a02f0181be743150435ab4e016e5015bfce11e /tests
parentb42f5bb715542b3013303313cb26b813bdc26101 (diff)
downloadFreeBSD-src-5c6b494ea7e8f8ed568b19c5254410decebaaaa8.zip
FreeBSD-src-5c6b494ea7e8f8ed568b19c5254410decebaaaa8.tar.gz
Make cleanup routines idempotent
cleanup routines can be executed at any point during the execution of the body, including even before the body has done any real work. In those cases, cleanup routines should be careful to not raise spurious errors so as to not "override" the actual result of the test case. This is just general good coding style but is not a problem in practice for these specific tests. (The way I discovered the issue, though, was due to a regression I introduced in Kyua itself while refactoring some internals.) MFC after: 1 week
Diffstat (limited to 'tests')
-rwxr-xr-xtests/sys/netinet/fibs_test.sh19
1 files changed, 12 insertions, 7 deletions
diff --git a/tests/sys/netinet/fibs_test.sh b/tests/sys/netinet/fibs_test.sh
index 2dc3169..70b53e8 100755
--- a/tests/sys/netinet/fibs_test.sh
+++ b/tests/sys/netinet/fibs_test.sh
@@ -98,9 +98,12 @@ arpresolve_checks_interface_fib_body()
}
arpresolve_checks_interface_fib_cleanup()
{
- for PID in `cat "processes_to_kill"`; do
- kill $PID
- done
+ if [ -f processes_to_kill ]; then
+ for pid in $(cat processes_to_kill); do
+ kill "${pid}"
+ done
+ rm -f processes_to_kill
+ fi
cleanup_tap
}
@@ -476,8 +479,10 @@ setup_tap()
cleanup_tap()
{
- for TAPD in `cat "tap_devices_to_cleanup"`; do
- ifconfig ${TAPD} destroy
- done
- rm "tap_devices_to_cleanup"
+ if [ -f tap_devices_to_cleanup ]; then
+ for tap_device in $(cat tap_devices_to_cleanup); do
+ ifconfig "${tap_device}" destroy
+ done
+ rm -f tap_devices_to_cleanup
+ fi
}
OpenPOWER on IntegriCloud