package version up to 1.16.13
[platform/core/uifw/libtdm.git] / utests / src / ut_tdm_helper.cpp
index 6787472..5aa34b1 100644 (file)
@@ -3,6 +3,8 @@
  * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
  *
  * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
+ * Contact: Andrii Sokolenko <a.sokolenko@samsung.com>
+ * Contact: Roman Marchenko <r.marchenko@samsung.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the
  *
 **************************************************************************/
 
-#include "gtest/gtest.h"
-#include <png.h>
+#include "ut_tdm.h"
 
-/*------ stubs -----------------*/
-#include "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-#include "stub_unistd.h"
-#include "stub_fcntl.h"
-#include "stub_dlfcn.h"
-#include "stub_stdio.h"
-#include "tdm_event_loop_stubs.h"
+/* LCOV_EXCL_START */
 
-#define png_write_info(p1, p2)
-#define png_write_image(p1, p2)
-#define png_write_end(p1, p2)
-/*------ stubs ----------------*/
+class TDMHelper : public TDMOutput
+{
+public:
+       TDMHelper();
+       void SetUp(void);
+       void TearDown(void);
+};
 
-#pragma GCC optimize(0)
+TDMHelper::TDMHelper()
+{
+}
 
-extern "C"  int
-tbm_drm_helper_get_master_fd(void)
+void TDMHelper::SetUp(void)
 {
-       return 20;
+       TDMOutput::SetUp();
 }
 
-#include "tdm_helper.c"
+void TDMHelper::TearDown(void)
+{
+       TDMOutput::TearDown();
+}
 
-static void _init_test()
+TEST_P(TDMHelper, HelperGetTime)
 {
-       stub_stdio_init();
-       stub_fcntl_init();
-       stub_pthread_init();
-       stub_unistd_init();
-       stub_tbm_init();
-       stub_stdlib_init();
+       ASSERT_GT(tdm_helper_get_time(), 0.0);
 }
 
-/* UNIT TESTS */
+TEST_P(TDMHelper, HelperDumpBufferXR24)
+{
+       tbm_surface_h buffer;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_XRGB8888);
+       ASSERT_NE(buffer, NULL);
+
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-/* tdm_helper_get_fd() */
+       char filename[256];
+       snprintf(filename, sizeof filename, "%s.png", typeid(*this).name());
+       tdm_helper_dump_buffer(buffer, (const char*)filename);
 
-TEST(tdm_helper_get_fd, work_flow_success_5)
+       tbm_surface_destroy(buffer);
+}
+
+TEST_P(TDMHelper, HelperDumpBufferAR24)
 {
-       const char *env = "env";
-       int fd;
+       tbm_surface_h buffer;
 
-       _init_test();
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
 
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       fd = tdm_helper_get_fd(env);
+       char filename[256];
+       snprintf(filename, sizeof filename, "%s.png", typeid(*this).name());
+       tdm_helper_dump_buffer(buffer, (const char*)filename);
+
+       tbm_surface_destroy(buffer);
+}
+
+TEST_P(TDMHelper, HelperDumpBufferNullObject)
+{
+       char filename[256];
+       tdm_helper_dump_buffer(NULL, (const char*)filename);
+}
 
-       ASSERT_EQ(fd, 5);
+TEST_P(TDMHelper, HelperDumpBufferNullOther)
+{
+       tbm_surface_h buffer = (tbm_surface_h)TDM_UT_INVALID_VALUE;
+       tdm_helper_dump_buffer(buffer, NULL);
 }
 
-TEST(tdm_helper_get_fd, work_flow_success_4)
+TEST_P(TDMHelper, HelperClearBufferPos)
 {
-       const char *env = "env";
-       int expected_fd = -1;
-       int fd;
+       tbm_surface_h buffer;
+       tdm_pos pos = {.x = 40, .y = 40, .w = TDM_UT_BUFFER_SIZE - 80, .h = TDM_UT_BUFFER_SIZE - 80};
 
-       _init_test();
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
 
-       stub_dub_error = 1;
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
+       tdm_helper_clear_buffer_pos(buffer, &pos);
 
-       fd = tdm_helper_get_fd(env);
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
 
-       ASSERT_EQ(fd, expected_fd);
+       tbm_surface_destroy(buffer);
 }
 
-TEST(tdm_helper_get_fd, work_flow_success_3)
+TEST_P(TDMHelper, HelperClearBufferColor)
 {
-       const char *env = "env";
-       int fd;
-       int expected_fd = -1;
+       tbm_surface_h buffer;
+       tdm_pos pos = {.x = 40, .y = 40, .w = TDM_UT_BUFFER_SIZE - 80, .h = TDM_UT_BUFFER_SIZE - 80};
+       unsigned int color = 0xffffff00;
 
-       _init_test();
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
 
-       FCNTL_ERROR = 1;
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
+       tdm_helper_clear_buffer_color(buffer, &pos, color);
 
-       fd = tdm_helper_get_fd(env);
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
 
-       ASSERT_EQ(fd, expected_fd);
+       tbm_surface_destroy(buffer);
 }
 
