tc: Add test cases for tpl_surface 46/165746/2
authorHoyub Lee <hoyub.lee@samsung.com>
Wed, 3 Jan 2018 13:39:41 +0000 (22:39 +0900)
committerHoyub Lee <hoyub.lee@samsung.com>
Tue, 9 Jan 2018 06:48:12 +0000 (15:48 +0900)
Add below tests for tpl_surface.

TEST CASE                                   | TEST
------------------------------------------------------------------
DEFAULT_tpl_surface_get_rotation            | success_1
DEFAULT_tpl_surface_get_rotation            | success_2
DEFAULT_tpl_surface_get_rotation            | failure
DEFAULT_tpl_surface_dequeue_enqueue         | deq_enq_dmg_1
DEFAULT_tpl_surface_dequeue_enqueue         | deq_enq_dmg_2
DEFAULT_tpl_surface_cancel_dequeued_buff    | success
DEFAULT_tpl_surface_cancel_dequeued_buff    | failure_null_surface
DEFAULT_tpl_surface_cancel_dequeued_buff    | failure_null_tbm_surf
EXTRA_tpl_surface_get_swapchain_buffers     | failure_invalid_surface
EXTRA_tpl_surface_get_swapchain_buffers     | failure_invalid_buffer_count
EXTRA_tpl_surface_destroy_swapchain         | failure_invalid_surface
DEFAULT_tpl_surface_set_frontbuffer_mode    | success_activate
DEFAULT_tpl_surface_set_frontbuffer_mode    | success_deactivate
DEFAULT_tpl_surface_set_frontbuffer_mode    | failure_null_surface
DEFAULT_tpl_surface_set_reset_cb            | success
DEFAULT_tpl_surface_set_reset_cb            | failure
DEFAULT_tpl_surface_set_rotation_capabil    | success
DEFAULT_tpl_surface_set_rotation_capabil    | failure

Change-Id: I324a2d02aa823712c64c5643d7cb77dd3c17bc0f
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
tc/test/tpl-test_surface_test.cpp

index ae52edb..d419bae 100644 (file)
@@ -9,23 +9,6 @@
 #include "src/tpl-test_base.h"
 
 
-typedef TPLTestBase DEFAULT_tpl_surface_validate;
-
-TEST_F(DEFAULT_tpl_surface_validate, success)
-{
-       tpl_bool_t result = tpl_surface_validate(backend->tpl_surface);
-
-       ASSERT_EQ(TPL_TRUE, result);
-}
-
-TEST_F(DEFAULT_tpl_surface_validate, failure_invalid_surface)
-{
-       tpl_bool_t result = tpl_surface_validate(NULL);
-
-       ASSERT_EQ(TPL_FALSE, result);
-}
-
-
 typedef TPLTestBase DEFAULT_tpl_surface_get_display;
 
 TEST_F(DEFAULT_tpl_surface_get_display, success)
@@ -107,6 +90,51 @@ TEST_F(DEFAULT_tpl_surface_get_size, failure_invalid_surface)
 }
 
 
