1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-21 02:50:18 +03:00

test: add test cases for hostname_substitute_wildcards()

The function is indirectly tested through read_etc_hostname(), but let's
also test it directly.
This commit is contained in:
Yu Watanabe 2025-03-12 06:44:21 +09:00
parent 1f5d8a6132
commit 851c706e74

View File

@ -76,6 +76,32 @@ TEST(read_etc_hostname) {
assert(hostname == (char*) 0x1234); /* does not touch argument on error */
}
TEST(hostname_substitute_wildcards) {
int r;
r = sd_id128_get_machine(NULL);
if (ERRNO_IS_NEG_MACHINE_ID_UNSET(r))
return (void) log_tests_skipped_errno(r, "skipping wildcard hostname tests, no machine ID defined");
_cleanup_free_ char *buf = NULL;
ASSERT_NOT_NULL((buf = strdup("")));
ASSERT_OK(hostname_substitute_wildcards(buf));
ASSERT_STREQ(buf, "");
ASSERT_NULL((buf = mfree(buf)));
ASSERT_NOT_NULL((buf = strdup("hogehoge")));
ASSERT_OK(hostname_substitute_wildcards(buf));
ASSERT_STREQ(buf, "hogehoge");
ASSERT_NULL((buf = mfree(buf)));
ASSERT_NOT_NULL((buf = strdup("hoge??hoge??foo?")));
ASSERT_OK(hostname_substitute_wildcards(buf));
log_debug("hostname_substitute_wildcards(\"hoge??hoge??foo?\"): → \"%s\"", buf);
ASSERT_EQ(fnmatch("hoge??hoge??foo?", buf, /* flags= */ 0), 0);
ASSERT_TRUE(hostname_is_valid(buf, /* flags= */ 0));
ASSERT_NULL((buf = mfree(buf)));
}
TEST(hostname_setup) {
hostname_setup(false);
}