Merge "Assume glibc >= 2.15."
This commit is contained in:
commit
288fa03a5a
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue