From 226281b36d96a8f45fb80f3c3b113a9b49baf9c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 6 Apr 2022 12:42:58 +0200 Subject: [PATCH] Add new test-manager.c and "test" manager_taint_string() It seems it doesn't fit well anywhere else. --- src/test/meson.build | 6 ++++++ src/test/test-manager.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 src/test/test-manager.c diff --git a/src/test/meson.build b/src/test/meson.build index 297a65d9afc..11517c990b5 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -56,6 +56,12 @@ tests += [ libblkid], core_includes], + [files('test-manager.c'), + [libcore, + libshared], + [], + core_includes], + [files('test-emergency-action.c'), [libcore, libshared], diff --git a/src/test/test-manager.c b/src/test/test-manager.c new file mode 100644 index 00000000000..89f9277b287 --- /dev/null +++ b/src/test/test-manager.c @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include "manager.h" +#include "tests.h" + +TEST(manager_taint_string) { + Manager m = {}; + + _cleanup_free_ char *a = manager_taint_string(&m); + assert_se(a); + log_debug("taint string w/o split-usr: '%s'", a); + /* split-usr is the only one that is cached in Manager, so we know it's not present. + * The others are queried dynamically, so we'd need to duplicate the logic here + * to test for them. Let's do just one. */ + assert_se(!strstr(a, "split-usr")); + + if (cg_all_unified() == 0) + assert_se(strstr(a, "cgroupsv1")); + else + assert_se(!strstr(a, "cgroupsv1")); + + m.taint_usr = true; + _cleanup_free_ char *b = manager_taint_string(&m); + assert_se(b); + log_debug("taint string w/ split-usr: '%s'", b); + assert_se(strstr(b, "split-usr")); +} + +DEFINE_TEST_MAIN(LOG_DEBUG);