diff options
author | Lennart Poettering <lennart@poettering.net> | 2023-04-21 18:14:53 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-04-27 12:17:58 +0200 |
commit | 1a56b0c05dc14fa91f0de24f230d9b9f35cc5b05 (patch) | |
tree | b46f8375b718fb791fa8a3a116b6a17788546a19 /src/test | |
parent | 49c778e6bf70ebf230989ab84e9ce7f1b26beef2 (diff) | |
download | systemd-1a56b0c05dc14fa91f0de24f230d9b9f35cc5b05.tar.gz |
cgroup: rework how we validate/escape cgroups
Let's clean up validation/escaping of cgroup names. i.e. split out code
that tests if name needs escaping. Return proper error codes, and extend
test a bit.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/test-cgroup-util.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/test/test-cgroup-util.c b/src/test/test-cgroup-util.c index cdf911926c..4f430a1df2 100644 --- a/src/test/test-cgroup-util.c +++ b/src/test/test-cgroup-util.c @@ -235,14 +235,19 @@ TEST(proc) { } } -static void test_escape_one(const char *s, const char *r) { - _cleanup_free_ char *b; +static void test_escape_one(const char *s, const char *expected) { + _cleanup_free_ char *b = NULL; - b = cg_escape(s); - assert_se(b); - assert_se(streq(b, r)); + assert_se(s); + assert_se(expected); + + assert_se(cg_escape(s, &b) >= 0); + assert_se(streq(b, expected)); assert_se(streq(cg_unescape(b), s)); + + assert_se(filename_is_valid(b)); + assert_se(!cg_needs_escape(s) || b[0] == '_'); } TEST(escape, .sd_booted = true) { |