systemd/SOURCES/0101-tests-redirect-ASAN-re...

30 lines
1.3 KiB
Diff

From d0d284178c1ceb2bd13c9b501008c4458a58fe37 Mon Sep 17 00:00:00 2001
From: Evgeny Vereshchagin <evvers@ya.ru>
Date: Tue, 3 Jul 2018 19:29:42 +0000
Subject: [PATCH] tests: redirect ASAN reports on journald to a file
Otherwise, they will end up in /dev/null.
(cherry picked from commit 88ed0f261ba8164a689395ddee8b92d00e073515)
---
test/test-functions | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/test/test-functions b/test/test-functions
index a6f88e4545..822136913b 100644
--- a/test/test-functions
+++ b/test/test-functions
@@ -343,6 +343,12 @@ echo DefaultEnvironment=\$DEFAULT_ENVIRONMENT >>/etc/systemd/system.conf
# ASAN and syscall filters aren't compatible with each other.
find / -name '*.service' -type f | xargs sed -i 's/^\\(MemoryDeny\\|SystemCall\\)/#\\1/'
+# The redirection of ASAN reports to a file prevents them from ending up in /dev/null.
+# But, apparently, sometimes it doesn't work: https://github.com/google/sanitizers/issues/886.
+JOURNALD_CONF_DIR=/etc/systemd/system/systemd-journald.service.d
+mkdir -p "\$JOURNALD_CONF_DIR"
+printf "[Service]\nEnvironment=ASAN_OPTIONS=\$DEFAULT_ASAN_OPTIONS:log_path=/systemd-journald.asan.log\n" >"\$JOURNALD_CONF_DIR/env.conf"
+
export ASAN_OPTIONS=\$DEFAULT_ASAN_OPTIONS:log_path=/systemd.asan.log
exec $ROOTLIBDIR/systemd "\$@"
EOF