From: Roman Marchenko Date: Wed, 6 Dec 2017 15:06:01 +0000 (+0200) Subject: utest: improve code coverage X-Git-Tag: accepted/tizen/unified/20171211.061246~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=09373ad41c714cd275e6e30020a65ab3201fafe3;p=platform%2Fcore%2Fuifw%2Flibtbm.git utest: improve code coverage - add 3 tests API for tbm_surface_queue_set_sync_count - add a test ReleaseSequenceSuccess - add a test ResetSequenceSuccess - fix a test RemoveDequeueCbSuccess Change-Id: If6c9bffb605f38462c77e98909da1ad7de6bd756 Signed-off-by: Roman Marchenko --- diff --git a/utests/ut_tbm_surface_queue.cpp b/utests/ut_tbm_surface_queue.cpp index cd72150..5ee8763 100644 --- a/utests/ut_tbm_surface_queue.cpp +++ b/utests/ut_tbm_surface_queue.cpp @@ -508,22 +508,30 @@ TEST_F(UtSurfaceQueue, ReleaseSuccess) } } -//TEST_F(UtSurfaceQueue, ReleaseFailReleaseNotAcquired) -//{ -// result = tbm_surface_queue_dequeue(queue, &surface); -// ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); -// -// /* test: after dequeue */ -// result = tbm_surface_queue_release(queue, surface); -// ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result); -// -// result = tbm_surface_queue_enqueue(queue, surface); -// ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); -// -// /* test: after enqueue */ -// result = tbm_surface_queue_release(queue, surface); -// ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result); -//} +TEST_F(UtSurfaceQueue, ReleaseSequenceSuccess) +{ + tbm_surface_h surfaces[QUEUE_SIZE] = { NULL }; + + /* create a sequence queue instead of a default one*/ + tbm_surface_queue_destroy(queue); + queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, width, height, format, TBM_BO_DEFAULT); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + for (int i = 0; i < QUEUE_SIZE; i++) { + result = tbm_surface_queue_dequeue(queue, &surfaces[i]); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + result = tbm_surface_queue_enqueue(queue, surfaces[i]); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + result = tbm_surface_queue_acquire(queue, &surfaces[i]); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + } + + /* test */ + for (int i = 0; i < QUEUE_SIZE; i++) { + result = tbm_surface_queue_release(queue, surfaces[i]); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + } +} TEST_F(UtSurfaceQueue, ReleaseFailTwice) { @@ -679,6 +687,25 @@ TEST_F(UtSurfaceQueue, ResetSuccess) ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted"; } +TEST_F(UtSurfaceQueue, ResetSequenceSuccess) +{ + tbm_surface_h surface = NULL; + + /* create a sequence queue instead of a default one*/ + tbm_surface_queue_destroy(queue); + queue = tbm_surface_queue_sequence_create(QUEUE_SIZE, width, height, format, TBM_BO_DEFAULT); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + result = tbm_surface_queue_dequeue(queue, &surface); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + /* test */ + result = tbm_surface_queue_reset(queue, width-10, height-10, formats[num_formats-1]); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + /* extra check */ + ASSERT_FALSE(tbm_surface_internal_is_valid(surface)) << "old surface has to be deleted"; +} /* tbm_surface_queue_error_e tbm_surface_queue_set_size( tbm_surface_queue_h surface_queue, int QUEUE_SIZE, int flush); */ @@ -1202,7 +1229,7 @@ TEST_F(UtSurfaceQueue, RemoveDequeueCbSuccess) result = tbm_surface_queue_add_dequeuable_cb(queue, tbm_surface_queue_event_handler, &cb_data); ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); - result = tbm_surface_queue_remove_dequeuable_cb(queue, tbm_surface_queue_event_handler, &cb_data); + result = tbm_surface_queue_remove_dequeue_cb(queue, tbm_surface_queue_event_handler, &cb_data); ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); cb_data = 0; @@ -1538,3 +1565,37 @@ TEST_F(UtSurfaceQueue, SetModesSuccess) result = tbm_surface_queue_set_modes(queue, TBM_SURFACE_QUEUE_MODE_GUARANTEE_CYCLE); ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); } + +/* tbm_surface_queue_set_sync_count() */ +TEST_F(UtSurfaceQueue, SetSyncCountFailNull) +{ + result = tbm_surface_queue_set_sync_count(NULL, 1); + ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result); +} + +TEST_F(UtSurfaceQueue, SetSyncCountFailInvalidInput) +{ + result = tbm_surface_queue_set_sync_count(invalid_queue, 1); + ASSERT_NE(TBM_SURFACE_QUEUE_ERROR_NONE, result); +} + +TEST_F(UtSurfaceQueue, SetSyncCountSuccess) +{ + result = tbm_surface_queue_dequeue(queue, &surface); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + /* test: map after enqueue */ + result = tbm_surface_queue_set_sync_count(queue, 0); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + result = tbm_surface_queue_enqueue(queue, surface); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + /* test: map after acquire */ + result = tbm_surface_queue_set_sync_count(queue, 0); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + + result = tbm_surface_queue_acquire(queue, &surface); + ASSERT_EQ(TBM_SURFACE_QUEUE_ERROR_NONE, result); + +}