This should make the scripts more robust.
#!/usr/bin/env bash
-#set -ex
-#set -o pipefail
+set -eux
+set -o pipefail
NPROC=$(nproc)
MAX_QUEUE_SIZE=${NPROC:-2}
#!/usr/bin/env bash
-set -ex
+set -eux
+set -o pipefail
# Test merging of a --job-mode=ignore-dependencies job into a previously
# installed job.
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
set -o pipefail
# Test stdout stream
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
set -o pipefail
P=/run/systemd/system.conf.d
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
set -o pipefail
echo 1 >/sys/fs/selinux/enforce || {
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
+set -o pipefail
>/failed
#!/usr/bin/env bash
-set -x
+set -eux
+set -o pipefail
systemctl start fail-on-restart.service
active_state=$(systemctl show --value --property ActiveState fail-on-restart.service)
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
set -o pipefail
U=/run/systemd/system/test12.socket
#!/usr/bin/env bash
-set -x
-set -e
-set -u
+# shellcheck disable=SC2016
+set -eux
set -o pipefail
export SYSTEMD_LOG_LEVEL=debug
#!/usr/bin/env bash
-set -e
-set -x
+set -eux
+set -o pipefail
function setup_root {
local _root="$1"
-#! /bin/bash
-set -e
-set -x
+#!/bin/bash
+set -eux
+set -o pipefail
_clear_service () {
systemctl stop $1.service 2>/dev/null || :
#!/usr/bin/env bash
-set -v -x
+set -eux
+set -o pipefail
rm -f /test.log
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
+set -o pipefail
>/failed
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-run --wait -p FailureAction=poweroff true
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
if grep -q cgroup2 /proc/filesystems ; then
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
-#! /bin/bash
+#!/bin/bash
#
# With "e" don't attempt to set permissions when file doesn't exist, see
# https://github.com/systemd/systemd/pull/6682.
#
-set -e
+set -eux
+set -o pipefail
rm -fr /tmp/test
-#! /bin/bash
+#!/bin/bash
#
# Basic tests for types creating directories
#
-set -e
-set -x
+set -eux
+set -o pipefail
rm -fr /tmp/{C,d,D,e}
mkdir /tmp/{C,d,D,e}
-#! /bin/bash
+#!/bin/bash
#
# Basic tests for types creating/writing files
#
-set -e
-set -x
+set -eux
+set -o pipefail
rm -fr /tmp/{f,F,w}
mkdir /tmp/{f,F,w}
-#! /bin/bash
+#!/bin/bash
#
# Basic tests for types creating fifos
#
-set -e
-set -x
+set -eux
+set -o pipefail
rm -fr /tmp/p
mkdir /tmp/p
#! /bin/bash
-set -e
-set -x
+set -eux
+set -o pipefail
rm -fr /tmp/{z,Z}
mkdir /tmp/{z,Z}
-#! /bin/bash
+#!/bin/bash
#
# Inspired by https://github.com/systemd/systemd/issues/9508
#
-set -e
+set -eux
+set -o pipefail
test_snippet() {
systemd-tmpfiles "$@" - <<EOF
-#! /bin/bash
+#!/bin/bash
#
# Verifies the issues described by https://github.com/systemd/systemd/issues/10191
#
-set -e
-set -x
+set -eux
+set -o pipefail
rm -rf /tmp/test-prefix
-#! /bin/bash
+#!/bin/bash
#
# Verify tmpfiles can run in a root directory under a path prefix that contains
# directories owned by unprivileged users, for example when a root file system
# https://github.com/systemd/systemd/pull/11820
#
-set -e
+set -eux
+set -o pipefail
rm -fr /tmp/root /tmp/user
mkdir -p /tmp/root /tmp/user/root
#!/usr/bin/env bash
-set -e
-set -x
+set -eux
+set -o pipefail
# Make sure that the "stat" output is not locale dependent.
export LANG=C LC_ALL=C
#!/usr/bin/env bash
-set -e
-set -x
+set -eux
set -o pipefail
systemd-tmpfiles --create - <<EOF
#!/usr/bin/env bash
-set -x
-set -e
+set -eux
+set -o pipefail
>/failed
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
export SYSTEMD_PAGER=cat
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
# Make sure PATH is set
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-set -ex
+set -eux
set -o pipefail
export SYSTEMD_LOG_LEVEL=debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -e
+set -eux
set -o pipefail
if journalctl -b -t systemd --grep '\.device: Changed plugged -> dead'; then
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
# Let's run this test only if the "memory.oom.group" cgroupfs attribute
#!/usr/bin/env bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-set -ex
+set -eux
set -o pipefail
cat >/etc/systemd/system/testservice.service <<EOF
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
at_exit() {
#!/usr/bin/env bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-set -ex
+set -eux
set -o pipefail
systemd-mount -p RuntimeDirectory=hoge -p RuntimeDirectoryPreserve=yes -t tmpfs tmpfs /tmp/aaa
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
# wait this many secs for each test service to succeed in what is being tested
#!/usr/bin/env bash
-set -ex
+set -eux
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
# Check if homectl is installed, and if it isn't bail out early instead of failing
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-set -ex
+set -eux
cat >/run/systemd/system/testservice-48.target <<EOF
[Unit]
#!/usr/bin/env bash
-set -ex
+set -eux
echo "MARKER_FIXED" >/run/testservice-49-fixed
mkdir -p /run/inaccessible
#!/usr/bin/env bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-set -ex
+set -eux
set -o pipefail
export SYSTEMD_LOG_LEVEL=debug
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemctl start testsuite-51-repro-1
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
>/failed
#!/usr/bin/env bash
-set -ex
+# shellcheck disable=SC2016
+set -eux
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -eu -o pipefail
+# Don't use set -x here, since it generates a lot of output and slows
+# the script down, causing unexpected test fails.
+set -eu
+set -o pipefail
PAGE_SIZE=$(getconf PAGE_SIZE)
BLOAT_ITERATION_TARGET=$(( 100 << 20 )) # 100 MB
#!/usr/bin/env bash
-set -ex
+set -eux
set -o pipefail
systemd-analyze log-level debug
#!/usr/bin/env bash
-set -ex
+set -eux
systemd-analyze log-level debug