tests: simplify eina safepointer tests to be more readable

no functional changes

Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
This commit is contained in:
Mike Blumenkrantz 2018-03-30 12:51:58 -04:00 committed by Stefan Schmidt
parent 2bbc300b80
commit 3162240921
1 changed files with 36 additions and 37 deletions

View File

@ -28,7 +28,7 @@
static int test_array[1024] = { 0, 1, 2, 3, 4, 5, 6, 7 };
static int test_array2[64] = { 8, 9, 10, 11, 12, 13, 14 };
static const void *pointers[1088] = { NULL };
static const void *pointers[EINA_C_ARRAY_LENGTH(test_array) + EINA_C_ARRAY_LENGTH(test_array2)] = { NULL };
EFL_START_TEST(eina_test_reusable)
{
@ -37,19 +37,19 @@ EFL_START_TEST(eina_test_reusable)
for (i = 0; i < EINA_C_ARRAY_LENGTH(test_array); i++)
{
pointers[i] = eina_safepointer_register(&test_array[i]);
fail_if(pointers[i] == NULL);
fail_if(pointers[i] == &test_array[i]);
fail_if(&test_array[i] != eina_safepointer_get(pointers[i]));
const void *ptr = pointers[i] = eina_safepointer_register(&test_array[i]);
ck_assert_ptr_nonnull(ptr);
ck_assert_ptr_ne(ptr, &test_array[i]);
ck_assert_ptr_eq(&test_array[i], eina_safepointer_get(pointers[i]));
}
for (i = 0; i < EINA_C_ARRAY_LENGTH(test_array2); i++)
{
pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] = eina_safepointer_register(&test_array2[i]);
fail_if(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] == NULL);
fail_if(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] == &test_array2[i]);
fail_if(&test_array2[i] != eina_safepointer_get(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))]));
eina_safepointer_unregister(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))]);
const void *ptr = pointers[i + EINA_C_ARRAY_LENGTH(test_array)] = eina_safepointer_register(&test_array2[i]);
ck_assert_ptr_nonnull(ptr);
ck_assert_ptr_ne(ptr, &test_array2[i]);
ck_assert_ptr_eq(&test_array2[i], eina_safepointer_get(ptr));
eina_safepointer_unregister(ptr);
}
for (i = 0; i < EINA_C_ARRAY_LENGTH(test_array); i++)
@ -63,7 +63,7 @@ EFL_START_TEST(eina_test_reusable)
for (j = i + 1; j < EINA_C_ARRAY_LENGTH(pointers); j++)
{
fail_if(pointers[j] == pointers[i]);
ck_assert_ptr_ne(pointers[j], pointers[i]);
}
}
@ -77,14 +77,14 @@ _thread1(void *data EINA_UNUSED, Eina_Thread t EINA_UNUSED)
{
unsigned int i;
fail_if(!eina_barrier_wait(&b));
ck_assert_int_ne(eina_barrier_wait(&b), 0);
for (i = 0; i < EINA_C_ARRAY_LENGTH(test_array); i++)
{
pointers[i] = eina_safepointer_register(&test_array[i]);
fail_if(pointers[i] == NULL);
fail_if(pointers[i] == &test_array[i]);
fail_if(&test_array[i] != eina_safepointer_get(pointers[i]));
const void *ptr = pointers[i] = eina_safepointer_register(&test_array[i]);
ck_assert_ptr_nonnull(ptr);
ck_assert_ptr_ne(ptr, &test_array[i]);
ck_assert_ptr_eq(&test_array[i], eina_safepointer_get(ptr));
}
return NULL;
@ -95,15 +95,15 @@ _thread2(void *data EINA_UNUSED, Eina_Thread t EINA_UNUSED)
{
unsigned int i;
fail_if(!eina_barrier_wait(&b));
ck_assert_int_ne(eina_barrier_wait(&b), 0);
for (i = 0; i < EINA_C_ARRAY_LENGTH(test_array2); i++)
{
pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] = eina_safepointer_register(&test_array2[i]);
fail_if(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] == NULL);
fail_if(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] == &test_array2[i]);
fail_if(&test_array2[i] != eina_safepointer_get(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))]));
eina_safepointer_unregister(pointers[i + (EINA_C_ARRAY_LENGTH(test_array))]);
const void *ptr = pointers[i + (EINA_C_ARRAY_LENGTH(test_array))] = eina_safepointer_register(&test_array2[i]);
ck_assert_ptr_nonnull(ptr);
ck_assert_ptr_ne(ptr, &test_array2[i]);
ck_assert_ptr_eq(&test_array2[i], eina_safepointer_get(ptr));
eina_safepointer_unregister(ptr);
}
return NULL;
@ -117,11 +117,11 @@ EFL_START_TEST(eina_test_threading)
// We need a barrier so that both thread are more likely
// to start running in parallel
fail_if(!eina_barrier_new(&b, 2));
ck_assert_int_ne(eina_barrier_new(&b, 2), 0);
// Spawn them
fail_if(!eina_thread_create(&t1, EINA_THREAD_NORMAL, -1, _thread1, NULL));
fail_if(!eina_thread_create(&t2, EINA_THREAD_NORMAL, -1, _thread2, NULL));
ck_assert_int_ne(eina_thread_create(&t1, EINA_THREAD_NORMAL, -1, _thread1, NULL), 0);
ck_assert_int_ne(eina_thread_create(&t2, EINA_THREAD_NORMAL, -1, _thread2, NULL), 0);
// And wait for the outcome !
eina_thread_join(t1);
@ -140,7 +140,7 @@ EFL_START_TEST(eina_test_threading)
for (j = i + 1; j < EINA_C_ARRAY_LENGTH(pointers); j++)
{
fail_if(pointers[j] == pointers[i]);
ck_assert_ptr_ne(pointers[j], pointers[i]);
}
}
@ -154,22 +154,21 @@ EFL_START_TEST(eina_test_lowestbit)
for (i = 0; i < EINA_C_ARRAY_LENGTH(test_array); i++)
{
pointers[i] = eina_safepointer_register(&test_array[i]);
fail_if(pointers[i] == NULL);
fail_if(pointers[i] == &test_array[i]);
fail_if(&test_array[i] != eina_safepointer_get(pointers[i]));
const void *ptr = eina_safepointer_register(&test_array[i]);
ck_assert_ptr_nonnull(ptr);
ck_assert_ptr_ne(ptr, &test_array[i]);
ck_assert_ptr_eq(&test_array[i], eina_safepointer_get(ptr));
// We do guaranty that the two lower bit are always zero and will be internally ignored
fail_if((((uintptr_t) pointers[i]) & 0x3) != 0);
pointers[i] = (void*)(((uintptr_t) pointers[i]) | 0x3);
// We do guarantee that the two lower bit are always zero and will be internally ignored
ck_assert_int_eq((((uintptr_t) ptr) & 0x3), 0);
ptr = (void*)(((uintptr_t) ptr) | 0x3);
fail_if(&test_array[i] != eina_safepointer_get(pointers[i]));
ck_assert_ptr_eq(&test_array[i], eina_safepointer_get(ptr));
eina_safepointer_unregister(pointers[i]);
eina_safepointer_unregister(ptr);
fail_if(eina_safepointer_get(pointers[i]) != NULL);
ck_assert_ptr_null(eina_safepointer_get(ptr));
}
}
EFL_END_TEST