Merge "Add a new pthread_key_delete test."

This commit is contained in:
Elliott Hughes 2014-06-25 20:54:14 +00:00 committed by Gerrit Code Review
commit 3df0774b15

View File

@ -69,6 +69,19 @@ TEST(pthread, pthread_key_create_lots) {
#endif // __BIONIC__ #endif // __BIONIC__
} }
TEST(pthread, pthread_key_delete) {
void* expected = reinterpret_cast<void*>(1234);
pthread_key_t key;
ASSERT_EQ(0, pthread_key_create(&key, NULL));
ASSERT_EQ(0, pthread_setspecific(key, expected));
ASSERT_EQ(expected, pthread_getspecific(key));
ASSERT_EQ(0, pthread_key_delete(key));
// After deletion, pthread_getspecific returns NULL.
ASSERT_EQ(NULL, pthread_getspecific(key));
// And you can't use pthread_setspecific with the deleted key.
ASSERT_EQ(EINVAL, pthread_setspecific(key, expected));
}
static void* IdFn(void* arg) { static void* IdFn(void* arg) {
return arg; return arg;
} }