Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"

This commit is contained in:
Elliott Hughes 2014-11-12 20:08:57 +00:00 committed by Gerrit Code Review
commit 83204d5708

View File

@ -25,6 +25,7 @@
#include <stdint.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <sys/wait.h>
#include <unistd.h>
@ -478,3 +479,24 @@ TEST(unistd, sethostname) {
// all we can do for sethostname(2).
ASSERT_EQ(-1, sethostname("", -1));
}
TEST(unistd, gethostname) {
char hostname[HOST_NAME_MAX + 1];
memset(hostname, 0, sizeof(hostname));
ASSERT_EQ(0, gethostname(hostname, HOST_NAME_MAX));
utsname buf;
ASSERT_EQ(0, uname(&buf));
ASSERT_EQ(0, strncmp(hostname, buf.nodename, SYS_NMLN));
ASSERT_GT(strlen(hostname), 0U);
errno = 0;
ASSERT_EQ(-1, gethostname(hostname, strlen(hostname)));
ASSERT_EQ(ENAMETOOLONG, errno);
errno = 0;
ASSERT_EQ(0, gethostname(hostname, -2));
ASSERT_EQ(0, errno);
GTEST_LOG_(INFO) << "hostname=" << hostname << "\n";
}