+typedef TPLTestBase DEFAULT_tpl_surface_get_rotation;
+
+TEST_F(DEFAULT_tpl_surface_get_rotation, success_1)
+{
+       tpl_bool_t result;
+       int rotation;
+
+       result = tpl_surface_get_rotation(backend->tpl_surface, &rotation);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_get_rotation, success_2)
+{
+       tpl_bool_t result;
+
+       result = tpl_surface_get_rotation(backend->tpl_surface, NULL);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_get_rotation, failure)
+{
+       tpl_bool_t result;
+       int rotation;
+
+       result = tpl_surface_get_rotation(NULL, &rotation);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+typedef TPLTestBase DEFAULT_tpl_surface_validate;
+
+TEST_F(DEFAULT_tpl_surface_validate, success)
+{
+       tpl_bool_t result = tpl_surface_validate(backend->tpl_surface);
+
+       ASSERT_EQ(TPL_TRUE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_validate, failure_invalid_surface)
+{
+       tpl_bool_t result = tpl_surface_validate(NULL);
+
+       ASSERT_EQ(TPL_FALSE, result);
+}
+
+
 typedef TPLTestBase DEFAULT_tpl_surface_dequeue_enqueue;
 
 // Tests simple normal buffer flow:
@@ -132,6 +160,93 @@ TEST_F(DEFAULT_tpl_surface_dequeue_enqueue, deq_enq)
        ASSERT_EQ(TPL_ERROR_NONE, result);
 }
 
+// Same with 'deq_enq' test but use tpl_surface_enqueue_buffer_with_damage
+TEST_F(DEFAULT_tpl_surface_dequeue_enqueue, deq_enq_dmg_1)
+{
+       // dequeue
+       tbm_surface_h tbm_surf = NULL;
+       tbm_surf = tpl_surface_dequeue_buffer(backend->tpl_surface);
+       ASSERT_NE((void *)NULL, tbm_surf);
+
+       // set and get interval
+       int interval_set = 2;
+       tpl_surface_set_post_interval(backend->tpl_surface, interval_set);
+       int interval_get = tpl_surface_get_post_interval(backend->tpl_surface);
+       ASSERT_EQ(interval_set, interval_get);
+
+       // enqueue
+       tpl_result_t result = TPL_ERROR_INVALID_PARAMETER;
+       result = tpl_surface_enqueue_buffer_with_damage(backend->tpl_surface,
+                                                                                                       tbm_surf, 0, NULL);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_dequeue_enqueue, deq_enq_dmg_2)
+{
+       // dequeue
+       tbm_surface_h tbm_surf = NULL;
+       tbm_surf = tpl_surface_dequeue_buffer(backend->tpl_surface);
+       ASSERT_NE((void *)NULL, tbm_surf);
+
+       // set and get interval
+       int interval_set = 2;
+       tpl_surface_set_post_interval(backend->tpl_surface, interval_set);
+       int interval_get = tpl_surface_get_post_interval(backend->tpl_surface);
+       ASSERT_EQ(interval_set, interval_get);
+
+       // enqueue
+       tpl_result_t result = TPL_ERROR_INVALID_PARAMETER;
+       int rects[4 * 2] = {0, 0, 10, 10,
+                                               1, 1, 10, 10};
+       result = tpl_surface_enqueue_buffer_with_damage(backend->tpl_surface,
+                                                                                                       tbm_surf, 2, rects);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+typedef TPLTestBase DEFAULT_tpl_surface_cancel_dequeued_buffer;
+
+TEST_F(DEFAULT_tpl_surface_cancel_dequeued_buffer, success)
+{
+       tpl_bool_t result;
+       tbm_surface_h tbm_surf;
+
+       // dequeue
+       tbm_surf = tpl_surface_dequeue_buffer(backend->tpl_surface);
+       ASSERT_NE((void *)NULL, tbm_surf);
+
+       // cancel dequeued buffer
+       result = tpl_surface_cancel_dequeued_buffer(backend->tpl_surface, tbm_surf);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_cancel_dequeued_buffer, failure_null_surface)
+{
+       tpl_bool_t result;
+       tbm_surface_h tbm_surf;
+
+       // dequeue
+       tbm_surf = tpl_surface_dequeue_buffer(backend->tpl_surface);
+       ASSERT_NE((void *)NULL, tbm_surf);
+
+       // cancel dequeued buffer
+       result = tpl_surface_cancel_dequeued_buffer(NULL, tbm_surf);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_cancel_dequeued_buffer, failure_null_tbm_surf)
+{
+       tpl_bool_t result;
+       tbm_surface_h tbm_surf;
+
+       // dequeue
+       tbm_surf = tpl_surface_dequeue_buffer(backend->tpl_surface);
+       ASSERT_NE((void *)NULL, tbm_surf);
+
+       // cancel dequeued buffer
+       result = tpl_surface_cancel_dequeued_buffer(NULL, NULL);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
 
 typedef TPLTestBase EXTRA_tpl_surface_swapchain;
 
@@ -170,3 +285,104 @@ TEST_F(EXTRA_tpl_surface_swapchain, success)
        ASSERT_EQ(TPL_ERROR_NONE, result);
 }
 
+
+typedef TPLTestBase EXTRA_tpl_surface_get_swapchain_buffers;
+
+TEST_F(EXTRA_tpl_surface_get_swapchain_buffers, failure_invalid_surface)
+{
+       tpl_result_t result;
+       tbm_surface_h **buffers = NULL;
+       int buffer_get;
+
+       // Get swapchain buffers
+       result = tpl_surface_get_swapchain_buffers(NULL, buffers, &buffer_get);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+TEST_F(EXTRA_tpl_surface_get_swapchain_buffers, failure_invalid_buffer_count)
+{
+       tpl_result_t result;
+       tbm_surface_h **buffers = NULL;
+       int buffer_get;
+
+       // Get swapchain buffers
+       result = tpl_surface_get_swapchain_buffers(backend->tpl_surface, buffers,
+                                                                                          NULL);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+
+typedef TPLTestBase EXTRA_tpl_surface_destroy_swapchain;
+
+TEST_F(EXTRA_tpl_surface_destroy_swapchain, failure_invalid_surface)
+{
+       tpl_result_t result;
+
+       // Destroy swapchain buffers
+       result = tpl_surface_destroy_swapchain(NULL);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+
+typedef TPLTestBase DEFAULT_tpl_surface_set_frontbuffer_mode;
+
+TEST_F(DEFAULT_tpl_surface_set_frontbuffer_mode, success_activate)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_frontbuffer_mode(backend->tpl_surface, TPL_TRUE);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_set_frontbuffer_mode, success_deactivate)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_frontbuffer_mode(backend->tpl_surface, TPL_FALSE);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_set_frontbuffer_mode, failure_null_surface)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_frontbuffer_mode(NULL, TPL_FALSE);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+typedef TPLTestBase DEFAULT_tpl_surface_set_reset_cb;
+
+TEST_F(DEFAULT_tpl_surface_set_reset_cb, success)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_reset_cb(backend->tpl_surface, NULL, NULL);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_set_reset_cb, failure)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_reset_cb(NULL, NULL, NULL);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}
+
+
+typedef TPLTestBase DEFAULT_tpl_surface_set_rotation_capability;
+
+TEST_F(DEFAULT_tpl_surface_set_rotation_capability, success)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_rotation_capability(backend->tpl_surface, TPL_TRUE);
+       ASSERT_EQ(TPL_ERROR_NONE, result);
+}
+
+TEST_F(DEFAULT_tpl_surface_set_rotation_capability, failure)
+{
+       tpl_result_t result;
+
+       result = tpl_surface_set_rotation_capability(NULL, TPL_TRUE);
+       ASSERT_EQ(TPL_ERROR_INVALID_PARAMETER, result);
+}