}
}
-//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)
{
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); */
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;
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);
+
+}