1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-30 23:21:22 +03:00

Add new test-manager.c and "test" manager_taint_string()

It seems it doesn't fit well anywhere else.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2022-04-06 12:42:58 +02:00
parent 83fe5d8a78
commit 226281b36d
2 changed files with 35 additions and 0 deletions

View File

@ -56,6 +56,12 @@ tests += [
libblkid],
core_includes],
[files('test-manager.c'),
[libcore,
libshared],
[],
core_includes],
[files('test-emergency-action.c'),
[libcore,
libshared],

29
src/test/test-manager.c Normal file
View File

@ -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);