diff --git a/.mkosi/mkosi.fedora b/.mkosi/mkosi.fedora index 28008745c5..7f1b555efa 100644 --- a/.mkosi/mkosi.fedora +++ b/.mkosi/mkosi.fedora @@ -34,6 +34,7 @@ BuildPackages= gnu-efi-devel gnutls-devel gperf + hostname iptables-devel kmod-devel libacl-devel diff --git a/mkosi.build b/mkosi.build index 093a586b83..ee9f7d95ad 100755 --- a/mkosi.build +++ b/mkosi.build @@ -84,7 +84,7 @@ if [ ! -f "$BUILDDIR"/build.ninja ] ; then fi ninja -C "$BUILDDIR" all -[ "$WITH_TESTS" = 0 ] || ninja -C "$BUILDDIR" test || ( RET="$?" ; cat "$BUILDDIR"/meson-logs/testlog.txt ; exit "$RET" ) +[ "$WITH_TESTS" = 0 ] || ninja -C "$BUILDDIR" test ninja -C "$BUILDDIR" install mkdir -p "$DESTDIR"/etc diff --git a/src/basic/user-util.c b/src/basic/user-util.c index 0f0f21dbcf..1adb2366d8 100644 --- a/src/basic/user-util.c +++ b/src/basic/user-util.c @@ -775,11 +775,11 @@ int fgetpwent_sane(FILE *stream, struct passwd **pw) { errno = 0; p = fgetpwent(stream); - if (p == NULL && errno != ENOENT) + if (!p && errno != ENOENT) return errno > 0 ? -errno : -EIO; *pw = p; - return p != NULL; + return !!p; } int fgetspent_sane(FILE *stream, struct spwd **sp) { @@ -790,11 +790,11 @@ int fgetspent_sane(FILE *stream, struct spwd **sp) { errno = 0; s = fgetspent(stream); - if (s == NULL && errno != ENOENT) + if (!s && errno != ENOENT) return errno > 0 ? -errno : -EIO; *sp = s; - return s != NULL; + return !!s; } int fgetgrent_sane(FILE *stream, struct group **gr) { @@ -805,11 +805,11 @@ int fgetgrent_sane(FILE *stream, struct group **gr) { errno = 0; g = fgetgrent(stream); - if (g == NULL && errno != ENOENT) + if (!g && errno != ENOENT) return errno > 0 ? -errno : -EIO; *gr = g; - return g != NULL; + return !!g; } #if ENABLE_GSHADOW @@ -821,10 +821,10 @@ int fgetsgent_sane(FILE *stream, struct sgrp **sg) { errno = 0; s = fgetsgent(stream); - if (s == NULL && errno != ENOENT) + if (!s && errno != ENOENT) return errno > 0 ? -errno : -EIO; *sg = s; - return s != NULL; + return !!s; } #endif diff --git a/src/core/unit.c b/src/core/unit.c index 09574da5ce..4c7e2cb8ae 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -5168,6 +5168,9 @@ void unit_export_state_files(Unit *u) { if (!MANAGER_IS_SYSTEM(u->manager)) return; + if (u->manager->test_run_flags != 0) + return; + /* Exports a couple of unit properties to /run/systemd/units/, so that journald can quickly query this data * from there. Ideally, journald would use IPC to query this, like everybody else, but that's hard, as long as * the IPC system itself and PID 1 also log to the journal. diff --git a/src/test/test-execute.c b/src/test/test-execute.c index 59d996c11b..2b5706822c 100644 --- a/src/test/test-execute.c +++ b/src/test/test-execute.c @@ -686,6 +686,7 @@ int main(int argc, char *argv[]) { (void) unsetenv("USER"); (void) unsetenv("LOGNAME"); + (void) unsetenv("SHELL"); /* It is needed otherwise cgroup creation fails */ if (getuid() != 0) { diff --git a/test/test-execute/exec-specifier.service b/test/test-execute/exec-specifier.service index 65a64bc95e..727d77f612 100644 --- a/test/test-execute/exec-specifier.service +++ b/test/test-execute/exec-specifier.service @@ -17,7 +17,7 @@ ExecStart=test %L = /var/log ExecStart=sh -c 'test %u = $$(id -un 0)' ExecStart=test %U = 0 ExecStart=sh -c 'test %h = $$(getent passwd 0 | cut -d: -f 6)' -ExecStart=sh -c 'test %s = $$(getent passwd 0 | cut -d: -f 7)' +ExecStart=sh -c 'test %s = /bin/sh' ExecStart=sh -c 'test %m = $$(cat /etc/machine-id)' ExecStart=sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')' ExecStart=sh -c 'test %H = $$(hostname)' diff --git a/test/test-execute/exec-specifier@.service b/test/test-execute/exec-specifier@.service index f8d7dce680..1b69e60843 100644 --- a/test/test-execute/exec-specifier@.service +++ b/test/test-execute/exec-specifier@.service @@ -17,7 +17,7 @@ ExecStart=test %L = /var/log ExecStart=sh -c 'test %u = $$(id -un 0)' ExecStart=test %U = 0 ExecStart=sh -c 'test %h = $$(getent passwd 0 | cut -d: -f 6)' -ExecStart=sh -c 'test %s = $$(getent passwd 0 | cut -d: -f 7)' +ExecStart=sh -c 'test %s = /bin/sh' ExecStart=sh -c 'test %m = $$(cat /etc/machine-id)' ExecStart=sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')' ExecStart=sh -c 'test %H = $$(hostname)'