Merge "Assume glibc >= 2.15."

This commit is contained in:
Elliott Hughes 2014-11-13 18:11:00 +00:00 committed by Gerrit Code Review
commit 288fa03a5a
3 changed files with 2 additions and 58 deletions

View File

@ -61,7 +61,7 @@ int pthread_setname_np(pthread_t t, const char* thread_name) {
{ {
pthread_accessor thread(t); pthread_accessor thread(t);
if (thread.get() == NULL) { if (thread.get() == NULL) {
return ESRCH; return ENOENT;
} }
tid = thread->tid; tid = thread->tid;
} }

View File

@ -359,50 +359,26 @@ TEST(pthread, pthread_sigmask) {
ASSERT_EQ(0, pthread_sigmask(SIG_SETMASK, &original_set, NULL)); ASSERT_EQ(0, pthread_sigmask(SIG_SETMASK, &original_set, NULL));
} }
#if defined(__BIONIC__)
#define HAVE_PTHREAD_SETNAME_NP
#elif defined(__GLIBC__)
#if __GLIBC_PREREQ(2, 12)
#define HAVE_PTHREAD_SETNAME_NP
#endif
#endif
TEST(pthread, pthread_setname_np__too_long) { TEST(pthread, pthread_setname_np__too_long) {
#if defined(HAVE_PTHREAD_SETNAME_NP)
ASSERT_EQ(ERANGE, pthread_setname_np(pthread_self(), "this name is far too long for linux")); ASSERT_EQ(ERANGE, pthread_setname_np(pthread_self(), "this name is far too long for linux"));
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
TEST(pthread, pthread_setname_np__self) { TEST(pthread, pthread_setname_np__self) {
#if defined(HAVE_PTHREAD_SETNAME_NP)
ASSERT_EQ(0, pthread_setname_np(pthread_self(), "short 1")); ASSERT_EQ(0, pthread_setname_np(pthread_self(), "short 1"));
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
TEST(pthread, pthread_setname_np__other) { TEST(pthread, pthread_setname_np__other) {
#if defined(HAVE_PTHREAD_SETNAME_NP)
pthread_t t1; pthread_t t1;
ASSERT_EQ(0, pthread_create(&t1, NULL, SleepFn, reinterpret_cast<void*>(5))); ASSERT_EQ(0, pthread_create(&t1, NULL, SleepFn, reinterpret_cast<void*>(5)));
ASSERT_EQ(0, pthread_setname_np(t1, "short 2")); ASSERT_EQ(0, pthread_setname_np(t1, "short 2"));
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
TEST(pthread, pthread_setname_np__no_such_thread) { TEST(pthread, pthread_setname_np__no_such_thread) {
#if defined(HAVE_PTHREAD_SETNAME_NP)
pthread_t dead_thread; pthread_t dead_thread;
MakeDeadThread(dead_thread); MakeDeadThread(dead_thread);
// Call pthread_setname_np after thread has already exited. // Call pthread_setname_np after thread has already exited.
ASSERT_EQ(ESRCH, pthread_setname_np(dead_thread, "short 3")); ASSERT_EQ(ENOENT, pthread_setname_np(dead_thread, "short 3"));
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
TEST(pthread, pthread_kill__0) { TEST(pthread, pthread_kill__0) {

View File

@ -22,18 +22,6 @@
#include <sys/un.h> #include <sys/un.h>
#include <fcntl.h> #include <fcntl.h>
#if defined(__BIONIC__)
#define RECVMMSG_SUPPORTED 1
#define SENDMMSG_SUPPORTED 1
#elif defined(__GLIBC_PREREQ)
#if __GLIBC_PREREQ(2, 12)
#define RECVMMSG_SUPPORTED 1
#endif
#if __GLIBC_PREREQ(2, 14)
#define SENDMMSG_SUPPORTED 1
#endif
#endif
#define SOCK_PATH "test" #define SOCK_PATH "test"
static void* ConnectFn(void* data) { static void* ConnectFn(void* data) {
@ -120,7 +108,6 @@ TEST(sys_socket, accept4_smoke) {
RunTest(TestAccept4, NULL); RunTest(TestAccept4, NULL);
} }
#if defined(RECVMMSG_SUPPORTED)
const char* g_RecvMsgs[] = { const char* g_RecvMsgs[] = {
"RECVMMSG_ONE", "RECVMMSG_ONE",
"RECVMMSG_TWO", "RECVMMSG_TWO",
@ -171,26 +158,16 @@ static void TestRecvMMsg(struct sockaddr_un *addr, int fd) {
close(fd_acc); close(fd_acc);
} }
#endif
TEST(sys_socket, recvmmsg_smoke) { TEST(sys_socket, recvmmsg_smoke) {
#if defined(RECVMMSG_SUPPORTED)
RunTest(TestRecvMMsg, SendMultiple); RunTest(TestRecvMMsg, SendMultiple);
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
TEST(sys_socket, recvmmsg_error) { TEST(sys_socket, recvmmsg_error) {
#if defined(RECVMMSG_SUPPORTED)
ASSERT_EQ(-1, recvmmsg(-1, NULL, 0, 0, NULL)); ASSERT_EQ(-1, recvmmsg(-1, NULL, 0, 0, NULL));
ASSERT_EQ(EBADF, errno); ASSERT_EQ(EBADF, errno);
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
#if defined(SENDMMSG_SUPPORTED)
const char* g_SendMsgs[] = { const char* g_SendMsgs[] = {
"MSG_ONE", "MSG_ONE",
"MSG_TWO", "MSG_TWO",
@ -239,21 +216,12 @@ static void TestSendMMsg(struct sockaddr_un *addr, int fd) {
close(fd_acc); close(fd_acc);
} }
#endif
TEST(sys_socket, sendmmsg_smoke) { TEST(sys_socket, sendmmsg_smoke) {
#if defined(SENDMMSG_SUPPORTED)
RunTest(TestSendMMsg, SendMMsg); RunTest(TestSendMMsg, SendMMsg);
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }
TEST(sys_socket, sendmmsg_error) { TEST(sys_socket, sendmmsg_error) {
#if defined(SENDMMSG_SUPPORTED)
ASSERT_EQ(-1, sendmmsg(-1, NULL, 0, 0)); ASSERT_EQ(-1, sendmmsg(-1, NULL, 0, 0));
ASSERT_EQ(EBADF, errno); ASSERT_EQ(EBADF, errno);
#else
GTEST_LOG_(INFO) << "This test does nothing.\n";
#endif
} }