-TEST(tdm_helper_get_fd, work_flow_success_2)
+TEST_P(TDMHelper, HelperClearBufferARGB)
 {
-       const char *env = "env";
-       int expected_fd = -1;
-       int fd;
+       tbm_surface_h buffer;
 
-       _init_test();
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
 
-       SSCANF_ERROR = 1;
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
+       tdm_helper_clear_buffer(buffer);
 
-       fd = tdm_helper_get_fd(env);
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
 
-       ASSERT_EQ(fd, expected_fd);
+       tbm_surface_destroy(buffer);
 }
 
-TEST(tdm_helper_get_fd, work_flow_success_1)
+TEST_P(TDMHelper, HelperClearBufferXRGB)
 {
-       const char *env = "env";
-       int fd;
-       int expected_fd = -1;
+       tbm_surface_h buffer;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_XRGB8888);
+       ASSERT_NE(buffer, NULL);
 
-       _init_test();
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       GETENV_ERROR = 1;
+       tdm_helper_clear_buffer(buffer);
 
-       fd = tdm_helper_get_fd(env);
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
 
-       ASSERT_EQ(fd, expected_fd);
+       tbm_surface_destroy(buffer);
 }
 
-/* tdm_helper_set_fd */
-TEST(tdm_helper_set_fd, work_flow_success_1)
+TEST_P(TDMHelper, HelperClearBufferYUV420)
 {
-       _init_test();
-       tdm_helper_set_fd("TEST_ENV", 7);
+       tbm_surface_h buffer;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_YUV420);
+       ASSERT_NE(buffer, NULL);
+
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       ASSERT_STREQ(stub_getenv_name, "TEST_ENV");
+       tdm_helper_clear_buffer(buffer);
+
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
 }
 
-TEST(tdm_helper_set_fd, work_flow_error_1__setenv_error)
+TEST_P(TDMHelper, HelperClearBufferNV12)
 {
-       _init_test();
-       SETENV_ERROR = 1;
+       tbm_surface_h buffer;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_NV12);
+       ASSERT_NE(buffer, NULL);
+
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
 
-       tdm_helper_set_fd("TEST_ENV", 7);
+       tdm_helper_clear_buffer(buffer);
 
-       ASSERT_EQ(stub_getenv_name, 0);
-       ASSERT_EQ(stub_getenv_return_value, 0);
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
 }
 
-/* tdm_helper_dump_start */
-TEST(tdm_helper_dump_start, work_flow_success_1)
+TEST_P(TDMHelper, HelperClearBufferNV21)
 {
-       _init_test();
-       int count = 0;
-       tdm_dump_enable = 0;
-       tdm_helper_dump_start("test_str1", &count);
-       ASSERT_EQ(tdm_dump_enable, 1);
+       tbm_surface_h buffer;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_NV21);
+       ASSERT_NE(buffer, NULL);
+
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       tdm_helper_clear_buffer(buffer);
+
+       tdm_helper_dump_buffer_str(buffer, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
 }
 
