forked from enlightenment/efl
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:
parent
2bbc300b80
commit
3162240921
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue