diff options
author | Jan Janssen <medhefgo@web.de> | 2021-11-24 12:00:02 +0100 |
---|---|---|
committer | Jan Janssen <medhefgo@web.de> | 2021-11-25 15:03:06 +0100 |
commit | 4f7452a8eb7a946efea927fae017d4d661097833 (patch) | |
tree | 413778cc0fb08fbbed0890130b5ba66c90581e61 /src/test/test-user-util.c | |
parent | 4d5ad9d951299c905453ac8e3769dc82b0a09fb4 (diff) | |
download | systemd-4f7452a8eb7a946efea927fae017d4d661097833.tar.gz |
test: Use TEST macro
This converts to TEST macro where it is trivial.
Some additional notable changes:
- simplify HAVE_LIBIDN #ifdef in test-dns-domain.c
- use saved_argc/saved_argv in test-copy.c, test-path-util.c,
test-tmpfiles.c and test-unit-file.c
Diffstat (limited to 'src/test/test-user-util.c')
-rw-r--r-- | src/test/test-user-util.c | 117 |
1 files changed, 43 insertions, 74 deletions
diff --git a/src/test/test-user-util.c b/src/test/test-user-util.c index af9537a3ab..907de54eaa 100644 --- a/src/test/test-user-util.c +++ b/src/test/test-user-util.c @@ -8,6 +8,7 @@ #include "memory-util.h" #include "path-util.h" #include "string-util.h" +#include "tests.h" #include "user-util.h" static void test_uid_to_name_one(uid_t uid, const char *name) { @@ -23,6 +24,13 @@ static void test_uid_to_name_one(uid_t uid, const char *name) { assert_se(streq_ptr(t, name)); } +TEST(uid_to_name) { + test_uid_to_name_one(0, "root"); + test_uid_to_name_one(UID_NOBODY, NOBODY_USER_NAME); + test_uid_to_name_one(0xFFFF, "65535"); + test_uid_to_name_one(0xFFFFFFFF, "4294967295"); +} + static void test_gid_to_name_one(gid_t gid, const char *name) { _cleanup_free_ char *t = NULL; @@ -36,12 +44,18 @@ static void test_gid_to_name_one(gid_t gid, const char *name) { assert_se(streq_ptr(t, name)); } -static void test_parse_uid(void) { +TEST(gid_to_name) { + test_gid_to_name_one(0, "root"); + test_gid_to_name_one(GID_NOBODY, NOBODY_GROUP_NAME); + test_gid_to_name_one(TTY_GID, "tty"); + test_gid_to_name_one(0xFFFF, "65535"); + test_gid_to_name_one(0xFFFFFFFF, "4294967295"); +} + +TEST(parse_uid) { int r; uid_t uid; - log_info("/* %s */", __func__); - r = parse_uid("0", &uid); assert_se(r == 0); assert_se(uid == 0); @@ -123,9 +137,7 @@ static void test_parse_uid(void) { assert_se(uid == 100); } -static void test_uid_ptr(void) { - log_info("/* %s */", __func__); - +TEST(uid_ptr) { assert_se(UID_TO_PTR(0) != NULL); assert_se(UID_TO_PTR(1000) != NULL); @@ -133,9 +145,7 @@ static void test_uid_ptr(void) { assert_se(PTR_TO_UID(UID_TO_PTR(1000)) == 1000); } -static void test_valid_user_group_name_relaxed(void) { - log_info("/* %s */", __func__); - +TEST(valid_user_group_name_relaxed) { assert_se(!valid_user_group_name(NULL, VALID_USER_RELAX)); assert_se(!valid_user_group_name("", VALID_USER_RELAX)); assert_se(!valid_user_group_name("1", VALID_USER_RELAX)); @@ -174,9 +184,7 @@ static void test_valid_user_group_name_relaxed(void) { assert_se(valid_user_group_name("Dāvis", VALID_USER_RELAX)); } -static void test_valid_user_group_name(void) { - log_info("/* %s */", __func__); - +TEST(valid_user_group_name) { assert_se(!valid_user_group_name(NULL, 0)); assert_se(!valid_user_group_name("", 0)); assert_se(!valid_user_group_name("1", 0)); @@ -216,9 +224,7 @@ static void test_valid_user_group_name(void) { assert_se(!valid_user_group_name("Dāvis", 0)); } -static void test_valid_user_group_name_or_numeric_relaxed(void) { - log_info("/* %s */", __func__); - +TEST(valid_user_group_name_or_numeric_relaxed) { assert_se(!valid_user_group_name(NULL, VALID_USER_ALLOW_NUMERIC|VALID_USER_RELAX)); assert_se(!valid_user_group_name("", VALID_USER_ALLOW_NUMERIC|VALID_USER_RELAX)); assert_se(valid_user_group_name("0", VALID_USER_ALLOW_NUMERIC|VALID_USER_RELAX)); @@ -254,9 +260,7 @@ static void test_valid_user_group_name_or_numeric_relaxed(void) { assert_se(valid_user_group_name("Dāvis", VALID_USER_ALLOW_NUMERIC|VALID_USER_RELAX)); } -static void test_valid_user_group_name_or_numeric(void) { - log_info("/* %s */", __func__); - +TEST(valid_user_group_name_or_numeric) { assert_se(!valid_user_group_name(NULL, VALID_USER_ALLOW_NUMERIC)); assert_se(!valid_user_group_name("", VALID_USER_ALLOW_NUMERIC)); assert_se(valid_user_group_name("0", VALID_USER_ALLOW_NUMERIC)); @@ -292,9 +296,7 @@ static void test_valid_user_group_name_or_numeric(void) { assert_se(!valid_user_group_name("Dāvis", VALID_USER_ALLOW_NUMERIC)); } -static void test_valid_gecos(void) { - log_info("/* %s */", __func__); - +TEST(valid_gecos) { assert_se(!valid_gecos(NULL)); assert_se(valid_gecos("")); assert_se(valid_gecos("test")); @@ -303,9 +305,7 @@ static void test_valid_gecos(void) { assert_se(!valid_gecos("In:valid")); } -static void test_valid_home(void) { - log_info("/* %s */", __func__); - +TEST(valid_home) { assert_se(!valid_home(NULL)); assert_se(!valid_home("")); assert_se(!valid_home(".")); @@ -346,6 +346,13 @@ static void test_get_user_creds_one(const char *id, const char *name, uid_t uid, assert_se(path_equal(rshell, shell)); } +TEST(get_user_creds) { + test_get_user_creds_one("root", "root", 0, 0, "/root", "/bin/sh"); + test_get_user_creds_one("0", "root", 0, 0, "/root", "/bin/sh"); + test_get_user_creds_one(NOBODY_USER_NAME, NOBODY_USER_NAME, UID_NOBODY, GID_NOBODY, "/", NOLOGIN); + test_get_user_creds_one("65534", NOBODY_USER_NAME, UID_NOBODY, GID_NOBODY, "/", NOLOGIN); +} + static void test_get_group_creds_one(const char *id, const char *name, gid_t gid) { gid_t rgid = GID_INVALID; int r; @@ -363,9 +370,14 @@ static void test_get_group_creds_one(const char *id, const char *name, gid_t gid assert_se(rgid == gid); } -static void test_make_salt(void) { - log_info("/* %s */", __func__); +TEST(get_group_creds) { + test_get_group_creds_one("root", "root", 0); + test_get_group_creds_one("0", "root", 0); + test_get_group_creds_one(NOBODY_GROUP_NAME, NOBODY_GROUP_NAME, GID_NOBODY); + test_get_group_creds_one("65534", NOBODY_GROUP_NAME, GID_NOBODY); +} +TEST(make_salt) { _cleanup_free_ char *s, *t; assert_se(make_salt(&s) == 0); @@ -377,14 +389,14 @@ static void test_make_salt(void) { assert_se(!streq(s, t)); } -static void test_in_gid(void) { +TEST(in_gid) { assert_se(in_gid(getgid()) >= 0); assert_se(in_gid(getegid()) >= 0); assert_se(in_gid(GID_INVALID) < 0); assert_se(in_gid(TTY_GID) == 0); /* The TTY gid is for owning ttys, it would be really really weird if we were in it. */ } -static void test_gid_lists_ops(void) { +TEST(gid_lists_ops) { static const gid_t l1[] = { 5, 10, 15, 20, 25}; static const gid_t l2[] = { 1, 2, 3, 15, 20, 25}; static const gid_t l3[] = { 5, 10, 15, 20, 25, 26, 27}; @@ -421,11 +433,9 @@ static void test_gid_lists_ops(void) { assert_se(gids); } -static void test_parse_uid_range(void) { +TEST(parse_uid_range) { uid_t a = 4711, b = 4711; - log_info("/* %s */", __func__); - assert_se(parse_uid_range("", &a, &b) == -EINVAL && a == 4711 && b == 4711); assert_se(parse_uid_range(" ", &a, &b) == -EINVAL && a == 4711 && b == 4711); assert_se(parse_uid_range("x", &a, &b) == -EINVAL && a == 4711 && b == 4711); @@ -462,7 +472,7 @@ static void test_mangle_gecos_one(const char *input, const char *expected) { assert_se(valid_gecos(p)); } -static void test_mangle_gecos(void) { +TEST(mangle_gecos) { test_mangle_gecos_one("", ""); test_mangle_gecos_one("root", "root"); test_mangle_gecos_one("wuff\nwuff", "wuff wuff"); @@ -473,45 +483,4 @@ static void test_mangle_gecos(void) { test_mangle_gecos_one("\xe2\x28\xa1", " ( "); } -int main(int argc, char *argv[]) { - test_uid_to_name_one(0, "root"); - test_uid_to_name_one(UID_NOBODY, NOBODY_USER_NAME); - test_uid_to_name_one(0xFFFF, "65535"); - test_uid_to_name_one(0xFFFFFFFF, "4294967295"); - - test_gid_to_name_one(0, "root"); - test_gid_to_name_one(GID_NOBODY, NOBODY_GROUP_NAME); - test_gid_to_name_one(TTY_GID, "tty"); - test_gid_to_name_one(0xFFFF, "65535"); - test_gid_to_name_one(0xFFFFFFFF, "4294967295"); - - test_get_user_creds_one("root", "root", 0, 0, "/root", "/bin/sh"); - test_get_user_creds_one("0", "root", 0, 0, "/root", "/bin/sh"); - test_get_user_creds_one(NOBODY_USER_NAME, NOBODY_USER_NAME, UID_NOBODY, GID_NOBODY, "/", NOLOGIN); - test_get_user_creds_one("65534", NOBODY_USER_NAME, UID_NOBODY, GID_NOBODY, "/", NOLOGIN); - - test_get_group_creds_one("root", "root", 0); - test_get_group_creds_one("0", "root", 0); - test_get_group_creds_one(NOBODY_GROUP_NAME, NOBODY_GROUP_NAME, GID_NOBODY); - test_get_group_creds_one("65534", NOBODY_GROUP_NAME, GID_NOBODY); - - test_parse_uid(); - test_uid_ptr(); - - test_valid_user_group_name_relaxed(); - test_valid_user_group_name(); - test_valid_user_group_name_or_numeric_relaxed(); - test_valid_user_group_name_or_numeric(); - test_valid_gecos(); - test_mangle_gecos(); - test_valid_home(); - - test_make_salt(); - - test_in_gid(); - test_gid_lists_ops(); - - test_parse_uid_range(); - - return 0; -} +DEFINE_TEST_MAIN(LOG_INFO); |