mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-11 05:17:44 +03:00
test: ignore errors during test cleanup, so cleanup can finish
Also move TESTDIR and STATEFILE removal into test_cleanup
This commit is contained in:
parent
ec4cab49c9
commit
f85bc044e5
@ -83,7 +83,8 @@ cleanup_root_var() {
|
||||
}
|
||||
|
||||
test_cleanup() {
|
||||
cleanup_root_var
|
||||
# ignore errors, so cleanup can continue
|
||||
cleanup_root_var || true
|
||||
_test_cleanup
|
||||
}
|
||||
|
||||
|
@ -1706,14 +1706,20 @@ test_setup_cleanup() {
|
||||
}
|
||||
|
||||
_test_cleanup() {
|
||||
if mountpoint $TESTDIR/root; then
|
||||
ddebug "umount $TESTDIR/root"
|
||||
umount $TESTDIR/root
|
||||
fi
|
||||
if [[ $LOOPDEV && -b $LOOPDEV ]]; then
|
||||
ddebug "losetup -d $LOOPDEV"
|
||||
losetup -d $LOOPDEV
|
||||
fi
|
||||
# (post-test) cleanup should always ignore failure and cleanup as much as possible
|
||||
(
|
||||
set +e
|
||||
if mountpoint $TESTDIR/root; then
|
||||
ddebug "umount $TESTDIR/root"
|
||||
umount $TESTDIR/root
|
||||
fi
|
||||
if [[ $LOOPDEV && -b $LOOPDEV ]]; then
|
||||
ddebug "losetup -d $LOOPDEV"
|
||||
losetup -d $LOOPDEV
|
||||
fi
|
||||
rm -fr "$TESTDIR"
|
||||
rm -f "$STATEFILE"
|
||||
) || true
|
||||
}
|
||||
|
||||
# can be overridden in specific test
|
||||
@ -1787,22 +1793,16 @@ do_test() {
|
||||
--clean)
|
||||
echo "TEST CLEANUP: $TEST_DESCRIPTION"
|
||||
test_cleanup
|
||||
rm -fr "$TESTDIR"
|
||||
rm -f "$STATEFILE"
|
||||
;;
|
||||
--all)
|
||||
ret=0
|
||||
echo -n "TEST: $TEST_DESCRIPTION ";
|
||||
echo -n "TEST: $TEST_DESCRIPTION "
|
||||
(
|
||||
test_setup
|
||||
test_setup_cleanup
|
||||
test_run
|
||||
ret=$?
|
||||
test_cleanup
|
||||
rm -fr "$TESTDIR"
|
||||
rm -f "$STATEFILE"
|
||||
exit $ret
|
||||
) </dev/null >"$TESTLOG" 2>&1 || ret=$?
|
||||
test_cleanup
|
||||
if [ $ret -eq 0 ]; then
|
||||
rm "$TESTLOG"
|
||||
echo "[OK]"
|
||||
|
Loading…
Reference in New Issue
Block a user