utest: improve code coverage 80/162980/1
authorRoman Marchenko <r.marchenko@samsung.com>
Wed, 6 Dec 2017 15:06:01 +0000 (17:06 +0200)
committerRoman Marchenko <r.marchenko@samsung.com>
Wed, 6 Dec 2017 15:06:24 +0000 (17:06 +0200)
 - 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 <r.marchenko@samsung.com>
utests/ut_tbm_surface_queue.cpp

index cd72150..5ee8763 100644 (file)
@@ -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);
+
+}