-TEST(tdm_helper_dump_start, work_flow_error_1__NULL)
+TEST_P(TDMHelper, HelperGetBufferFullSize)
 {
-       _init_test();
-       int count = 0;
-       tdm_dump_enable = 0;
-       tdm_helper_dump_start("test_str1", NULL);
-       ASSERT_EQ(tdm_dump_enable, 0);
-       tdm_helper_dump_start(NULL, &count);
-       ASSERT_EQ(tdm_dump_enable, 0);
+       tbm_surface_h buffer;
+       int w = TDM_UT_INVALID_VALUE, h = TDM_UT_INVALID_VALUE;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
+
+       tdm_helper_get_buffer_full_size(buffer, &w, &h);
+       ASSERT_NE(w, TDM_UT_INVALID_VALUE);
+       ASSERT_GE(w, tbm_surface_get_width(buffer));
+       ASSERT_NE(h, TDM_UT_INVALID_VALUE);
+       ASSERT_GE(h, tbm_surface_get_height(buffer));
+
+       tbm_surface_destroy(buffer);
+}
+
+TEST_P(TDMHelper, HelperConvertBufferRotate0)
+{
+       tbm_surface_h buffer, temp;
+       tdm_pos sp, dp;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       temp = tbm_surface_create(TDM_UT_BUFFER_SIZE * 2, TDM_UT_BUFFER_SIZE * 2, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(temp, NULL);
+
+       sp.x = sp.y = 0, sp.w = sp.h = TDM_UT_BUFFER_SIZE;
+       dp.x = dp.y = 0, dp.w = dp.h = TDM_UT_BUFFER_SIZE * 2;
+
+       ASSERT_EQ(tdm_helper_convert_buffer(buffer, temp, &sp, &dp, TDM_TRANSFORM_NORMAL, 0), TDM_ERROR_NONE);
+
+       tdm_helper_dump_buffer_str(temp, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
+       tbm_surface_destroy(temp);
+}
+
+TEST_P(TDMHelper, HelperConvertBufferRotate0Flip)
+{
+       tbm_surface_h buffer, temp;
+       tdm_pos sp, dp;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       temp = tbm_surface_create(TDM_UT_BUFFER_SIZE * 2, TDM_UT_BUFFER_SIZE * 2, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(temp, NULL);
+
+       sp.x = sp.y = 0, sp.w = sp.h = TDM_UT_BUFFER_SIZE;
+       dp.x = dp.y = 0, dp.w = dp.h = TDM_UT_BUFFER_SIZE * 2;
+
+       ASSERT_EQ(tdm_helper_convert_buffer(buffer, temp, &sp, &dp, TDM_TRANSFORM_FLIPPED, 0), TDM_ERROR_NONE);
+
+       tdm_helper_dump_buffer_str(temp, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
+       tbm_surface_destroy(temp);
 }
 
-/* tdm_helper_dump_start */
-TEST(tdm_helper_dump_stop, work_flow_success_1)
+TEST_P(TDMHelper, HelperConvertBufferRotate90)
 {
-       _init_test();
-       tdm_dump_enable = 0;
+       tbm_surface_h buffer, temp;
+       tdm_pos sp, dp;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       temp = tbm_surface_create(TDM_UT_BUFFER_SIZE * 2, TDM_UT_BUFFER_SIZE * 2, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(temp, NULL);
+
+       sp.x = sp.y = 0, sp.w = sp.h = TDM_UT_BUFFER_SIZE;
+       dp.x = dp.y = 0, dp.w = dp.h = TDM_UT_BUFFER_SIZE * 2;
+
+       ASSERT_EQ(tdm_helper_convert_buffer(buffer, temp, &sp, &dp, TDM_TRANSFORM_90, 0), TDM_ERROR_NONE);
+
+       tdm_helper_dump_buffer_str(temp, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
+       tbm_surface_destroy(temp);
+}
+
+TEST_P(TDMHelper, HelperConvertBufferRotate180)
+{
+       tbm_surface_h buffer, temp;
+       tdm_pos sp, dp;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       temp = tbm_surface_create(TDM_UT_BUFFER_SIZE * 2, TDM_UT_BUFFER_SIZE * 2, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(temp, NULL);
+
+       sp.x = sp.y = 0, sp.w = sp.h = TDM_UT_BUFFER_SIZE;
+       dp.x = dp.y = 0, dp.w = dp.h = TDM_UT_BUFFER_SIZE * 2;
+
+       ASSERT_EQ(tdm_helper_convert_buffer(buffer, temp, &sp, &dp, TDM_TRANSFORM_180, 0), TDM_ERROR_NONE);
+
+       tdm_helper_dump_buffer_str(temp, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
+       tbm_surface_destroy(temp);
+}
+
+TEST_P(TDMHelper, HelperConvertBufferRotate270)
+{
+       tbm_surface_h buffer, temp;
+       tdm_pos sp, dp;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(buffer, NULL);
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       temp = tbm_surface_create(TDM_UT_BUFFER_SIZE * 2, TDM_UT_BUFFER_SIZE * 2, TBM_FORMAT_ARGB8888);
+       ASSERT_NE(temp, NULL);
+
+       sp.x = sp.y = 0, sp.w = sp.h = TDM_UT_BUFFER_SIZE;
+       dp.x = dp.y = 0, dp.w = dp.h = TDM_UT_BUFFER_SIZE * 2;
+
+       ASSERT_EQ(tdm_helper_convert_buffer(buffer, temp, &sp, &dp, TDM_TRANSFORM_270, 0), TDM_ERROR_NONE);
+
+       tdm_helper_dump_buffer_str(temp, NULL, (char*)typeid(*this).name());
+
+       tbm_surface_destroy(buffer);
+       tbm_surface_destroy(temp);
+}
+
+TEST_P(TDMHelper, HelperConvertBufferYUV420)
+{
+       tbm_surface_h buffer, temp;
+       tdm_pos sp, dp;
+
+       buffer = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_YUV420);
+       ASSERT_NE(buffer, NULL);
+       tdm_test_buffer_fill(buffer, PATTERN_SMPTE);
+
+       temp = tbm_surface_create(TDM_UT_BUFFER_SIZE * 2, TDM_UT_BUFFER_SIZE * 2, TBM_FORMAT_YUV420);
+       ASSERT_NE(temp, NULL);
+
+       sp.x = sp.y = 0, sp.w = sp.h = TDM_UT_BUFFER_SIZE;
+       dp.x = dp.y = 0, dp.w = dp.h = TDM_UT_BUFFER_SIZE * 2;
+
+       ASSERT_EQ(tdm_helper_convert_buffer(buffer, temp, &sp, &dp, TDM_TRANSFORM_NORMAL, 0), TDM_ERROR_OPERATION_FAILED);
+
+       tbm_surface_destroy(buffer);
+       tbm_surface_destroy(temp);
+}
+
+TEST_P(TDMHelper, HelperGetFD)
+{
+       int fd = tdm_helper_get_fd("TDM_DRM_MASTER_FD");
+       ASSERT_GE(fd, 0);
+       close(fd);
+       fd = tdm_helper_get_fd("BLURBLUR");
+       ASSERT_EQ(fd, -1);
+}
+
+TEST_P(TDMHelper, HelperSetFD)
+{
+       tdm_helper_set_fd("TDM_DRM_MASTER_FD", -1);
+       tdm_helper_set_fd("BLURBLUR", -1);
+}
+
+TEST_P(TDMHelper, HelperDumpStart)
+{
+       char path[256];
+       int count = 0;
+       snprintf(path, sizeof path, "blurblur");
+       tdm_helper_dump_start(path, &count);
        tdm_helper_dump_stop();
-       ASSERT_EQ(tdm_dump_enable, 0);
-}
+}
 
-tdm_error stub_output_get_mode(tdm_output *output, const tdm_output_mode **mode)
-{
-       static tdm_output_mode cmode;
-       *mode = &cmode;
-       return TDM_ERROR_NONE;
-}
+static void
+_ut_tdm_helper_capture_cb(tbm_surface_h buffer, void *user_data)
+{
+}
 
-tdm_error stub_output_get_property(tdm_output *output, unsigned int id, tdm_value *value)
+TEST_P(TDMHelper, HelperCaptureOutput)
 {
-       (tdm_output *)output;
-       (unsigned int)id;
-       value->s32 = 1;
-       return TDM_ERROR_NONE;
+       tdm_error ret;
+       tdm_output *output;
+
+       for (int o = 0; o < output_count; o++) {
+               tbm_surface_h dump;
+
+               output = tdm_display_get_output(dpy, o, &ret);
+               ASSERT_EQ(ret, TDM_ERROR_NONE);
+               ASSERT_NE(output, NULL);
+
+               if (!ut_tdm_output_is_connected(output))
+                       continue;
+
+               ASSERT_EQ(ut_tdm_output_prepare(dpy, output, true), true);
+
+               dump = tbm_surface_create(TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE, TBM_FORMAT_ARGB8888);
+               ASSERT_NE(dump, NULL);
+
+               ASSERT_EQ(tdm_helper_capture_output(output, dump, 0, 0, TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE,
+                                                                                       _ut_tdm_helper_capture_cb, NULL), TDM_ERROR_NONE);
+
+               tdm_helper_dump_buffer_str(dump, NULL, (char*)typeid(*this).name());
+
+               tbm_surface_destroy(dump);
+       }
 }
 
-tdm_error stub_layer_get_property(tdm_layer *layer, unsigned int id, tdm_value *value)
+
+TEST_P(TDMHelper, HelperCaptureOutputNullObject)
 {
-       (tdm_layer *)layer;
-       (unsigned int)id;
-       value->s32 = 1;
-       return TDM_ERROR_NONE;
+       tbm_surface_h dump = (tbm_surface_h)TDM_UT_INVALID_VALUE;
+
+       ASSERT_EQ(tdm_helper_capture_output(NULL, dump, 0, 0, TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE,
+                                                                               _ut_tdm_helper_capture_cb, NULL), TDM_ERROR_INVALID_PARAMETER);
 }
 
-tdm_error stub_layer_get_info(tdm_layer *layer, tdm_info_layer *info)
+TEST_P(TDMHelper, HelperCaptureOutputNullOther)
 {
-       (tdm_layer *)layer;
-       (tdm_info_layer *)info;
-       return TDM_ERROR_NONE;
+       for (int o = 0; o < output_count; o++) {
+               tdm_error ret;
+               tdm_output *output = tdm_display_get_output(dpy, o, &ret);
+               ASSERT_EQ(ret, TDM_ERROR_NONE);
+               ASSERT_NE(output, NULL);
+               tdm_helper_output_commit_per_vblank_enabled(output);
+       }
+
+       tbm_surface_h dump = (tbm_surface_h)TDM_UT_INVALID_VALUE;
+
+       ASSERT_EQ(tdm_helper_capture_output(NULL, dump, 0, 0, TDM_UT_BUFFER_SIZE, TDM_UT_BUFFER_SIZE,
+                                                                               _ut_tdm_helper_capture_cb, NULL), TDM_ERROR_INVALID_PARAMETER);
 }
 
+TEST_P(TDMHelper, HelperGetDisplayInformation)
+{
+       char reply[8192];
+       int len = sizeof reply;
+
+       for (int o = 0; o < output_count; o++) {
+               tdm_error ret;
+               tdm_output *output = tdm_display_get_output(dpy, o, &ret);
+               ASSERT_EQ(ret, TDM_ERROR_NONE);
+               ASSERT_NE(output, NULL);
+               if (!ut_tdm_output_is_connected(output))
+                       continue;
+               ASSERT_EQ(ut_tdm_output_prepare(dpy, output, true), true);
+       }
+
+       tdm_helper_get_display_information(dpy, reply, &len);
+       TDM_INFO("%s", reply);
+}
 
-/* tdm_helper_get_display_information */
-TEST(tdm_helper_get_display_information, work_flow_success_1)
-{
-       tdm_private_display disp;
-       tdm_backend_module module;
-       tdm_private_output output;
-       tdm_private_layer layer;
-       tdm_private_pp pp;
-       tdm_private_capture capture;
-       tdm_output_mode output_mode;
-       tdm_prop prop;
-       tdm_info_layer info;
-       tdm_private_display *private_display = &disp;
-       tbm_format formats[2] = {TBM_FORMAT_ABGR8888, 0};
-
-       memset(&disp, 0, sizeof(disp));
-       memset(&module, 0, sizeof(module));
-       memset(&output, 0, sizeof(output));
-       memset(&layer, 0, sizeof(layer));
-       memset(&pp, 0, sizeof(pp));
-       memset(&capture, 0, sizeof(capture));
-       memset(&output_mode, 0, sizeof(output_mode));
-       memset(&prop, 0, sizeof(prop));
-       memset(&info, 0, sizeof(info));
+TEST_P(TDMHelper, HelperGetDisplayInformationNullObject)
+{
+       char reply[8192];
+       int len = sizeof reply;
+
+       tdm_helper_get_display_information(NULL, reply, &len);
+}
 
-       int  len = 1024;
-       char rep[len];
+TEST_P(TDMHelper, HelperGetDisplayInformationNullOther)
+{
+       tdm_helper_get_display_information(dpy, NULL, NULL);
+}
 
-       _init_test();
+TEST_P(TDMHelper, HelperCommitPerVblankEnabled)
+{
+       ASSERT_EQ(tdm_helper_commit_per_vblank_enabled(dpy), 0);
+}
 
-       //init disp
-       private_display->capabilities =  TDM_DISPLAY_CAPABILITY_PP | TDM_DISPLAY_CAPABILITY_CAPTURE;
-       LIST_INITHEAD(&private_display->output_list);
-       LIST_INITHEAD(&private_display->pp_list);
-       LIST_INITHEAD(&private_display->capture_list);
+TEST_P(TDMHelper, HelperCommitPerVblankEnabledNullOBject)
+{
+       ASSERT_EQ(tdm_helper_commit_per_vblank_enabled(NULL), 0);
+}
 
-       //init module
-       private_display->module_data = &module;
-       module.abi_version = 0x00010001;
-       module.name = "test";
-       module.vendor = "test";
-
-       //init output
-       LIST_ADDTAIL(&output.link, &private_display->output_list);
-       LIST_INITHEAD(&output.capture_list);
-       LIST_INITHEAD(&output.layer_list);
-       output.caps.mode_count = 1;
-       output.caps.modes = &output_mode;
-       output.caps.prop_count = 1;
-       output.caps.props = &prop;
-       memset(&output_mode, 0, sizeof(output_mode));
-       private_display->func_output.output_get_mode = stub_output_get_mode;
-       private_display->func_output.output_get_property = stub_output_get_property;
-
-       //init layer
-       LIST_ADDTAIL(&layer.link, &output.layer_list);
-       layer.usable = 0;
-       layer.caps.format_count = 2;
-       layer.caps.formats = formats;
-       layer.caps.prop_count = 1;
-       layer.caps.props = &prop;
-       private_display->func_layer.layer_get_info = stub_layer_get_info;
-       private_display->func_layer.layer_get_property = stub_layer_get_property;
-
-       //init pp
-       LIST_ADDTAIL(&pp.link, &private_display->pp_list);
-       private_display->caps_pp.format_count = 2;
-       private_display->caps_pp.formats = formats;
-
-       //init capture
-       LIST_ADDTAIL(&capture.link, &private_display->capture_list);
-       private_display->caps_capture.format_count = 2;
-       private_display->caps_capture.formats = formats;
-
-       tdm_helper_get_display_information(private_display, rep, &len);
-}
-
-static int stub_tdm_helper_capture_handler_is_called = 0;
-static void stub_tdm_helper_capture_handler(tbm_surface_h buffer, void *user_data)
-{
-       stub_tdm_helper_capture_handler_is_called = 1;
-}
-
-/* tdm_helper_capture_output */
-TEST(tdm_helper_capture_output, work_flow_success_1)
-{
-       tdm_error error;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_private_layer layer;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       memset(&output, 0, sizeof(output));
-       memset(&layer, 0, sizeof(layer));
-
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       dst_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-
-       //init output
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADDTAIL(&layer.link, &output.layer_list);
-       output.private_display = &display;
-//     layer.showing_buffer = (tbm_surface_h)&src_surface;
-       layer.private_output = &output;
-       layer.private_display = &display;
-
-
-       error = tdm_helper_capture_output(&output, (tbm_surface_h)&dst_surface, 0, 0, 10, 10, stub_tdm_helper_capture_handler, &layer);
-
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_EQ(1, stub_tdm_helper_capture_handler_is_called);
-}
-
-TEST(tdm_helper_capture_output, work_flow_error_1___no_layer)
-{
-       tdm_error error;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_private_layer layer;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       memset(&output, 0, sizeof(output));
-       memset(&layer, 0, sizeof(layer));
-
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       dst_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-
-       //init output
-       LIST_INITHEAD(&output.layer_list);
-       output.private_display = &display;
-//     layer.showing_buffer = (tbm_surface_h)&src_surface;
-       layer.private_output = &output;
-       layer.private_display = &display;
-
-
-       error = tdm_helper_capture_output(&output, (tbm_surface_h)&dst_surface, 0, 0, 10, 10, stub_tdm_helper_capture_handler, &layer);
-
-       ASSERT_NE(TDM_ERROR_NONE, error);
-}
-
-TEST(tdm_helper_capture_output, work_flow_error_2___wrong_buffer_format)
-{
-       tdm_error error;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_private_layer layer;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       memset(&output, 0, sizeof(output));
-       memset(&layer, 0, sizeof(layer));
-
-       src_surface.info.format = TBM_FORMAT_XRGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       src_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-
-       //init output
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADDTAIL(&layer.link, &output.layer_list);
-       output.private_display = &display;
-//     layer.showing_buffer = (tbm_surface_h)&src_surface;
-       layer.private_output = &output;
-       layer.private_display = &display;
-
-       dst_surface.info.format = TBM_FORMAT_YUV410;
-       error = tdm_helper_capture_output(&output, (tbm_surface_h)&dst_surface, 0, 0, 10, 10, stub_tdm_helper_capture_handler, &layer);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-}
-
-TEST(tdm_helper_capture_output, work_flow_error_2___tbm_surface_map)
-{
-       tdm_error error;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_private_layer layer;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       memset(&output, 0, sizeof(output));
-       memset(&layer, 0, sizeof(layer));
-
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       dst_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-
-       //init output
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADDTAIL(&layer.link, &output.layer_list);
-       output.private_display = &display;
-//     layer.showing_buffer = (tbm_surface_h)&src_surface;
-       layer.private_output = &output;
-       layer.private_display = &display;
-
-
-       dst_surface.info.num_planes = 0;
-       error = tdm_helper_capture_output(&output, (tbm_surface_h)&dst_surface, 0, 0, 10, 10, stub_tdm_helper_capture_handler, &layer);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       dst_surface.info.num_planes = 1;
-
-       src_surface.info.num_planes = 0;
-       error = tdm_helper_capture_output(&output, (tbm_surface_h)&dst_surface, 0, 0, 10, 10, stub_tdm_helper_capture_handler, &layer);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-}
-
-/* tdm_helper_convert_buffer */
-TEST(tdm_helper_convert_buffer, work_flow_success_1)
-{
-       tdm_error error;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       tdm_pos src_pos = {0, 0, 100, 100};
-       tdm_pos dst_pos = {0, 0, 100, 100};
-
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       dst_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_90, 0);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_180, 0);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED_270, 0);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-}
-
-
-TEST(tdm_helper_convert_buffer, work_flow_error_1__NULL)
-{
-       tdm_error error;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       tdm_pos src_pos = {0, 0, 100, 100};
-       tdm_pos dst_pos = {0, 0, 100, 100};
-
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       dst_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-       error = tdm_helper_convert_buffer(NULL, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       error = tdm_helper_convert_buffer(&src_surface, NULL, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-}
-
-TEST(tdm_helper_convert_buffer, work_flow_error_1___wrong_buffers)
-{
-       tdm_error error;
-       int src_mem[100][100];
-       int dst_mem[100][100];
-       struct _tbm_surface src_surface;
-       struct _tbm_surface dst_surface;
-       tdm_pos src_pos = {0, 0, 100, 100};
-       tdm_pos dst_pos = {0, 0, 100, 100};
-
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-       src_surface.info.width = 100;
-       src_surface.info.height = 100;
-       src_surface.info.num_planes = 1;
-       src_surface.info.planes[0].ptr = (unsigned char*)src_mem;
-       src_surface.info.planes[0].stride = src_surface.info.width * 4;
-
-       dst_surface.info.format = TBM_FORMAT_XRGB8888;
-       dst_surface.info.width = 100;
-       dst_surface.info.height = 100;
-       dst_surface.info.num_planes = 1;
-       dst_surface.info.planes[0].ptr = (unsigned char*)dst_mem;
-       dst_surface.info.planes[0].stride = dst_surface.info.width * 4;
-
-       _init_test();
-
-       //fail map of src buffer
-       src_surface.info.num_planes = 0;
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       src_surface.info.num_planes = 1;
-
-       //fail map of dst buffer
-       dst_surface.info.num_planes = 0;
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       dst_surface.info.num_planes = 1;
-
-       //wrong format of src buffer
-       src_surface.info.format = TBM_FORMAT_YUV410;
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       src_surface.info.format = TBM_FORMAT_ARGB8888;
-
-       //wrong format of dst buffer
-       dst_surface.info.format = TBM_FORMAT_YUV410;
-       error = tdm_helper_convert_buffer(&src_surface, &dst_surface, &src_pos, &dst_pos, TDM_TRANSFORM_FLIPPED, 0);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       dst_surface.info.format = TBM_FORMAT_ARGB8888;
-}
-
-
-/* tdm_helper_clear_buffer_pos */
-TEST(tdm_helper_clear_buffer_pos, work_flow_success_1)
-{
-       int mem1[100*100*3];
-       int mem2[100*100*3];
-       int mem3[100*100*3];
-       struct _tbm_surface surface;
-       tdm_pos pos = {1, 0, 9, 10};
-
-       surface.info.width = 10;
-       surface.info.height = 10;
-       surface.info.num_planes = 1;
-       surface.info.planes[0].ptr = (unsigned char*)mem1;
-       surface.info.planes[0].stride = surface.info.width * 4;
-       surface.info.planes[1].ptr = (unsigned char*)mem2;
-       surface.info.planes[1].stride = surface.info.width * 4;
-       surface.info.planes[2].ptr = (unsigned char*)mem3;
-       surface.info.planes[2].stride = surface.info.width * 4;
-
-       _init_test();
-
-       surface.info.format = TBM_FORMAT_ARGB8888;
-       memset(mem1, 0x77, sizeof(mem1));
-       memset(mem2, 0x77, sizeof(mem2));
-       memset(mem3, 0x77, sizeof(mem3));
-       tdm_helper_clear_buffer_pos(&surface, &pos);
-       EXPECT_EQ(0, mem1[100+1]);
-       EXPECT_EQ(0x77777777, mem1[0]);
-       EXPECT_EQ(0x77777777, mem2[0]);
-       EXPECT_EQ(0x77777777, mem3[0]);
-
-
-       surface.info.format = TBM_FORMAT_YVU420;
-       memset(mem1, 0x77, sizeof(mem1));
-       memset(mem2, 0x77, sizeof(mem2));
-       memset(mem3, 0x77, sizeof(mem3));
-       tdm_helper_clear_buffer_pos(&surface, NULL);
-       EXPECT_EQ(0x10101010, mem1[0]);
-       EXPECT_EQ(0x80808080, mem2[0]);
-       EXPECT_EQ(0x80808080, mem3[0]);
-
-       surface.info.format = TBM_FORMAT_NV12;
-       memset(mem1, 0x77, sizeof(mem1));
-       memset(mem2, 0x77, sizeof(mem2));
-       memset(mem3, 0x77, sizeof(mem3));
-       tdm_helper_clear_buffer_pos(&surface, NULL);
-       EXPECT_EQ(0x10101010, mem1[0]);
-       EXPECT_EQ(0x80808080, mem2[0]);
-       EXPECT_EQ(0x77777777, mem3[0]);
-
-       surface.info.format = TBM_FORMAT_UYVY;
-       memset(mem2, 0x77, sizeof(mem2));
-       memset(mem3, 0x77, sizeof(mem3));
-       tdm_helper_clear_buffer_pos(&surface, NULL);
-       EXPECT_EQ(0x80108010, mem1[0]);
-       EXPECT_EQ(0x77777777, mem2[0]);
-       EXPECT_EQ(0x77777777, mem3[0]);
-
-       surface.info.format = TBM_FORMAT_YUYV;
-       memset(mem1, 0x77, sizeof(mem1));
-       memset(mem2, 0x77, sizeof(mem2));
-       memset(mem3, 0x77, sizeof(mem3));
-       tdm_helper_clear_buffer_pos(&surface, NULL);
-       EXPECT_EQ(0x10801080, mem1[0]);
-       EXPECT_EQ(0x77777777, mem2[0]);
-       EXPECT_EQ(0x77777777, mem3[0]);
-
-       surface.info.format = TBM_FORMAT_YVU411;
-       memset(mem1, 0x77, sizeof(mem1));
-       memset(mem2, 0x77, sizeof(mem2));
-       memset(mem3, 0x77, sizeof(mem3));
-       tdm_helper_clear_buffer_pos(&surface, NULL);
-       EXPECT_EQ(0x77777777, mem1[0]);
-       EXPECT_EQ(0x77777777, mem2[0]);
-       EXPECT_EQ(0x77777777, mem3[0]);
-}
-
-
-/* tdm_helper_clear_buffer */
-TEST(tdm_helper_clear_buffer, work_flow_success_1)
-{
-       int mem1[100*100*3];
-       struct _tbm_surface surface;
-
-       surface.info.width = 10;
-       surface.info.height = 10;
-       surface.info.num_planes = 1;
-       surface.info.planes[0].ptr = (unsigned char*)mem1;
-       surface.info.planes[0].stride = surface.info.width * 4;
-
-       _init_test();
-
-       surface.info.format = TBM_FORMAT_ARGB8888;
-       memset(mem1, 0x77, sizeof(mem1));
-       tdm_helper_clear_buffer(&surface);
-       EXPECT_EQ(0, mem1[0]);
-}
-
-/* tdm_helper_dump_buffer */
-//TEST(tdm_helper_dump_buffer, work_flow_success_1)
-//{
-//     int mem1[10*10*3];
-//     int mem2[10*10*3];
-//     int mem3[10*10*3];
-//     struct _tbm_surface surface;
-//
-//     surface.info.width = 10;
-//     surface.info.height = 10;
-//     surface.info.num_planes = 1;
-//     surface.info.planes[0].ptr = (unsigned char*)mem1;
-//     surface.info.planes[0].stride = surface.info.width * 4;
-//     surface.info.planes[1].ptr = (unsigned char*)mem2;
-//     surface.info.planes[1].stride = surface.info.width * 4;
-//     surface.info.planes[2].ptr = (unsigned char*)mem3;
-//     surface.info.planes[2].stride = surface.info.width * 4;
-//
-//     _init_test();
-//
-//     surface.info.format = TBM_FORMAT_ARGB8888;
-//     tdm_helper_dump_buffer(&surface, "tmp.png");
-//
-//     surface.info.format = TBM_FORMAT_YVU420;
-//     tdm_helper_dump_buffer(&surface, "tmp.yuv");
-//
-//     surface.info.format = TBM_FORMAT_NV12;
-//     tdm_helper_dump_buffer(&surface, "tmp.yuv");
-//
-//     surface.info.format = TBM_FORMAT_YUYV;
-//     tdm_helper_dump_buffer(&surface, "tmp.yuv");
-//
-//     surface.info.format = TBM_FORMAT_YVU411;
-//     tdm_helper_dump_buffer(&surface, "tmp.yuv");
-//
-//}
-
-/* tdm_helper_dump_buffer */
-TEST(tdm_helper_dump_buffer, work_flow_error_1___NULL)
-{
-       struct _tbm_surface surface;
-       char str[1024] = {'t', 'm', 'p', 0};
-
-       _init_test();
-
-       tdm_helper_dump_buffer(&surface, "tmp.yuv");
-       tdm_helper_dump_buffer(NULL, str);
+TEST_P(TDMHelper, HelperOutputCommitPerVblankEnabledNullObject)
+{
+       ASSERT_EQ(tdm_helper_output_commit_per_vblank_enabled(NULL), -1);
 }
 
+#ifdef TDM_UT_TEST_WITH_PARAMS
+INSTANTIATE_TEST_CASE_P(TDMHelperParams,
+                                               TDMHelper,
+                                               Combine(Bool(), Bool(), Values(TDM_DEFAULT_MODULE)));
+#else
+INSTANTIATE_TEST_CASE_P(TDMHelperParams,
+                                               TDMHelper,
+                                               Values(TDM_DEFAULT_MODULE));
+#endif
+
+/* LCOV_EXCL_END */
\ No newline at end of file