#!/usr/bin/env bash set -e TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/3166" TEST_NO_NSPAWN=1 . $TEST_BASE_DIR/test-functions test_setup() { create_empty_image_rootdir # Create what will eventually be our root filesystem onto an overlay ( LOG_LEVEL=5 eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) setup_basic_environment mask_supporting_services dracut_install false touch # setup the testsuite service cat >$initdir/etc/systemd/system/testsuite.service <$initdir/etc/systemd/system/fail-on-restart.service <$initdir/test-fail-on-restart.sh <<'EOF' #!/usr/bin/env bash set -x systemctl start fail-on-restart.service active_state=$(systemctl show --property ActiveState fail-on-restart.service) while [[ "$active_state" == "ActiveState=activating" || "$active_state" == "ActiveState=active" ]]; do sleep 1 active_state=$(systemctl show --property ActiveState fail-on-restart.service) done systemctl is-failed fail-on-restart.service || exit 1 touch /testok EOF chmod 0755 $initdir/test-fail-on-restart.sh setup_testsuite ) } do_test "$@"