forked from cory/tildefriends
libuv 1.45.0, #include cleanup, probably something else.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4308 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
121
deps/libuv/test/test-get-passwd.c
vendored
121
deps/libuv/test/test-get-passwd.c
vendored
@@ -39,32 +39,32 @@ TEST_IMPL(get_passwd) {
|
||||
|
||||
/* Test the normal case */
|
||||
r = uv_os_get_passwd(&pwd);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_EQ(r, 0);
|
||||
len = strlen(pwd.username);
|
||||
ASSERT(len > 0);
|
||||
ASSERT_GT(len, 0);
|
||||
|
||||
#ifdef _WIN32
|
||||
ASSERT_NULL(pwd.shell);
|
||||
#else
|
||||
len = strlen(pwd.shell);
|
||||
# ifndef __PASE__
|
||||
ASSERT(len > 0);
|
||||
ASSERT_GT(len, 0);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
len = strlen(pwd.homedir);
|
||||
ASSERT(len > 0);
|
||||
ASSERT_GT(len, 0);
|
||||
|
||||
#ifdef _WIN32
|
||||
if (len == 3 && pwd.homedir[1] == ':')
|
||||
ASSERT(pwd.homedir[2] == '\\');
|
||||
ASSERT_EQ(pwd.homedir[2], '\\');
|
||||
else
|
||||
ASSERT(pwd.homedir[len - 1] != '\\');
|
||||
ASSERT_NE(pwd.homedir[len - 1], '\\');
|
||||
#else
|
||||
if (len == 1)
|
||||
ASSERT(pwd.homedir[0] == '/');
|
||||
ASSERT_EQ(pwd.homedir[0], '/');
|
||||
else
|
||||
ASSERT(pwd.homedir[len - 1] != '/');
|
||||
ASSERT_NE(pwd.homedir[len - 1], '/');
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
@@ -95,7 +95,110 @@ TEST_IMPL(get_passwd) {
|
||||
|
||||
/* Test invalid input */
|
||||
r = uv_os_get_passwd(NULL);
|
||||
ASSERT(r == UV_EINVAL);
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
TEST_IMPL(get_passwd2) {
|
||||
/* TODO(gengjiawen): Fix test on QEMU. */
|
||||
#if defined(__QEMU__)
|
||||
RETURN_SKIP("Test does not currently work in QEMU");
|
||||
#endif
|
||||
|
||||
uv_passwd_t pwd;
|
||||
uv_passwd_t pwd2;
|
||||
size_t len;
|
||||
int r;
|
||||
|
||||
/* Test the normal case */
|
||||
r = uv_os_get_passwd(&pwd);
|
||||
ASSERT_EQ(r, 0);
|
||||
|
||||
r = uv_os_get_passwd2(&pwd2, pwd.uid);
|
||||
|
||||
#ifdef _WIN32
|
||||
ASSERT_EQ(r, UV_ENOTSUP);
|
||||
|
||||
#else
|
||||
ASSERT_EQ(r, 0);
|
||||
ASSERT_EQ(pwd.uid, pwd2.uid);
|
||||
ASSERT_STR_EQ(pwd.username, pwd2.username);
|
||||
ASSERT_STR_EQ(pwd.shell, pwd2.shell);
|
||||
ASSERT_STR_EQ(pwd.homedir, pwd2.homedir);
|
||||
uv_os_free_passwd(&pwd2);
|
||||
|
||||
r = uv_os_get_passwd2(&pwd2, 0);
|
||||
ASSERT_EQ(r, 0);
|
||||
|
||||
len = strlen(pwd2.username);
|
||||
ASSERT_GT(len, 0);
|
||||
ASSERT_STR_EQ(pwd2.username, "root");
|
||||
|
||||
len = strlen(pwd2.homedir);
|
||||
ASSERT_GT(len, 0);
|
||||
|
||||
len = strlen(pwd2.shell);
|
||||
# ifndef __PASE__
|
||||
ASSERT_GT(len, 0);
|
||||
# endif
|
||||
|
||||
uv_os_free_passwd(&pwd2);
|
||||
#endif
|
||||
|
||||
uv_os_free_passwd(&pwd);
|
||||
|
||||
/* Test invalid input */
|
||||
r = uv_os_get_passwd2(NULL, pwd.uid);
|
||||
#ifdef _WIN32
|
||||
ASSERT_EQ(r, UV_ENOTSUP);
|
||||
#else
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
TEST_IMPL(get_group) {
|
||||
/* TODO(gengjiawen): Fix test on QEMU. */
|
||||
#if defined(__QEMU__)
|
||||
RETURN_SKIP("Test does not currently work in QEMU");
|
||||
#endif
|
||||
|
||||
uv_passwd_t pwd;
|
||||
uv_group_t grp;
|
||||
size_t len;
|
||||
int r;
|
||||
|
||||
r = uv_os_get_passwd(&pwd);
|
||||
ASSERT_EQ(r, 0);
|
||||
|
||||
r = uv_os_get_group(&grp, pwd.gid);
|
||||
|
||||
#ifdef _WIN32
|
||||
ASSERT_EQ(r, UV_ENOTSUP);
|
||||
|
||||
#else
|
||||
ASSERT_EQ(r, 0);
|
||||
ASSERT_EQ(pwd.gid, grp.gid);
|
||||
|
||||
len = strlen(grp.groupname);
|
||||
ASSERT_GT(len, 0);
|
||||
|
||||
uv_os_free_group(&grp);
|
||||
#endif
|
||||
|
||||
uv_os_free_passwd(&pwd);
|
||||
|
||||
/* Test invalid input */
|
||||
r = uv_os_get_group(NULL, pwd.gid);
|
||||
#ifdef _WIN32
|
||||
ASSERT_EQ(r, UV_ENOTSUP);
|
||||
#else
|
||||
ASSERT_EQ(r, UV_EINVAL);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user