[utest] Rework unit-test based on blackbox method. Removed stubs, wrappers. Added... 54/159054/4
authorAndrii Sokolenko <a.sokolenko@samsung.com>
Mon, 6 Nov 2017 16:44:55 +0000 (18:44 +0200)
committerKonstantin Drabeniuk <k.drabeniuk@samsung.com>
Tue, 7 Nov 2017 12:24:33 +0000 (14:24 +0200)
Change-Id: Id5b1e9f90a47ec55f985416057acc1e338971714
Signed-off-by: Andrii Sokolenko <a.sokolenko@samsung.com>
50 files changed:
utests/Makefile.am
utests/src/ut_common.h [new file with mode: 0644]
utests/src/ut_main.cpp [moved from utests/src/main_tests.cpp with 90% similarity]
utests/src/ut_tdm.cpp
utests/src/ut_tdm_backend.cpp [deleted file]
utests/src/ut_tdm_buffer.cpp [deleted file]
utests/src/ut_tdm_capture.cpp
utests/src/ut_tdm_display.cpp [deleted file]
utests/src/ut_tdm_event_loop.cpp [deleted file]
utests/src/ut_tdm_helper.cpp [deleted file]
utests/src/ut_tdm_layer.cpp [new file with mode: 0644]
utests/src/ut_tdm_output.cpp [new file with mode: 0644]
utests/src/ut_tdm_pp.cpp
utests/src/ut_tdm_thread.cpp [deleted file]
utests/src/ut_tdm_vblank.cpp [deleted file]
utests/stubs/stub_backend.cpp [deleted file]
utests/stubs/stub_backend.h [deleted file]
utests/stubs/stub_dlfcn.cpp [deleted file]
utests/stubs/stub_dlfcn.h [deleted file]
utests/stubs/stub_fcntl.h [deleted file]
utests/stubs/stub_pthread.cpp [deleted file]
utests/stubs/stub_pthread.h [deleted file]
utests/stubs/stub_stdio.h [deleted file]
utests/stubs/stub_stdlib.cpp [deleted file]
utests/stubs/stub_stdlib.h [deleted file]
utests/stubs/stub_tdm.h [deleted file]
utests/stubs/stub_tdm_buffer.h [deleted file]
utests/stubs/stub_tdm_capture.h [deleted file]
utests/stubs/stub_tdm_display.h [deleted file]
utests/stubs/stub_tdm_event_loop.h [deleted file]
utests/stubs/stub_tdm_helper.h [deleted file]
utests/stubs/stub_tdm_pp.h [deleted file]
utests/stubs/stub_tdm_server.h [deleted file]
utests/stubs/stub_tdm_thread.h [deleted file]
utests/stubs/stub_tdm_vblank.h [deleted file]
utests/stubs/stub_unistd.cpp [deleted file]
utests/stubs/stub_unistd.h [deleted file]
utests/stubs/tbm_bufmgr.h [deleted file]
utests/stubs/tbm_stubs.cpp [deleted file]
utests/stubs/tbm_stubs.h [deleted file]
utests/stubs/tbm_surface.h [deleted file]
utests/stubs/tbm_surface_internal.h [deleted file]
utests/stubs/tbm_surface_queue.h [deleted file]
utests/stubs/tbm_type.h [deleted file]
utests/stubs/tdm_backend_module_subs.cpp [deleted file]
utests/stubs/tdm_event_loop_stubs.h [deleted file]
utests/stubs/tdm_log.cpp [deleted file]
utests/stubs/tdm_server.cpp [deleted file]
utests/stubs/wayland-server-core.h [deleted file]
utests/stubs/wayland-tbm-drm-auth-client-protocol.h [deleted file]

index 2588801..3357e0c 100644 (file)
@@ -1,26 +1,12 @@
 bin_PROGRAMS = tdm-utests
 
 tdm_utests_SOURCES = \
-       src/main_tests.cpp \
+       src/ut_main.cpp \
        src/ut_tdm.cpp \
-       src/ut_tdm_backend.cpp \
-       src/ut_tdm_buffer.cpp \
-       src/ut_tdm_capture.cpp \
-       src/ut_tdm_display.cpp \
-       src/ut_tdm_event_loop.cpp \
-       src/ut_tdm_helper.cpp \
        src/ut_tdm_pp.cpp \
-       src/ut_tdm_thread.cpp \
-       src/ut_tdm_vblank.cpp \
-       stubs/tbm_stubs.cpp \
-       stubs/tdm_log.cpp \
-       stubs/tdm_server.cpp \
-       stubs/stub_pthread.cpp \
-       stubs/stub_dlfcn.cpp \
-       stubs/stub_stdlib.cpp \
-       stubs/tdm_backend_module_subs.cpp \
-       stubs/stub_unistd.cpp \
-       stubs/stub_backend.cpp
+       src/ut_tdm_capture.cpp \
+       src/ut_tdm_output.cpp \
+       src/ut_tdm_layer.cpp
 
 tdm_utests_CXXFLAGS = \
        $(CXXFLAGS) \
@@ -28,9 +14,10 @@ tdm_utests_CXXFLAGS = \
        -I../src \
        -I../include \
        -I./src \
-       -I./stubs \
        -I$(includedir)/gtest \
        -fpermissive \
+       -rdynamic \
+       -UFAIL_ON_UNSUPPORTED \
        -w
 # The flag -w is used, because there are many warnings in libtdm's sources.
 # Warnings occur because we build project with g++.
@@ -39,9 +26,8 @@ tdm_utests_CXXFLAGS = \
 tdm_utests_LDFLAGS = \
        ${LDFLAGS} \
        $(TDM_LIBS) \
-       -lgtest \
-       -ldl \
-       -pthread
+       $(top_builddir)/src/libtdm.la \
+       -lgtest
 
 check:
        ./tdm-utests
diff --git a/utests/src/ut_common.h b/utests/src/ut_common.h
new file mode 100644 (file)
index 0000000..c30269d
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef UT_COMMON_H
+#define UT_COMMON_H
+#define CHECK_FLAG(FLAG) \
+do {\
+  if(!FLAG) {\
+        std::cout << "[  SKIPPED ]" << " not supported" << std::endl;\
+        return;\
+  }\
+} while(0)
+#endif // UT_COMMON_H
similarity index 90%
rename from utests/src/main_tests.cpp
rename to utests/src/ut_main.cpp
index 50d2725..b6aeb4a 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
@@ -31,5 +33,6 @@
 int main(int argc, char **argv)
 {
        ::testing::InitGoogleTest(&argc, argv);
+       ::testing::FLAGS_gtest_death_test_style = "threadsafe";
        return RUN_ALL_TESTS();
 }
index 9110ca6..6a6ead6 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 "../stubs/stub_dlfcn.h"
 #include "gtest/gtest.h"
-
-/*------ stubs -----------------*/
-#include "tdm_event_loop_stubs.h"
-#include "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_tdm_vblank.h"
-#include "stub_stdlib.h"
-#include "stub_stdio.h"
-#include "stub_unistd.h"
-#include "tdm_event_loop_stubs.h"
-#include "tdm.c"
-/*------ tested file -----------*/
-
-static void _init_test()
+#include "tdm.h"
+
+class TDMInit : public ::testing::Test {
+protected:
+       void SetUp(void)
+       {
+               setenv("TDM_DLOG", "1", 1);
+               setenv("XDG_RUNTIME_DIR", ".", 1);
+               setenv("TBM_DLOG", "1", 1);
+       }
+       void TearDown(void)
+       {
+       }
+};
+
+class TDMDefault : public ::testing::Test {
+protected:
+       tdm_display *dpy = NULL;
+       void SetUp(void)
+       {
+               setenv("TDM_DLOG", "1", 1);
+               setenv("XDG_RUNTIME_DIR", ".", 1);
+               setenv("TBM_DLOG", "1", 1);
+               tdm_error error = TDM_ERROR_NONE;
+               dpy = tdm_display_init(&error);
+               ASSERT_TRUE(error == TDM_ERROR_NONE);
+               ASSERT_FALSE(dpy == NULL);
+       }
+       void TearDown(void)
+       {
+               tdm_display_deinit(dpy);
+               dpy = NULL;
+       }
+};
+
+
+TEST_F(TDMInit, DisplayInitDeinitSuccessful)
 {
-       stub_pthread_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-
-       stub_dlfcn_init();
-       stub_stdio_init();
-       stub_tdm_vblank_init();
-       g_private_display = NULL;
+       tdm_error error = TDM_ERROR_NONE;
+       tdm_display *dpy = tdm_display_init(&error);
+       ASSERT_TRUE(error == TDM_ERROR_NONE);
+       ASSERT_FALSE(dpy == NULL);
+       tdm_display_deinit(dpy);
+       dpy = NULL;
 }
 
-extern tdm_backend_module tdm_backend_module_stub;
-
-
-/* tdm_display_update */
-
-TEST(tdm_display_update, work_flow_success_1)
+TEST_F(TDMInit, DisplayInitDeinitSuccessfulNullError)
 {
        tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_update(NULL);
-
-       ASSERT_EQ(error, expected_error);
+       tdm_display *dpy = tdm_display_init(NULL);
+       ASSERT_TRUE(error == TDM_ERROR_NONE);
+       ASSERT_FALSE(dpy == NULL);
+       tdm_display_deinit(dpy);
+       dpy = NULL;
 }
 
-/* tdm_display_init() */
-TEST(tdm_display_init, work_flow_success_1___first_call)
+TEST_F(TDMInit, DisplayInitDeinitSuccessfulFewTimes)
 {
-       tdm_error error = TDM_ERROR_BAD_REQUEST;
-       tdm_display *disp;
-
-       _init_test();
-
-       //to download tdm_backend_module;
-       stub_dlfcn_ctrl.dlopen_returned_val = (void*)1;
-       stub_dlfcn_ctrl.dlsym_returned_val = &tdm_backend_module_stub;
-
-       setenv("TDM_DEBUG_MODULE", "all", 1);
-       setenv("TDM_DEBUG_DUMP", "capture,pp,layer,all", 1);
-       setenv("TDM_DEBUG_PATH", "log.txt", 1);
-       stub_getenv_return_real_value = 1;
-
-       disp = tdm_display_init(&error);
-
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(g_private_display != NULL);
-       ASSERT_TRUE(g_private_display == disp);
-       ASSERT_EQ(1, g_private_display->init_count);
+       for (int i = 0; i < 20; ++i) {
+               tdm_error error = TDM_ERROR_NONE;
+               tdm_display *dpy = tdm_display_init(&error);
+               ASSERT_TRUE(error == TDM_ERROR_NONE);
+               ASSERT_FALSE(dpy == NULL);
+               tdm_display_deinit(dpy);
+               dpy = NULL;
+       }
 }
 
-TEST(tdm_display_init, work_flow_success_2___second_call)
+TEST_F(TDMInit, DisplayDeinitSuccessfulNullDpy)
 {
-       tdm_error error = TDM_ERROR_BAD_REQUEST;
-       tdm_display *disp;
-       tdm_private_display display;
-
-       _init_test();
-       memset(&display, 0, sizeof(display));
-       g_private_display = &display;
-       g_private_display->init_count = 1;
-
-       disp = tdm_display_init(&error);
-
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(g_private_display != NULL);
-       ASSERT_TRUE(g_private_display == disp);
-       ASSERT_EQ(2, g_private_display->init_count);
+       tdm_error error = TDM_ERROR_NONE;
+       tdm_display *dpy = tdm_display_init(&error);
+       ASSERT_TRUE(error == TDM_ERROR_NONE);
+       ASSERT_FALSE(dpy == NULL);
+       tdm_display_deinit(NULL);
+       tdm_display_deinit(dpy);
+       dpy = NULL;
 }
 
-
-TEST(tdm_display_init, work_flow_error_1___calloc_error)
+TEST_F(TDMInit, DisplayDeinitDeathWrongDpy)
 {
-       tdm_error error = TDM_ERROR_BAD_REQUEST;
-       tdm_display *disp;
-
-       _init_test();
-       CALLOC_ERROR = 1;
-
-       disp = tdm_display_init(&error);
-
-       ASSERT_EQ(TDM_ERROR_OUT_OF_MEMORY, error);
-       ASSERT_TRUE(disp == NULL);
-       ASSERT_TRUE(g_private_display == NULL);
+       tdm_error error = TDM_ERROR_NONE;
+       tdm_display *dpy = tdm_display_init(&error);
+       ASSERT_TRUE(error == TDM_ERROR_NONE);
+       ASSERT_FALSE(dpy == NULL);
+       tdm_display *wrong_dpy = 0xBEAF;
+       EXPECT_DEATH(tdm_display_deinit(wrong_dpy), "");
+       tdm_display_deinit(dpy);
+       dpy = NULL;
 }
 
-TEST(tdm_display_init, work_flow_error_2___mutex_init_error)
+TEST_F(TDMDefault, DisplayUpdateSuccessful)
 {
-       tdm_error error = TDM_ERROR_BAD_REQUEST;
-       tdm_display *disp;
-
-       _init_test();
-       PTHREAD_MUTEX_INIT_ERROR = 1;
-
-       disp = tdm_display_init(&error);
-
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(disp == NULL);
-       ASSERT_TRUE(g_private_display == NULL);
+       ASSERT_TRUE(tdm_display_update(dpy) == TDM_ERROR_NONE);
 }
 
-/* tdm_display_deinit */
-
-TEST(tdm_display_deinit, work_flow_success_1___init_count_more_then_one)
+TEST_F(TDMDefault, DisplayUpdateFailNullDpy)
 {
-       tdm_private_display *dpy;
-       unsigned int expected = 2;
-       unsigned int actual;
-
-       _init_test();
-
-       dpy = (tdm_private_display *)calloc(1, sizeof(tdm_private_display));
-       g_private_display = dpy;
-       dpy->init_count = 3;
-
-       tdm_display_deinit(dpy);
-
-       actual = dpy->init_count;
-
-       free(dpy);
-
-       ASSERT_NE(g_private_display, NULL);
-       ASSERT_EQ(actual, expected);
+       ASSERT_FALSE(tdm_display_update(NULL) == TDM_ERROR_NONE);
 }
 
-//TEST(tdm_display_deinit, work_flow_success_2___init_count_is_one)
-//{
-//     unsigned int expected = 2;
-//     unsigned int actual;
-//
-//     tdm_error error = TDM_ERROR_BAD_REQUEST;
-//     tdm_display *disp;
-//
-//     _init_test();
-//
-//     //to download tdm_backend_module;
-//     stub_dlfcn_ctrl.dlopen_returned_val = (void*)1;
-//     stub_dlfcn_ctrl.dlsym_returned_val = &tdm_backend_module_stub;
-//
-//     disp = tdm_display_init(&error);
-//
-//     ASSERT_EQ(TDM_ERROR_NONE, error);
-//
-//     //call tested function
-//     tdm_display_deinit(disp);
-//
-//     ASSERT_EQ(NULL, g_private_display);
-//     ASSERT_TRUE(FREE_CALLED);
-//}
-
-
-/* tdm_display_check_module_abi */
-TEST(tdm_display_check_module_abi, work_flow_success_1)
+TEST_F(TDMDefault, DisplayGetFDSuccesful)
 {
-       int res;
-       tdm_private_display private_display;
-       tdm_backend_module module;
-       private_display.module_data = &module;
-       module.abi_version = 0x00010001;
-
-       res = tdm_display_check_module_abi(&private_display, 1, 1);
-
-       ASSERT_EQ(1, res);
+       int fd = -42;
+       ASSERT_TRUE(tdm_display_get_fd(dpy, &fd) == TDM_ERROR_NONE);
+       ASSERT_FALSE(fd == -42);
 }
 
-TEST(tdm_display_check_module_abi, work_flow_error_1___wrong_version)
+TEST_F(TDMDefault, DisplayGetFDFailNullAll)
 {
-       int res;
-       tdm_private_display private_display;
-       tdm_backend_module module;
-       private_display.module_data = &module;
-       module.abi_version = 0x00010001;
-
-       /*minor*/
-       res = tdm_display_check_module_abi(&private_display, 1, 2);
-       ASSERT_EQ(0, res);
+       ASSERT_FALSE(tdm_display_get_fd(NULL, NULL) == TDM_ERROR_NONE);
+}
 
-       /*major*/
-       res = tdm_display_check_module_abi(&private_display, 2, 1);
-       ASSERT_EQ(0, res);
+TEST_F(TDMDefault, DisplayGetFDFailNullFD)
+{
+       ASSERT_FALSE(tdm_display_get_fd(dpy, NULL) == TDM_ERROR_NONE);
 }
 
-/* tdm_display_check_module_abi */
-TEST(tdm_display_enable_debug_module, work_flow_success_1)
+TEST_F(TDMDefault, DisplayGetFDFailNullDpy)
 {
-       tdm_error error;
+       int fd = -42;
+       ASSERT_FALSE(tdm_display_get_fd(NULL, &fd) == TDM_ERROR_NONE);
+}
 
-       //check all
-       error = tdm_display_enable_debug_module("all");
-       ASSERT_EQ(0xFFFFFFFF, tdm_debug_module);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DISABLED_DisplayHandleEventsSuccessful)
+{
+       /* TODO Generate events*/
+       ASSERT_TRUE(tdm_display_handle_events(dpy) == TDM_ERROR_NONE);
+}
 
-       //check none
-       error = tdm_display_enable_debug_module("none");
-       ASSERT_EQ(0, tdm_debug_module);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DisplayGetBackendInfoSuccessful)
+{
+       const char *name = NULL;
+       const char *vendor = NULL;
+       int major = -42, minor = -42;
+       ASSERT_TRUE(tdm_display_get_backend_info(dpy, &name, &vendor, &major, &minor) == TDM_ERROR_NONE);
+       ASSERT_FALSE(name == NULL);
+       ASSERT_FALSE(vendor == NULL);
+       ASSERT_FALSE(major == -42);
+       ASSERT_FALSE(minor == -42);
+}
 
-       //check buffer,thread,mutex,vblank
-       error = tdm_display_enable_debug_module("buffer,thread,mutex,vblank");
-       ASSERT_EQ((TDM_DEBUG_BUFFER | TDM_DEBUG_THREAD | TDM_DEBUG_MUTEX | TDM_DEBUG_VBLANK) ,
-                 tdm_debug_module);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DisplayGetBackendInfoFailNullAll)
+{
+       ASSERT_FALSE(tdm_display_get_backend_info(NULL, NULL, NULL, NULL, NULL) == TDM_ERROR_NONE);
+}
 
+TEST_F(TDMDefault, DisplayGetBackendInfoSuccessfulSetOnlyDpy)
+{
+       ASSERT_TRUE(tdm_display_get_backend_info(dpy, NULL, NULL, NULL, NULL) == TDM_ERROR_NONE);
 }
 
-TEST(tdm_display_enable_debug_module, work_flow_error_1___bad_module)
+TEST_F(TDMDefault, DisplayGetBackendInfoSuccessfulSetOnlyName)
 {
-       tdm_error error;
+       const char *name = NULL;
+       ASSERT_TRUE(tdm_display_get_backend_info(dpy, &name, NULL, NULL, NULL) == TDM_ERROR_NONE);
+       ASSERT_FALSE(name == NULL);
+}
 
-       //check bufer
-       error = tdm_display_enable_debug_module("bufer");
-       ASSERT_EQ(0 , tdm_debug_module);
-       ASSERT_NE(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DisplayGetBackendInfoSuccessfulSetOnlyVendor)
+{
+       const char *vendor = NULL;
+       ASSERT_TRUE(tdm_display_get_backend_info(dpy, NULL, &vendor, NULL, NULL) == TDM_ERROR_NONE);
+       ASSERT_FALSE(vendor == NULL);
 }
 
-/* tdm_display_enable_ttrace_vblank */
-TEST(tdm_display_enable_ttrace_vblank, work_flow_success_1)
+TEST_F(TDMDefault, DisplayGetBackendInfoSuccessfulSetOnlyMajor)
 {
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_output output;
-       tdm_output_mode current_mode;
-       int vblank = 1;
+       int major = -42;
+       ASSERT_TRUE(tdm_display_get_backend_info(dpy, NULL, NULL, &major, NULL) == TDM_ERROR_NONE);
+       ASSERT_FALSE(major == -42);
+}
 
-       _init_test();
-       stub_tdm_vblank_create_returned = &vblank;
+TEST_F(TDMDefault, DisplayGetBackendInfoSuccessfulSetOnlyMinor)
+{
+       int minor = -42;
+       ASSERT_TRUE(tdm_display_get_backend_info(dpy, NULL, NULL, NULL, &minor) == TDM_ERROR_NONE);
+       ASSERT_FALSE(minor == -1);
+}
 
-       output.current_mode = &current_mode;
-       output.private_display = &private_display;
+TEST_F(TDMDefault, DisplayGetCapabilitiesSuccessful)
+{
+       tdm_display_capability capabilities = -42;
+       ASSERT_TRUE(tdm_display_get_capabilities(dpy, &capabilities) == TDM_ERROR_NONE);
+       ASSERT_FALSE(capabilities == -1);
+}
 
-       error = tdm_display_enable_ttrace_vblank(&private_display, &output, 1);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DisplayGetCapabilitiesFailNullAll)
+{
+       ASSERT_FALSE(tdm_display_get_capabilities(NULL, NULL) == TDM_ERROR_NONE);
+}
 
-       error = tdm_display_enable_ttrace_vblank(&private_display, &output, 0);
+TEST_F(TDMDefault, DisplayGetCapabilitiesFailSetOnlyDpy)
+{
+       ASSERT_FALSE(tdm_display_get_capabilities(dpy, NULL) == TDM_ERROR_NONE);
 }
 
-TEST(tdm_display_enable_ttrace_vblank, work_flow_error_1___vblank_wait_fail)
+TEST_F(TDMDefault, DisplayGetPPCapabilitiesSuccessful)
 {
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_output output;
-       tdm_output_mode current_mode;
-       int vblank = 1;
+       tdm_pp_capability capabilities = -42;
+       tdm_error error = TDM_ERROR_NONE;
+       error = tdm_display_get_pp_capabilities(dpy, &capabilities);
+       ASSERT_TRUE(error == TDM_ERROR_NONE || error == TDM_ERROR_NO_CAPABILITY);
+       if (error == TDM_ERROR_NONE) {
+               ASSERT_FALSE(capabilities == -42);
+       }
+}
 
-       _init_test();
+TEST_F(TDMDefault, DisplayGetPPCapabilitiesFailNullAll)
+{
+       ASSERT_FALSE(tdm_display_get_pp_capabilities(NULL, NULL) == TDM_ERROR_NONE);
+}
 
-       output.current_mode = &current_mode;
-       output.private_display = &private_display;
-       stub_tdm_vblank_create_returned = &vblank;
+TEST_F(TDMDefault, DisplayGetCaptureCapabilitiesSuccessful)
+{
+       tdm_capture_capability capabilities = -42;
+       tdm_error error = TDM_ERROR_NONE;
+       error = tdm_display_get_capture_capabilities(dpy, &capabilities);
+       ASSERT_TRUE(error == TDM_ERROR_NONE || error == TDM_ERROR_NO_CAPABILITY);
+       if (error == TDM_ERROR_NONE) {
+               ASSERT_FALSE(capabilities == -42);
+       }
+}
 
-       stub_tdm_vblank_wait_error = 1;
+TEST_F(TDMDefault, DisplayGetCaptureCapabilitiesFailNullAll)
+{
+       ASSERT_FALSE(tdm_display_get_capture_capabilities(NULL, NULL) == TDM_ERROR_NONE);
+}
 
-       error = tdm_display_enable_ttrace_vblank(&private_display, &output, 1);
-       ASSERT_NE(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DisplayGetMaxLayerCountSuccessful)
+{
+       int max_count = -42;
+       ASSERT_TRUE(TDM_ERROR_NONE == tdm_display_get_max_layer_count(dpy, &max_count));
+       ASSERT_FALSE(-42 == max_count);
 }
 
-TEST(tdm_display_enable_ttrace_vblank, work_flow_error_2___vblank_create_fail)
+TEST_F(TDMDefault, DisplayGetMaxLayerCountFailNullAll)
 {
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_output output;
-       tdm_output_mode current_mode;
+       ASSERT_FALSE(TDM_ERROR_NONE == tdm_display_get_max_layer_count(NULL, NULL));
+}
 
-       _init_test();
-       stub_tdm_vblank_create_returned = NULL;
+TEST_F(TDMDefault, DisplayGetMaxLayerCountFailSetOnlyDpy)
+{
+       ASSERT_FALSE(TDM_ERROR_NONE == tdm_display_get_max_layer_count(dpy, NULL));
+}
 
-       output.current_mode = &current_mode;
-       output.private_display = &private_display;
+TEST_F(TDMDefault, DisplayGetOutputCountSuccessful)
+{
+       int count = -42;
+       ASSERT_TRUE(TDM_ERROR_NONE == tdm_display_get_output_count(dpy, &count));
+       ASSERT_FALSE(-42 == count);
+}
 
-       error = tdm_display_enable_ttrace_vblank(&private_display, &output, 1);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
+TEST_F(TDMDefault, DisplayGetOutputCountFailNullALl)
+{
+       ASSERT_FALSE(TDM_ERROR_NONE == tdm_display_get_output_count(NULL, NULL));
 }
 
+TEST_F(TDMDefault, DisplayGetOutputCountFailSetOnlyDpy)
+{
+       ASSERT_FALSE(TDM_ERROR_NONE == tdm_display_get_output_count(dpy, NULL));
+}
diff --git a/utests/src/ut_tdm_backend.cpp b/utests/src/ut_tdm_backend.cpp
deleted file mode 100644 (file)
index 6366f69..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
- *
- * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
-**************************************************************************/
-
-#include "gtest/gtest.h"
-
-#include "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-
-#include "tdm_backend.c"
-
-static void _init_test()
-{
-       stub_pthread_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-}
-
-/* tdm_backend_register_func_capture */
-
-TEST(tdm_backend_register_func_capture, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_display dpy;
-       tdm_func_capture func_capture;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       error = tdm_backend_register_func_capture(&dpy, &func_capture);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_capture, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_BAD_MODULE;
-       tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       error = tdm_backend_register_func_capture(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_capture, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_func_capture func_capture;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_capture(NULL, &func_capture);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_backend_register_func_pp */
-
-TEST(tdm_backend_register_func_pp, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_display dpy;
-       tdm_func_pp func_pp;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       error = tdm_backend_register_func_pp(&dpy, &func_pp);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_pp, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_BAD_MODULE;
-       tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       error = tdm_backend_register_func_pp(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_pp, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_func_pp func_pp;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_pp(NULL, &func_pp);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_backend_register_func_layer */
-
-TEST(tdm_backend_register_func_layer, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_display dpy;
-       tdm_func_layer func_layer;
-       tdm_backend_module module;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.module_data = &module;
-       module.abi_version = 0x00010005;
-
-       error = tdm_backend_register_func_layer(&dpy, &func_layer);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_layer, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_layer(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_layer, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_func_layer func_layer;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_layer(NULL, &func_layer);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_backend_register_func_output */
-
-TEST(tdm_backend_register_func_output, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_display dpy;
-       tdm_func_output func_output;
-       tdm_backend_module module;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.module_data = &module;
-
-       error = tdm_backend_register_func_output(&dpy, &func_output);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_output, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_output(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_output, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_func_output func_output;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_output(NULL, &func_output);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_backend_register_func_display */
-
-TEST(tdm_backend_register_func_display, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_display dpy;
-       tdm_func_display func_display;
-       tdm_backend_module module;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.module_data = &module;
-       module.abi_version = 0x00020000;
-
-       error = tdm_backend_register_func_display(&dpy, &func_display);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_display, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_display(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_backend_register_func_display, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_func_display func_display;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_backend_register_func_display(NULL, &func_display);
-
-       ASSERT_EQ(error, expected_error);
-}
diff --git a/utests/src/ut_tdm_buffer.cpp b/utests/src/ut_tdm_buffer.cpp
deleted file mode 100644 (file)
index 4ebac10..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
- *
- * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
-**************************************************************************/
-
-#include "gtest/gtest.h"
-
-#include "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-#include "stub_tdm.h"
-
-#include "tdm_buffer.c"
-
-void tdm_buffer_release_handler_f(tbm_surface_h buffer, void *user_data)
-{
-       (void)buffer;
-       (void)user_data;
-}
-
-static void _init_test()
-{
-       stub_tdm_init();
-       stub_pthread_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-       tdm_debug_module = TDM_DEBUG_BUFFER;
-}
-
-/* tdm_buffer_list_get_first_entry */
-
-TEST(tdm_buffer_list_get_first_entry, null_ptr_fail_1)
-{
-       tbm_surface_h expected = NULL;
-       tbm_surface_h actual;
-
-       _init_test();
-
-       actual = tdm_buffer_list_get_first_entry(NULL);
-
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_buffer_list_get_first_entry, success_list_is_empty)
-{
-       tbm_surface_h actual;
-       struct list_head buff_list;
-
-       _init_test();
-
-       LIST_INITHEAD(&buff_list);
-
-       actual = tdm_buffer_list_get_first_entry(&buff_list);
-
-       ASSERT_TRUE(actual == NULL);
-}
-
-TEST(tdm_buffer_list_get_first_entry, success)
-{
-       tbm_surface_h actual;
-       struct list_head buff_list;
-       tdm_buffer_info buf_info;
-       struct _tbm_surface buffer;
-
-       _init_test();
-
-       buf_info.buffer = &buffer;
-
-       LIST_INITHEAD(&buff_list);
-       LIST_ADD(&buf_info.link, &buff_list);
-
-       actual = tdm_buffer_list_get_first_entry(&buff_list);
-
-       ASSERT_TRUE(actual == &buffer);
-}
-
-/* tdm_buffer_ref_backend */
-
-TEST(tdm_buffer_ref_backend, work_flow_success_2)
-{
-       struct _tbm_surface buffer;
-       tbm_surface_h not_expected = NULL;
-       tbm_surface_h actual;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       CALLOC_RETURN_BUFFER = 1;
-       actual = tdm_buffer_ref_backend(&buffer);
-
-       ASSERT_TRUE(actual != not_expected);
-}
-
-TEST(tdm_buffer_ref_backend, work_flow_success_1)
-{
-       struct _tbm_surface buffer;
-       tbm_surface_h actual;
-       tbm_surface_h expected = NULL;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       CALLOC_ERROR = 1;
-
-       actual = tdm_buffer_ref_backend(&buffer);
-
-       ASSERT_TRUE(actual == expected);
-}
-
-
-TEST(tdm_buffer_ref_backend, null_ptr_fail_1)
-{
-       tbm_surface_h expected = NULL;
-       tbm_surface_h actual;
-
-       _init_test();
-
-       actual = tdm_buffer_ref_backend(NULL);
-
-       ASSERT_TRUE(actual == expected);
-}
-
-/* tdm_buffer_add_release_handler */
-
-TEST(tdm_buffer_add_release_handler, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_BUSY;
-       struct _tbm_surface buffer;
-       int data = 1;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       error =
-               tdm_buffer_add_release_handler(&buffer, tdm_buffer_release_handler_f,
-                                                                          &data);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-TEST(tdm_buffer_add_release_handler, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tbm_surface buffer;
-       int data = 1;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-
-       _init_test();
-
-       CALLOC_ERROR = 1;
-       error =
-               tdm_buffer_add_release_handler(&buffer, tdm_buffer_release_handler_f,
-                                                                          &data);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-TEST(tdm_buffer_add_release_handler, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tbm_surface buffer;
-       int data = 1;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       CALLOC_ERROR = 1;
-       error =
-               tdm_buffer_add_release_handler(&buffer, tdm_buffer_release_handler_f,
-                                                                          &data);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-TEST(tdm_buffer_add_release_handler, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tbm_surface buffer;
-       int data = 1;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       CALLOC_ERROR = 1;
-       error =
-               tdm_buffer_add_release_handler(&buffer, tdm_buffer_release_handler_f,
-                                                                          &data);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-TEST(tdm_buffer_add_release_handler, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tbm_surface buffer;
-       int data = 1;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_buffer_add_release_handler(&buffer, NULL, &data);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-TEST(tdm_buffer_add_release_handler, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       int data = 1;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error =
-               tdm_buffer_add_release_handler(NULL, tdm_buffer_release_handler_f,
-                                                                          &data);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-/* tdm_buffer_get_info */
-
-TEST(tdm_buffer_get_info, work_flow_success_5)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info *actual;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       tbm_surface_internal_set_user_data_error = 1;
-
-       actual = tdm_buffer_get_info(&buffer);
-
-       ASSERT_TRUE(actual == NULL);
-}
-
-TEST(tdm_buffer_get_info, work_flow_success_4)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info *actual;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       tbm_surface_internal_add_user_data_error = 1;
-
-       actual = tdm_buffer_get_info(&buffer);
-
-       ASSERT_TRUE(actual == NULL);
-}
-
-TEST(tdm_buffer_get_info, work_flow_success_3)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info *actual;
-       tdm_buffer_info *not_expected = NULL;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-
-       actual = tdm_buffer_get_info(&buffer);
-
-       ASSERT_TRUE(actual != not_expected);
-       free(actual);
-}
-
-TEST(tdm_buffer_get_info, work_flow_success_2)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info *actual;
-       tdm_buffer_info *expected = NULL;
-
-       _init_test();
-
-       TBM_BO_GET_USER_DATA_NULL = 1;
-       CALLOC_ERROR = 1;
-       actual = tdm_buffer_get_info(&buffer);
-
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_buffer_get_info, work_flow_success_1)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info *not_expected = NULL;
-       tdm_buffer_info *actual;
-
-       _init_test();
-
-       actual = tdm_buffer_get_info(&buffer);
-
-       ASSERT_TRUE(actual != not_expected);
-}
-
-/* tdm_buffer_remove_release_handler() */
-
-TEST(tdm_buffer_remove_release_handler, success)
-{
-       struct _tbm_surface buffer;
-       int user_data;
-       tdm_buffer_func_info *func_info_1;
-       tdm_buffer_func_info *func_info_2;
-       tdm_buffer_info buf_info;
-       tdm_buffer_func_info *func_info = NULL, *next = NULL;
-
-       _init_test();
-
-       func_info_1 = (tdm_buffer_func_info *)calloc(1, sizeof * func_info_1);
-       func_info_2 = (tdm_buffer_func_info *)calloc(1, sizeof * func_info_2);
-
-       func_info_1->release_func = stub_tdm_buffer_release_handler;
-       func_info_1->user_data = &user_data;
-
-       func_info_2->release_func = NULL;
-       func_info_2->user_data = NULL;
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-
-       LIST_INITHEAD(&buf_info.release_funcs);
-       LIST_ADD(&func_info_1->link, &buf_info.release_funcs);
-       LIST_ADD(&func_info_2->link, &buf_info.release_funcs);
-
-       tdm_buffer_remove_release_handler(&buffer, stub_tdm_buffer_release_handler, &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       LIST_FOR_EACH_ENTRY_SAFE(func_info, next, &buf_info.release_funcs, link) {
-               if (func_info->release_func != stub_tdm_buffer_release_handler || func_info->user_data != &user_data)
-                       continue;
-
-               ASSERT_TRUE(0);
-       }
-       free(func_info_2);
-}
-
-/* tdm_buffer_remove_release_handler_internal() */
-
-TEST(tdm_buffer_remove_release_handler_internal, success)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_func_info *func_info_1;
-       tdm_buffer_func_info *func_info_2;
-       tdm_buffer_info buf_info;
-
-       _init_test();
-
-       func_info_1 = (tdm_buffer_func_info *)calloc(1, sizeof * func_info_1);
-       func_info_2 = (tdm_buffer_func_info *)calloc(1, sizeof * func_info_2);
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-
-       LIST_INITHEAD(&buf_info.release_funcs);
-       LIST_ADD(&func_info_1->link, &buf_info.release_funcs);
-       LIST_ADD(&func_info_2->link, &buf_info.release_funcs);
-
-       tdm_buffer_remove_release_handler_internal(&buffer);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       free(func_info_1);
-}
-
-/* tdm_buffer_unref_backend() */
-
-TEST(tdm_buffer_unref_backend, success_ref_count_is_3)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info buf_info;
-
-       _init_test();
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-       buf_info.backend_ref_count = 3;
-
-       tdm_buffer_unref_backend(&buffer);
-
-       ASSERT_EQ(buf_info.backend_ref_count, 2);
-}
-
-TEST(tdm_buffer_unref_backend, success)
-{
-       struct _tbm_surface buffer;
-       tdm_buffer_info buf_info;
-       tdm_buffer_func_info func_info;
-
-       _init_test();
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-       buf_info.backend_ref_count = 1;
-       func_info.release_func = stub_tdm_buffer_release_handler;
-
-       LIST_INITHEAD(&buf_info.release_funcs);
-       LIST_ADD(&func_info.link, &buf_info.release_funcs);
-
-       tdm_buffer_unref_backend(&buffer);
-
-       ASSERT_EQ(stub_tdm_buffer_release_handler_count, 1);
-       ASSERT_EQ(tbm_surface_internal_ref_count, 1);
-       ASSERT_EQ(tbm_surface_internal_unref_count, 2);
-}
-
-/* tdm_buffer_add_destroy_handler() */
-
-TEST(tdm_buffer_add_destroy_handler, error_buffer_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_buffer_add_destroy_handler(NULL, stub_tdm_buffer_destroy_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_buffer_add_destroy_handler, error_func_is_null)
-{
-       tdm_error error;
-       struct _tbm_surface buffer;
-
-       _init_test();
-
-       error = tdm_buffer_add_destroy_handler(&buffer, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_buffer_add_destroy_handler, error_buffer_get_info)
-{
-       tdm_error error;
-       struct _tbm_surface buffer;
-
-       _init_test();
-
-       tbm_surface_internal_get_user_data_ret = NULL;
-       tbm_surface_internal_add_user_data_error = 1;
-
-       error = tdm_buffer_add_destroy_handler(&buffer, stub_tdm_buffer_destroy_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-}
-
-TEST(tdm_buffer_add_destroy_handler, error_calloc)
-{
-       tdm_error error;
-       struct _tbm_surface buffer;
-       tdm_buffer_info buf_info;
-
-       _init_test();
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-
-       CALLOC_ERROR = 1;
-
-       error = tdm_buffer_add_destroy_handler(&buffer, stub_tdm_buffer_destroy_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-}
-
-TEST(tdm_buffer_add_destroy_handler, success)
-{
-       tdm_error error;
-       struct _tbm_surface buffer;
-       tdm_buffer_info buf_info;
-       int user_data;
-       tdm_buffer_func_info *func_info = NULL, *f = NULL;
-
-       _init_test();
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-
-       LIST_INITHEAD(&buf_info.destroy_funcs);
-
-       error = tdm_buffer_add_destroy_handler(&buffer, stub_tdm_buffer_destroy_handler, &user_data);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(!LIST_IS_EMPTY(&buf_info.destroy_funcs));
-       LIST_FOR_EACH_ENTRY(f, &buf_info.destroy_funcs, link) {
-               if (f->destroy_func != stub_tdm_buffer_destroy_handler || f->user_data != &user_data)
-                       continue;
-               func_info = f;
-       }
-       ASSERT_TRUE(func_info);
-       free(func_info);
-}
-
-/* tdm_buffer_remove_release_handler() */
-
-TEST(tdm_buffer_remove_destroy_handler, success)
-{
-       struct _tbm_surface buffer;
-       int user_data;
-       tdm_buffer_func_info *func_info_1;
-       tdm_buffer_func_info *func_info_2;
-       tdm_buffer_info buf_info;
-       tdm_buffer_func_info *func_info = NULL, *next = NULL;
-
-       _init_test();
-
-       func_info_1 = (tdm_buffer_func_info *)calloc(1, sizeof * func_info_1);
-       func_info_2 = (tdm_buffer_func_info *)calloc(1, sizeof * func_info_2);
-
-       func_info_1->destroy_func = stub_tdm_buffer_destroy_handler;
-       func_info_1->user_data = &user_data;
-
-       func_info_2->release_func = NULL;
-       func_info_2->user_data = NULL;
-
-       tbm_surface_internal_get_user_data_ret = &buf_info;
-
-       LIST_INITHEAD(&buf_info.destroy_funcs);
-       LIST_ADD(&func_info_1->link, &buf_info.destroy_funcs);
-       LIST_ADD(&func_info_2->link, &buf_info.destroy_funcs);
-
-       tdm_buffer_remove_destroy_handler(&buffer, stub_tdm_buffer_destroy_handler, &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       LIST_FOR_EACH_ENTRY_SAFE(func_info, next, &buf_info.destroy_funcs, link) {
-               if (func_info->release_func != stub_tdm_buffer_destroy_handler || func_info->user_data != &user_data)
-                       continue;
-
-               ASSERT_TRUE(0);
-       }
-       free(func_info_2);
-}
index 2bab7bf..9715d1a 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 "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-#include "stub_backend.h"
-#include "stub_unistd.h"
-#include "stub_tdm_thread.h"
-#include "stub_tdm_buffer.h"
-#include "stub_tdm_helper.h"
-
-#include "tdm_capture.c"
-
-//local stubs for callbeck functions
-static int stub_tdm_capture_done_handler_called;
-static void stub_tdm_capture_done_handler(tdm_capture *capture,
-                                                                                 tbm_surface_h buffer, void *user_data)
-{
-       stub_tdm_capture_done_handler_called = 1;
-}
-
-/* UNIT TESTS */
-
-static void _init_test()
-{
-       stub_tdm_helper_init();
-       stub_tdm_buffer_init();
-       stub_tdm_thread_init();
-       stub_unistd_init();
-       stub_pthread_init();
-       stub_backend_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-       tdm_debug_dump = TDM_DUMP_FLAG_CAPTURE;
-       tdm_debug_module = TDM_DEBUG_BUFFER;
-       stub_tdm_capture_done_handler_called = 0;
-}
-
-/* tdm_capture_commit */
-
-TEST(tdm_capture_commit, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_capture capture;
-       struct _tdm_private_display private_display;
-       tdm_private_output private_output;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_pp_private_buffer b_1, b_2;
-
-       _init_test();
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-       LIST_INITHEAD(&capture.buffer_list);
-
-       LIST_ADD(&b_1.link, &capture.pending_buffer_list);
-       LIST_ADD(&b_2.link, &capture.pending_buffer_list);
-
-       capture.private_display = &private_display;
-       private_display.func_capture.capture_commit = capture_commit;
-       CALLOC_RETURN_BUFFER = 1;
-       capture.private_output = &private_output;
-       private_output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_capture_commit(&capture);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(LIST_LENGTH(&capture.buffer_list), 2);
-}
-
-//TEST(tdm_capture_commit, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     struct _tdm_private_capture capture;
-//     struct _tdm_private_display private_display;
-//     tdm_private_output private_output;
-//     tdm_pp_private_buffer b_1, b_2;
-//
-//     _init_test();
-//
-//     LIST_INITHEAD(&capture.pending_buffer_list);
-//     LIST_INITHEAD(&capture.buffer_list);
-//
-//     LIST_ADD(&b_1.link, &capture.pending_buffer_list);
-//     LIST_ADD(&b_2.link, &capture.pending_buffer_list);
-//
-//     capture.private_display = &private_display;
-//     private_display.func_capture.capture_commit = capture_commit;
-//     CAPTURE_COMMIT_ERROR = 1;
-//     capture.private_output = &private_output;
-//     private_output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-//
-//     error = tdm_capture_commit(&capture);
-//
-//     ASSERT_NE(error, TDM_ERROR_NONE);
-//     ASSERT_EQ(LIST_LENGTH(&capture.buffer_list), 0);
-//     ASSERT_EQ(stub_tdm_buffer_remove_release_handler_internal_count, 2);
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 2);
-//}
-
-TEST(tdm_capture_commit, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       struct _tdm_private_capture capture;
-       struct _tdm_private_display private_display;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-
-       capture.private_display = &private_display;
-       private_display.func_capture.capture_commit = NULL;
-       capture.private_output = &private_output;
-       private_output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_capture_commit(&capture);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_capture_commit, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_BAD_REQUEST;
-       struct _tdm_private_capture capture;
-       struct _tdm_private_display private_display;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-
-       capture.private_display = &private_display;
-       private_display.func_capture.capture_commit = NULL;
-       capture.private_output = &private_output;
-       private_output.current_dpms_value = TDM_OUTPUT_DPMS_OFF;
-
-       error = tdm_capture_commit(&capture);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_capture_commit, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_capture_commit(NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_capture_set_info */
-
-TEST(tdm_capture_set_info, error_capture_set_info_is_null)
-{
-       tdm_info_capture info;
-       tdm_error error;
-       struct _tdm_private_capture capture;
-       struct _tdm_private_display private_display;
-
-       _init_test();
-
-       capture.private_display = &private_display;
-       private_display.func_capture.capture_set_info = NULL;
-
-       error = tdm_capture_set_info(&capture, &info);
-
-       ASSERT_EQ(error, TDM_ERROR_NOT_IMPLEMENTED);
-}
-
-TEST(tdm_capture_set_info, work_flow_success_2)
-{
-       tdm_info_capture info;
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_capture capture;
-       struct _tdm_private_display private_display;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output private_output;
-       tdm_output_mode current_mode;
-
-       _init_test();
-
-       capture.private_output = &private_output;
-       private_output.current_mode = &current_mode;
-       current_mode.vrefresh = 24;
-       info.type = TDM_CAPTURE_TYPE_STREAM;
-       info.frequency = 0;
-
-       capture.private_display = &private_display;
-       private_display.func_capture.capture_set_info = capture_set_info;
-
-       error = tdm_capture_set_info(&capture, &info);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(info.frequency, current_mode.vrefresh);
-}
-
-TEST(tdm_capture_set_info, work_flow_success_1)
-{
-       tdm_info_capture info;
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       struct _tdm_private_display private_display;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-
-       _init_test();
-
-       capture.private_display = &private_display;
-       private_display.func_capture.capture_set_info = capture_set_info;
-       CAPTURE_SET_INFO_ERROR = 1;
-
-       error = tdm_capture_set_info(&capture, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_capture_set_info, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_capture_set_info(&capture, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_capture_set_info, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_info_capture info;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_capture_set_info(NULL, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_capture_create_layer_internal */
-
-TEST(tdm_capture_create_layer_internal, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_layer private_layer;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *not_expected = NULL;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_layer.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_create_capture = layer_create_capture;
-       private_display.func_capture.capture_destroy = capture_destroy;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_LAYER;
-
-       actual = tdm_capture_create_layer_internal(&private_layer, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual != not_expected);
-       free(actual);
-}
-
-TEST(tdm_capture_create_layer_internal, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_layer private_layer;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_layer.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_create_capture = layer_create_capture;
-       private_display.func_capture.capture_destroy = capture_destroy;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_LAYER;
-
-       CALLOC_ERROR = 1;
-
-       actual = tdm_capture_create_layer_internal(&private_layer, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_capture_create_layer_internal, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_layer private_layer;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_layer.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_create_capture = layer_create_capture;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       LAYER_CREATE_CAPTURE_ERROR = 1;
-
-       actual = tdm_capture_create_layer_internal(&private_layer, &error);
-
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_capture_create_layer_internal, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_layer private_layer;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_layer.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-
-       actual = tdm_capture_create_layer_internal(&private_layer, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-/* tc_tdm_capture_create_output_internal */
-
-TEST(tdm_capture_create_output_internal, work_flow_success_5)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *not_expected = NULL;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_capture private_capture;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_output.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_output.private_display = &private_display;
-       private_display.func_output.output_create_capture = output_create_capture;
-       private_display.func_capture.capture_destroy = capture_destroy;
-       private_display.func_capture.capture_set_done_handler =
-                       capture_set_done_handler;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_OUTPUT;
-
-       private_capture.stamp = stub_tdm_helper_get_time_ret_val;
-
-       LIST_ADD(&private_capture.display_link, &private_display.capture_list);
-
-       actual = tdm_capture_create_output_internal(&private_output, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual != not_expected);
-       free(actual);
-}
-
-TEST(tdm_capture_create_output_internal, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_output.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_output.private_display = &private_display;
-       private_display.func_output.output_create_capture = output_create_capture;
-       private_display.func_capture.capture_destroy = capture_destroy;
-       private_display.func_capture.capture_set_done_handler = capture_set_done_handler;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_OUTPUT;
-       CAPTURE_SET_DONE_HANDLER_ERROR = 1;
-
-       actual = tdm_capture_create_output_internal(&private_output, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_capture_create_output_internal, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_output.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_output.private_display = &private_display;
-       private_display.func_output.output_create_capture = output_create_capture;
-       private_display.func_capture.capture_destroy = capture_destroy;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       CALLOC_ERROR = 1;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_OUTPUT;
-
-       actual = tdm_capture_create_output_internal(&private_output, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_capture_create_output_internal, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_output.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_output.private_display = &private_display;
-       private_display.func_output.output_create_capture = output_create_capture;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_OUTPUT;
-       OUTPUT_CREATE_CAPTURE_ERROR = 1;
-
-       actual = tdm_capture_create_output_internal(&private_output, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_capture_create_output_internal, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_output.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_output.private_display = &private_display;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       actual = tdm_capture_create_output_internal(&private_output, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-TEST(tdm_capture_create_output_internal, TDM_CAPTURE_CAPABILITY_OUTPUT_is_not_set)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_output private_output;
-       struct _tdm_private_display private_display;
-       tdm_private_capture *actual;
-       tdm_private_capture *expected = NULL;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_output.capture_list);
-       LIST_INITHEAD(&private_display.capture_list);
-
-       private_output.private_display = &private_display;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       private_display.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_LAYER;
-
-       actual = tdm_capture_create_output_internal(&private_output, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(actual == expected);
-}
-
-/* tdm_capture_cb_done() */
-
-TEST(tdm_capture_cb_done, success_not_in_display_thread)
-{
-       tdm_private_capture private_capture;
-       struct _tbm_surface buffer;
-       tdm_thread_cb_capture_done *capture_done;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       private_capture.private_display = &private_display;
-       stub_syscall_return_value = 50;
-       private_capture.owner_tid = stub_syscall_return_value + 1;
-       private_capture.stamp = 10.15;
-
-       tdm_capture_cb_done(&private_capture, &buffer, &private_capture);
-
-       capture_done = (tdm_thread_cb_capture_done *)stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(capture_done->base.type, TDM_THREAD_CB_CAPTURE_DONE);
-       ASSERT_EQ(capture_done->base.length, sizeof * capture_done);
-       ASSERT_DOUBLE_EQ(capture_done->capture_stamp, private_capture.stamp);
-       ASSERT_TRUE(capture_done->buffer == &buffer);
-       ASSERT_TRUE(capture_done->user_data == &private_capture);
-}
-
-//TEST(tdm_capture_cb_done, success_in_display_thread)
-//{
-//     tdm_private_capture private_capture;
-//     struct _tbm_surface buffer;
-//     tdm_thread_cb_capture_done *capture_done;
-//     tdm_private_display private_display;
-//     tdm_capture_private_buffer *capture_buffer_1;
-//     tdm_capture_private_buffer *capture_buffer_2;
-//
-//     _init_test();
-//
-//     capture_buffer_1 = (tdm_capture_private_buffer *)
-//                                                                             calloc(1, sizeof * capture_buffer_1);
-//     capture_buffer_2 = (tdm_capture_private_buffer *)
-//                                                                             calloc(1, sizeof * capture_buffer_2);
-//
-//     LIST_INITHEAD(&private_capture.buffer_list);
-//     LIST_ADD(&capture_buffer_1->link, &private_capture.buffer_list);
-//     LIST_ADD(&capture_buffer_2->link, &private_capture.buffer_list);
-//
-//     capture_buffer_1->buffer = &buffer;
-//
-//     private_capture.private_display = &private_display;
-//     stub_syscall_return_value = 50;
-//     stub_syscall_reset = 1;
-//     private_capture.owner_tid = stub_syscall_return_value;
-//     private_capture.done_func = stub_tdm_capture_done_handler;
-//
-//     tdm_capture_cb_done(&private_capture, &buffer, &private_capture);
-//
-//     ASSERT_EQ(FREE_CALLED, 1);
-//     ASSERT_EQ(stub_tdm_capture_done_handler_called, 1);
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 1);
-//     ASSERT_TRUE(!_tdm_capture_find_tbm_buffer(&private_capture.buffer_list, &buffer));
-//}
-
-/* tdm_capture_find_stamp() */
-
-TEST(tdm_capture_find_stamp, success_capture_list_is_empty)
-{
-       tdm_private_capture *capture_ret;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.capture_list);
-
-       capture_ret = tdm_capture_find_stamp(&private_display, 0.5);
-
-       ASSERT_EQ(capture_ret, NULL);
-}
-
-TEST(tdm_capture_find_stamp, success)
-{
-       tdm_private_capture *capture_ret;
-       tdm_private_display private_display;
-       double stamp = 54.54;
-       tdm_private_capture capture;
-
-       _init_test();
-
-       capture.stamp = stamp;
-
-       LIST_INITHEAD(&private_display.capture_list);
-       LIST_ADD(&capture.display_link, &private_display.capture_list);
-
-       capture_ret = tdm_capture_find_stamp(&private_display, stamp);
-
-       ASSERT_EQ(capture_ret, &capture);
-}
-
-/* tdm_capture_destroy_internal() */
-
-//TEST(tdm_capture_destroy_internal, success)
-//{
-//     tdm_private_capture *capture;
-//     tdm_private_display private_display;
-//     struct list_head list;
-//     struct list_head dsp_list;
-//     tdm_buffer_info *b1, *b2;
-//
-//     _init_test();
-//
-//     b1 = (tdm_buffer_info *)calloc(1, sizeof * b1);
-//     b2 = (tdm_buffer_info *)calloc(1, sizeof * b2);
-//
-//     capture = (tdm_private_capture *)calloc(1, sizeof * capture);
-//     capture->private_display = &private_display;
-//
-//     private_display.func_capture.capture_destroy = capture_destroy;
-//
-//     LIST_INITHEAD(&list);
-//     LIST_INITHEAD(&dsp_list);
-//     LIST_INITHEAD(&capture->pending_buffer_list);
-//     LIST_INITHEAD(&capture->buffer_list);
-//
-//     LIST_ADD(&capture->link, &list);
-//     LIST_ADD(&capture->display_link, &dsp_list);
-//     LIST_ADD(&b1->link, &capture->pending_buffer_list);
-//     LIST_ADD(&b2->link, &capture->buffer_list);
-//
-//     tdm_capture_destroy_internal(capture);
-//
-//     ASSERT_TRUE(LIST_IS_EMPTY(&list));
-//     ASSERT_TRUE(LIST_IS_EMPTY(&dsp_list));
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 2);
-//     ASSERT_EQ(FREE_CALLED, 1);
-//     ASSERT_EQ(capture_destroy_is_called, 1);
-//}
-
-/* tdm_capture_destroy() */
-
-//TEST(tdm_capture_destroy, success)
-//{
-//     tdm_private_capture *capture;
-//     tdm_private_display private_display;
-//     struct list_head list;
-//     struct list_head dsp_list;
-//     tdm_buffer_info *b1, *b2;
-//
-//     _init_test();
-//
-//     b1 = (tdm_buffer_info *)calloc(1, sizeof * b1);
-//     b2 = (tdm_buffer_info *)calloc(1, sizeof * b2);
-//
-//     capture = (tdm_private_capture *)calloc(1, sizeof * capture);
-//     capture->private_display = &private_display;
-//
-//     private_display.func_capture.capture_destroy = capture_destroy;
-//
-//     LIST_INITHEAD(&list);
-//     LIST_INITHEAD(&dsp_list);
-//     LIST_INITHEAD(&capture->pending_buffer_list);
-//     LIST_INITHEAD(&capture->buffer_list);
-//
-//     LIST_ADD(&capture->link, &list);
-//     LIST_ADD(&capture->display_link, &dsp_list);
-//     LIST_ADD(&b1->link, &capture->pending_buffer_list);
-//     LIST_ADD(&b2->link, &capture->buffer_list);
-//
-//     tdm_capture_destroy(capture);
-//
-//     ASSERT_TRUE(LIST_IS_EMPTY(&list));
-//     ASSERT_TRUE(LIST_IS_EMPTY(&dsp_list));
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 2);
-//     ASSERT_EQ(FREE_CALLED, 1);
-//     ASSERT_EQ(capture_destroy_is_called, 1);
-//}
-
-/* tdm_capture_set_done_handler() */
-
-TEST(tdm_capture_set_done_handler, error_capture_is_null)
-{
-       tdm_error error;
-
-       error = tdm_capture_set_done_handler(NULL, stub_tdm_capture_done_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_capture_set_done_handler, error_func_is_null)
-{
-       tdm_error error;
-       tdm_private_capture capture;
-
-       error = tdm_capture_set_done_handler(&capture, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_capture_set_done_handler, success)
-{
-       tdm_error error;
-       tdm_private_capture capture;
-       int user_data;
-
-       error = tdm_capture_set_done_handler(&capture, stub_tdm_capture_done_handler, &user_data);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(capture.done_func == stub_tdm_capture_done_handler);
-       ASSERT_TRUE(capture.done_user_data == &user_data);
-}
-
-/* tdm_capture_attach() */
-
-TEST(tdm_capture_attach, error_buffer_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_capture_attach(&capture, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_capture_attach, error_capture_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tbm_surface buffer;
-
-       _init_test();
-
-       error = tdm_capture_attach(NULL, &buffer);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_capture_attach, error_func_capture_attach_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       struct _tbm_surface buffer;
-       tdm_private_display dsp;
-
-       _init_test();
-
-       capture.private_display = &dsp;
-       dsp.func_capture.capture_attach = NULL;
-
-       error = tdm_capture_attach(&capture, &buffer);
-
-       ASSERT_EQ(error, TDM_ERROR_NOT_IMPLEMENTED);
-}
-
-TEST(tdm_capture_attach, error_length_of_pending_buffer_list_ge_max_attach_count)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       struct _tbm_surface buffer;
-       tdm_private_display dsp;
-       tdm_backend_module module;
-       tdm_capture_private_buffer b1, b2;
-
-       _init_test();
-
-       capture.private_display = &dsp;
-       dsp.func_capture.capture_attach = capture_attach;
-
-       dsp.module_data = &module;
-       module.abi_version = 0x000100002;
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-       LIST_INITHEAD(&capture.buffer_list);
-       LIST_ADD(&b1.link, &capture.pending_buffer_list);
-       LIST_ADD(&b2.link, &capture.pending_buffer_list);
-
-       dsp.caps_capture.max_attach_count = 1;
-
-       error = tdm_capture_attach(&capture, &buffer);
-
-       ASSERT_EQ(error, TDM_ERROR_BAD_REQUEST);
-}
-
-TEST(tdm_capture_attach, error_calloc)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       struct _tbm_surface buffer;
-       tdm_private_display dsp;
-       tdm_backend_module module;
-
-       _init_test();
-
-       capture.private_display = &dsp;
-       dsp.func_capture.capture_attach = capture_attach;
-
-       dsp.module_data = &module;
-       module.abi_version = 0x000100002;
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-       LIST_INITHEAD(&capture.buffer_list);
-
-       dsp.caps_capture.max_attach_count = 3;
-
-       CALLOC_ERROR = 1;
-
-       error = tdm_capture_attach(&capture, &buffer);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-}
-
-TEST(tdm_capture_attach, error_capture_attach)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       struct _tbm_surface buffer;
-       tdm_private_display dsp;
-       tdm_backend_module module;
-
-       _init_test();
-
-       capture.private_display = &dsp;
-       dsp.func_capture.capture_attach = capture_attach;
-
-       dsp.module_data = &module;
-       module.abi_version = 0x000100002;
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-       LIST_INITHEAD(&capture.buffer_list);
-
-       dsp.caps_capture.max_attach_count = 3;
-
-       CAPTURE_ATTACH_ERROR = 1;
-
-       error = tdm_capture_attach(&capture, &buffer);
-
-       ASSERT_NE(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_capture_attach, success)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_capture capture;
-       struct _tbm_surface buffer;
-       tdm_private_display dsp;
-       tdm_backend_module module;
-       tdm_capture_private_buffer *capture_buffer;
-
-       _init_test();
-
-       capture.private_display = &dsp;
-       dsp.func_capture.capture_attach = capture_attach;
-
-       dsp.module_data = &module;
-       module.abi_version = 0x000100002;
-
-       LIST_INITHEAD(&capture.pending_buffer_list);
-       LIST_INITHEAD(&capture.buffer_list);
-
-       dsp.caps_capture.max_attach_count = 3;
-
-       error = tdm_capture_attach(&capture, &buffer);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(!LIST_IS_EMPTY(&capture.pending_buffer_list));
-       free(container_of(capture.pending_buffer_list.next, capture_buffer, link));
+#include "tdm.h"
+#include "ut_common.h"
+
+class TDMCapture : public ::testing::Test {
+protected:
+       tdm_display *dpy = NULL;
+       tdm_capture_capability capture_capabilities = -42;
+       bool has_capture = false;
+       void SetUp(void)
+       {
+               setenv("TDM_DLOG", "1", 1);
+               setenv("XDG_RUNTIME_DIR", ".", 1);
+               setenv("TBM_DLOG", "1", 1);
+               tdm_error error = TDM_ERROR_NONE;
+               dpy = tdm_display_init(&error);
+               ASSERT_TRUE(error == TDM_ERROR_NONE);
+               ASSERT_FALSE(dpy == NULL);
+               error = tdm_display_get_capture_capabilities(dpy, &capture_capabilities);
+#ifdef FAIL_ON_UNSUPPORTED
+               ASSERT_GT(capture_capabilities, 0);
+#endif
+               if (capture_capabilities > 0)
+                       has_capture = true;
+       }
+       void TearDown(void)
+       {
+               tdm_display_deinit(dpy);
+               dpy = NULL;
+       }
+};
+
+TEST_F(TDMCapture, DisplayGetCaptureAvailableFormatsSuccessful)
+{
+       CHECK_FLAG(has_capture);
+       const tbm_format * formats = NULL;
+       int count = -42;
+       ASSERT_TRUE(TDM_ERROR_NONE == tdm_display_get_catpure_available_formats(dpy, &formats, &count));
+       ASSERT_FALSE(-42 == count);
+       ASSERT_FALSE(NULL == formats);
 }
diff --git a/utests/src/ut_tdm_display.cpp b/utests/src/ut_tdm_display.cpp
deleted file mode 100644 (file)
index a35ea56..0000000
+++ /dev/null
@@ -1,4710 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
- *
- * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
-**************************************************************************/
-
-#include "gtest/gtest.h"
-
-#include "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-#include "stub_backend.h"
-#include "stub_tdm_pp.h"
-#include "stub_tdm_capture.h"
-#include "stub_tdm_thread.h"
-#include "stub_tdm_event_loop.h"
-#include "stub_tdm_buffer.h"
-#include "stub_unistd.h"
-#include "stub_tdm_thread.h"
-#include "stub_tdm.h"
-#include "stub_tdm_buffer.h"
-#include "stub_tdm_helper.h"
-#include "tdm_list.h"
-
-#include "tdm_display.c"
-#include "tdm_layer.c"
-#include "tdm_output.c"
-
-static void _init_test()
-{
-       stub_tdm_helper_init();
-       stub_tdm_buffer_init();
-       stub_tdm_init();
-       stub_unistd_init();
-       stub_tdm_thread_init();
-       stub_pthread_init();
-       stub_tdm_event_loop_init();
-       stub_tdm_thread_init();
-       stub_tdm_capture_init();
-       stub_tdm_pp_init();
-       stub_backend_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-       tdm_debug_module = TDM_DEBUG_THREAD | TDM_DEBUG_BUFFER;
-       tdm_debug_dump = TDM_DUMP_FLAG_LAYER;
-       tdm_dump_enable = 1;
-}
-
-static void ut_tdm_output_vblank_handler(tdm_output *output,
-                                                                                unsigned int sequence,
-                                                                                unsigned int tv_sec,
-                                                                                unsigned int tv_usec, void *user_data)
-{
-       (void)output;
-       (void)sequence;
-       (void)tv_sec;
-       (void)tv_usec;
-       (void)user_data;
-}
-
-/* UNIT TESTS */
-
-/* tdm_layer_create_capture() */
-
-TEST(tdm_layer_create_capture, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       tdm_layer_create_capture(&layer, &error);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_create_capture, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       CAPTURE_CREATE_LAYER_INTERNAL_ERROR = 1;
-
-       tdm_layer_create_capture(&layer, &error);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_create_capture, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       tdm_layer_create_capture(NULL, &error);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_set_video_pos() */
-
-TEST(tdm_layer_set_video_pos, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_video_pos = layer_set_video_pos;
-       layer.caps.capabilities = TDM_LAYER_CAPABILITY_VIDEO;
-
-       error = tdm_layer_set_video_pos(&layer, 5);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_video_pos, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_video_pos = layer_set_video_pos;
-       layer.caps.capabilities = TDM_LAYER_CAPABILITY_VIDEO;
-       LAYER_SET_VIDEO_POS_ERROR = 1;
-
-       error = tdm_layer_set_video_pos(&layer, 5);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_set_video_pos, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_video_pos = NULL;
-       layer.caps.capabilities = TDM_LAYER_CAPABILITY_VIDEO;
-
-       error = tdm_layer_set_video_pos(&layer, 5);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_video_pos, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       layer.caps.capabilities = TDM_LAYER_CAPABILITY_GRAPHIC;
-
-       error = tdm_layer_set_video_pos(&layer, 5);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_video_pos, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_layer_set_video_pos(NULL, 5);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_is_usable() */
-
-TEST(tdm_layer_is_usable, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       unsigned int usable = rand();
-       unsigned int expected_usable = rand();
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       layer.usable = expected_usable;
-
-       error = tdm_layer_is_usable(&layer, &usable);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(usable, expected_usable);
-}
-
-TEST(tdm_layer_is_usable, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_is_usable(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_is_usable, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       unsigned int usable = rand();
-
-       _init_test();
-
-       error = tdm_layer_is_usable(NULL, &usable);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_unset_buffer_queue() */
-
-//TEST(tdm_layer_unset_buffer_queue, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//     struct _tbm_surface waiting_buffer;
-//     struct _tbm_surface showing_buffer;
-//
-//     _init_test();
-//
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = &waiting_buffer;
-//     layer.showing_buffer = &showing_buffer;
-//     private_display.func_layer.layer_unset_buffer = layer_unset_buffer;
-//
-//     error = tdm_layer_unset_buffer_queue(&layer);
-//
-//     ASSERT_EQ(error, expected_error);
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 2);
-//     ASSERT_EQ(tbm_surface_queue_release_count, 2);
-//     ASSERT_TRUE(layer.waiting_buffer == NULL);
-//     ASSERT_TRUE(layer.showing_buffer == NULL);
-//}
-
-//TEST(tdm_layer_unset_buffer_queue, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error not_expected_error = TDM_ERROR_NONE;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = NULL;
-//     layer.showing_buffer = NULL;
-//     private_display.func_layer.layer_unset_buffer = layer_unset_buffer;
-//     LAYER_UNSET_BUFFER_ERROR = 1;
-//
-//     error = tdm_layer_unset_buffer_queue(&layer);
-//
-//     ASSERT_NE(error, not_expected_error);
-//}
-
-//TEST(tdm_layer_unset_buffer_queue, work_flow_success_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = NULL;
-//     layer.showing_buffer = NULL;
-//     private_display.func_layer.layer_unset_buffer = NULL;
-//
-//     error = tdm_layer_unset_buffer_queue(&layer);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-
-TEST(tdm_layer_unset_buffer_queue, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_layer_unset_buffer_queue(NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_set_buffer_queue() */
-
-TEST(tdm_layer_set_buffer_queue, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       struct _tbm_surface_queue buffer_queue;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-       struct _tbm_surface waiting_buffer;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_buffer = layer_set_buffer;
-       layer.buffer_queue = NULL;
-//     layer.waiting_buffer = &waiting_buffer;
-
-       error = tdm_layer_set_buffer_queue(&layer, &buffer_queue);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 1);
-       ASSERT_EQ(tbm_surface_queue_release_count, 1);
-       ASSERT_TRUE(layer.waiting_buffer == NULL);
-}
-
-TEST(tdm_layer_set_buffer_queue, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       struct _tbm_surface_queue buffer_queue;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_buffer = layer_set_buffer;
-       layer.buffer_queue = &buffer_queue;
-
-       error = tdm_layer_set_buffer_queue(&layer, &buffer_queue);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_buffer_queue, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       struct _tbm_surface_queue buffer_queue;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_buffer = NULL;
-
-       error = tdm_layer_set_buffer_queue(&layer, &buffer_queue);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_buffer_queue, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_set_buffer_queue(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_buffer_queue, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       struct _tbm_surface_queue buffer_queue;
-
-       _init_test();
-
-       error = tdm_layer_set_buffer_queue(NULL, &buffer_queue);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_unset_buffer() */
-
-//TEST(tdm_layer_unset_buffer, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//     struct _tbm_surface waiting_buffer;
-//     struct _tbm_surface showing_buffer;
-//
-//     _init_test();
-//
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = &waiting_buffer;
-//     layer.showing_buffer = &showing_buffer;
-//     private_display.func_layer.layer_unset_buffer = layer_unset_buffer;
-//
-//     error = tdm_layer_unset_buffer(&layer);
-//
-//     ASSERT_EQ(error, expected_error);
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 2);
-//}
-
-//TEST(tdm_layer_unset_buffer, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error not_expected_error = TDM_ERROR_NONE;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = NULL;
-//     layer.showing_buffer = NULL;
-//     private_display.func_layer.layer_unset_buffer = layer_unset_buffer;
-//     LAYER_UNSET_BUFFER_ERROR = 1;
-//
-//     error = tdm_layer_unset_buffer(&layer);
-//
-//     ASSERT_NE(error, not_expected_error);
-//}
-
-//TEST(tdm_layer_unset_buffer, work_flow_success_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = NULL;
-//     layer.showing_buffer = NULL;
-//     private_display.func_layer.layer_unset_buffer = NULL;
-//
-//     error = tdm_layer_unset_buffer(&layer);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-
-TEST(tdm_layer_unset_buffer, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_layer_unset_buffer(NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_set_buffer() */
-//
-//TEST(tdm_layer_set_buffer, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     struct _tbm_surface buffer;
-//     tdm_private_layer layer;
-//     tdm_private_output private_output;
-//     tdm_private_display private_display;
-//     struct _tbm_surface waiting_buffer;
-//
-//     _init_test();
-//
-//     layer.caps.capabilities = TDM_LAYER_CAPABILITY_GRAPHIC;
-//     layer.private_output = &private_output;
-//     private_output.private_display = &private_display;
-//     layer.waiting_buffer = &waiting_buffer;
-//     private_display.func_layer.layer_set_buffer = layer_set_buffer;
-//
-//     error = tdm_layer_set_buffer(&layer, &buffer);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-
-TEST(tdm_layer_set_buffer, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       struct _tbm_surface buffer;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_buffer = layer_set_buffer;
-       LAYER_SET_BUFFER_ERROR = 1;
-
-       error = tdm_layer_set_buffer(&layer, &buffer);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_set_buffer, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       struct _tbm_surface buffer;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_buffer = NULL;
-
-       error = tdm_layer_set_buffer(&layer, &buffer);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_buffer, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_set_buffer(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_buffer, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       struct _tbm_surface buffer;
-
-       _init_test();
-
-       error = tdm_layer_set_buffer(NULL, &buffer);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_get_info() */
-
-TEST(tdm_layer_get_info, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_info_layer info;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_get_info = layer_set_info;
-
-       error = tdm_layer_get_info(&layer, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_info, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_info_layer info;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_get_info = layer_set_info;
-       LAYER_SET_INFO_ERROR = 1;
-
-       error = tdm_layer_get_info(&layer, &info);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_get_info, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_info_layer info;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_get_info = NULL;
-
-       error = tdm_layer_get_info(&layer, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_info, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_info(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_info, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_info_layer info;
-
-       _init_test();
-
-       error = tdm_layer_get_info(NULL, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_set_info() */
-
-TEST(tdm_layer_set_info, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_info_layer info;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.usable = 1;
-       info.src_config.format = 0;
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_info = layer_set_info;
-
-       error = tdm_layer_set_info(&layer, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_info, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_info_layer info;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       info.src_config.format = 1;
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_info = layer_set_info;
-       LAYER_SET_INFO_ERROR = 1;
-
-       error = tdm_layer_set_info(&layer, &info);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_set_info, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_info_layer info;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_info = NULL;
-
-       error = tdm_layer_set_info(&layer, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_info, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_set_info(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_info, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_info_layer info;
-
-       _init_test();
-
-       error = tdm_layer_set_info(NULL, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_get_property() */
-
-TEST(tdm_layer_get_property, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_get_property = layer_get_property;
-
-       error = tdm_layer_get_property(&layer, 1, &value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_property, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_get_property = layer_get_property;
-       LAYER_GET_PROPERTY_ERROR = 1;
-
-       error = tdm_layer_get_property(&layer, 1, &value);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_get_property, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_value value;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_get_property = NULL;
-
-       error = tdm_layer_get_property(&layer, 1, &value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_property, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_property(&layer, 1, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_property, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_value value;
-
-       _init_test();
-
-       error = tdm_layer_get_property(NULL, 1, &value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_set_property() */
-
-TEST(tdm_layer_set_property, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_property = layer_set_property;
-
-       error = tdm_layer_set_property(&layer, 1, value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_property, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_property = layer_set_property;
-       LAYER_SET_PROPERTY_ERROR = 1;
-
-       error = tdm_layer_set_property(&layer, 1, value);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_layer_set_property, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_value value;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       private_output.private_display = &private_display;
-       private_display.func_layer.layer_set_property = NULL;
-
-       error = tdm_layer_set_property(&layer, 1, value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_set_property, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_value value;
-
-       _init_test();
-
-       error = tdm_layer_set_property(NULL, 1, value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_get_zpos() */
-
-TEST(tdm_layer_get_zpos, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       layer.private_output = &private_output;
-       int zpos;
-       int expected_zpos = 547;
-
-       _init_test();
-
-       layer.caps.zpos = expected_zpos;
-
-       error = tdm_layer_get_zpos(&layer, &zpos);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(zpos, expected_zpos);
-}
-
-TEST(tdm_layer_get_zpos, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_zpos(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_zpos, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       int zpos;
-
-       _init_test();
-
-       error = tdm_layer_get_zpos(NULL, &zpos);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_get_available_properties() */
-
-TEST(tdm_layer_get_available_properties, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       const tdm_prop *props;
-       tdm_prop p;
-       int count;
-       tdm_prop *expected_props = &p;
-       int expected_count = 468;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       layer.caps.props = expected_props;
-       layer.caps.prop_count = expected_count;
-
-       error = tdm_layer_get_available_properties(&layer, &props, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(props == expected_props);
-       ASSERT_EQ(count, expected_count);
-}
-
-TEST(tdm_layer_get_available_properties, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       const tdm_prop *props;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_available_properties(&layer, &props, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_available_properties, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       int count;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_available_properties(&layer, NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_available_properties, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       const tdm_prop *props;
-       int count;
-
-       _init_test();
-
-       error = tdm_layer_get_available_properties(NULL, &props, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_get_available_formats() */
-
-TEST(tdm_layer_get_available_formats, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       const tbm_format *formats;
-       tbm_format f;
-       int count;
-       tbm_format *expected_formats = &f;
-       int expected_count = 468;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       layer.caps.formats = expected_formats;
-       layer.caps.format_count = expected_count;
-
-       error = tdm_layer_get_available_formats(&layer, &formats, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(formats == expected_formats);
-       ASSERT_EQ(count, expected_count);
-}
-
-TEST(tdm_layer_get_available_formats, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       const tbm_format *formats;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_available_formats(&layer, &formats, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_available_formats, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-       int count;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_available_formats(&layer, NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_available_formats, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       const tbm_format *formats;
-       int count;
-
-       _init_test();
-
-       error = tdm_layer_get_available_formats(NULL, &formats, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_layer_get_capabilities() */
-
-TEST(tdm_layer_get_capabilities, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_layer_capability capabilities = TDM_LAYER_CAPABILITY_SCALE;
-       tdm_layer_capability expected_capabilities = TDM_LAYER_CAPABILITY_GRAPHIC;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-       layer.caps.capabilities = expected_capabilities;
-
-       error = tdm_layer_get_capabilities(&layer, &capabilities);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(capabilities, expected_capabilities);
-}
-
-TEST(tdm_layer_get_capabilities, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_layer layer;
-       tdm_private_output private_output;
-
-       _init_test();
-
-       layer.private_output = &private_output;
-
-       error = tdm_layer_get_capabilities(&layer, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_layer_get_capabilities, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_layer_capability capabilities = TDM_LAYER_CAPABILITY_SCALE;
-
-       _init_test();
-
-       error = tdm_layer_get_capabilities(NULL, &capabilities);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_create_capture() */
-
-TEST(tdm_output_create_capture, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-
-       _init_test();
-
-       tdm_output_create_capture(&output, &error);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_create_capture, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-
-       _init_test();
-
-       TDM_CAPTURE_CREATE_OUTPUT_INTENAL_ERROR = 1;
-
-       tdm_output_create_capture(&output, &error);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_create_capture, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       tdm_output_create_capture(NULL, &error);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_dpms() */
-
-TEST(tdm_output_get_dpms, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_output_dpms dpms_value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_get_dpms = output_get_dpms;
-
-       error = tdm_output_get_dpms(&output, &dpms_value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_dpms, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_output_dpms dpms_value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_get_dpms = output_get_dpms;
-       OUTPUT_GET_DPMS_ERROR = 1;
-
-       error = tdm_output_get_dpms(&output, &dpms_value);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_get_dpms, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_output_dpms dpms_value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_get_dpms = NULL;
-
-       error = tdm_output_get_dpms(&output, &dpms_value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_dpms, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_output_dpms dpms_value;
-
-       _init_test();
-
-       error = tdm_output_get_dpms(NULL, &dpms_value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_set_dpms() */
-
-TEST(tdm_output_set_dpms, error_output_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-
-       _init_test();
-
-       error = tdm_output_set_dpms(NULL, dpms_value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_set_dpms, success_dpms_is_already_set)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = (tdm_output_dpms)10;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.current_dpms_value = TDM_OUTPUT_DPMS_OFF;
-
-       output.private_display = &private_display;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_output_set_dpms, error_event_loop_add_timer_handler_error)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       stub_tdm_event_loop_add_timer_handler_error = 1;
-       output.dpms_changed_timer = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       output.private_display = &private_display;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-}
-
-TEST(tdm_output_set_dpms, success_output_set_dpms_is_null)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-       tdm_func_output func_output;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       output.dpms_changed_timer = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       output.private_display = &private_display;
-
-       func_output.output_set_dpms = NULL;
-
-       private_display.func_output = func_output;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_output_set_dpms, error_output_set_dpms)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-       tdm_func_output func_output;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       output.dpms_changed_timer = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       output.private_display = &private_display;
-
-       func_output.output_set_dpms = output_set_dpms;
-       func_output.output_set_dpms_handler = NULL;
-
-       private_display.func_output = func_output;
-
-       OUTPUT_SET_DPMS_ERROR = 1;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-}
-
-TEST(tdm_output_set_dpms, error_output_set_dpms_handler_is_null)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-       tdm_func_output func_output;
-       tdm_private_change_handler change_handler;
-
-       _init_test();
-
-       stub_tdm_event_loop_source_timer_update_error = 1;
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_ADD(&change_handler.link, &output.change_handler_list_sub);
-
-       output.dpms_changed_timer = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       output.private_display = &private_display;
-
-       func_output.output_set_dpms = output_set_dpms;
-       func_output.output_set_dpms_handler = NULL;
-
-       private_display.func_output = func_output;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-}
-
-TEST(tdm_output_set_dpms, success_output_set_dpms_handler_is_null)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-       tdm_func_output func_output;
-       tdm_private_change_handler change_handler;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_ADD(&change_handler.link, &output.change_handler_list_sub);
-
-       output.dpms_changed_timer = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       output.private_display = &private_display;
-
-       func_output.output_set_dpms = output_set_dpms;
-       func_output.output_set_dpms_handler = NULL;
-
-       private_display.func_output = func_output;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_output_set_dpms, success_output_set_dpms_handler_is_not_null)
-{
-       tdm_error error;
-       tdm_output_dpms dpms_value = TDM_OUTPUT_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-       tdm_func_output func_output;
-
-       _init_test();
-
-       stub_tdm_event_loop_source_timer_update_error = 1;
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-       LIST_INITHEAD(&output.change_handler_list_main);
-
-       output.dpms_changed_timer = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       output.private_display = &private_display;
-       output.regist_dpms_cb = 0;
-
-       func_output.output_set_dpms = output_set_dpms;
-       func_output.output_set_dpms_handler = output_set_dpms_handler;
-
-       private_display.func_output = func_output;
-
-       error = tdm_output_set_dpms(&output, dpms_value);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-/* tdm_output_get_mode() */
-
-TEST(tdm_output_get_mode, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       const tdm_output_mode *mode;
-       tdm_private_output output;
-       tdm_output_mode expected_mode;
-       output.current_mode = &expected_mode;
-
-       _init_test();
-
-       error = tdm_output_get_mode(&output, &mode);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(mode == &expected_mode);
-}
-
-TEST(tdm_output_get_mode, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_mode(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_mode, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       const tdm_output_mode *mode;
-
-       _init_test();
-
-       error = tdm_output_get_mode(NULL, &mode);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_set_mode() */
-
-TEST(tdm_output_set_mode, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_output_mode mode;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_set_mode = output_set_mode;
-
-       error = tdm_output_set_mode(&output, &mode);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_set_mode, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_output_mode mode;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_set_mode = output_set_mode;
-       OUTPUT_SET_MODE_ERROR = 1;
-
-       error = tdm_output_set_mode(&output, &mode);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_set_mode, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_output_mode mode;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_set_mode = NULL;
-
-       error = tdm_output_set_mode(&output, &mode);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_set_mode, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_set_mode(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_set_mode, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_output_mode mode;
-
-       _init_test();
-
-       error = tdm_output_set_mode(NULL, &mode);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_commit() */
-
-TEST(tdm_output_commit, work_flow_success_7)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_OFF;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_commit, work_flow_success_6)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = output_commit;
-       private_display.func_output.output_set_commit_handler =
-                       output_set_commit_handler;
-       output.regist_commit_cb = 1;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_commit, work_flow_success_5)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = output_commit;
-       private_display.func_output.output_set_commit_handler =
-                       output_set_commit_handler;
-       output.regist_commit_cb = 0;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_commit, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = output_commit;
-       private_display.func_output.output_set_commit_handler =
-                       output_set_commit_handler;
-       output.regist_commit_cb = 0;
-       OUTPUT_COMMIT_ERROR = 1;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_commit, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = output_commit;
-       OUTPUT_COMMIT_ERROR = 1;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-       private_display.func_output.output_set_commit_handler =
-                       output_set_commit_handler;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_commit, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = output_commit;
-       CALLOC_ERROR = 1;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_commit, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-//     LIST_INITHEAD(&output.commit_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_commit = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_commit(&output, 0, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_commit, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_output_commit(NULL, 0, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-
-/* tdm_output_wait_vblank() */
-
-TEST(tdm_output_wait_vblank, work_flow_success_7)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_DPMS_OFF;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.vblank_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_wait_vblank = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_STANDBY;
-
-       error = tdm_output_wait_vblank(&output, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_wait_vblank, work_flow_success_6)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.vblank_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_wait_vblank = output_wait_vblank;
-       private_display.func_output.output_set_vblank_handler =
-                       output_set_vblank_handler;
-       output.regist_vblank_cb = 1;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_wait_vblank(&output, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_wait_vblank, work_flow_success_5)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.vblank_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_wait_vblank = output_wait_vblank;
-       private_display.func_output.output_set_vblank_handler =
-                       output_set_vblank_handler;
-       output.regist_vblank_cb = 0;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_wait_vblank(&output, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_wait_vblank, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.vblank_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_wait_vblank = output_wait_vblank;
-       private_display.func_output.output_set_vblank_handler =
-                       output_set_vblank_handler;
-       OUTPUT_SET_VBLANK_HANDLER = 1;
-       output.regist_vblank_cb = 0;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_wait_vblank(&output, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-//TEST(tdm_output_wait_vblank, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error not_expected_error = TDM_ERROR_NONE;
-//     tdm_private_output output;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     LIST_INITHEAD(&output.vblank_handler_list);
-//
-//     output.private_display = &private_display;
-//     private_display.func_output.output_wait_vblank = output_wait_vblank;
-//     OUTPUT_WAIT_VBLANK_ERROR = 1;
-//     output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-//
-//     error = tdm_output_wait_vblank(&output, 1, 1,
-//                                                                ut_tdm_output_vblank_handler, NULL);
-//
-//     ASSERT_NE(error, not_expected_error);
-//}
-
-TEST(tdm_output_wait_vblank, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.vblank_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_wait_vblank = output_wait_vblank;
-       CALLOC_ERROR = 1;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_wait_vblank(&output, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_wait_vblank, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.vblank_handler_list);
-
-       output.private_display = &private_display;
-       private_display.func_output.output_wait_vblank = NULL;
-       output.current_dpms_value = TDM_OUTPUT_DPMS_ON;
-
-       error = tdm_output_wait_vblank(&output, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_wait_vblank, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_output_wait_vblank(NULL, 1, 1,
-                                                                  ut_tdm_output_vblank_handler, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_property() */
-
-TEST(tdm_output_get_property, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_get_property = output_get_property;
-
-       error = tdm_output_get_property(&output, 1, &value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_property, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_get_property = output_get_property;
-       OUTPUT_GET_PROPERTY_ERROR = 1;
-
-       error = tdm_output_get_property(&output, 1, &value);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_get_property, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_value value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_get_property = NULL;
-
-       error = tdm_output_get_property(&output, 1, &value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_property, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_property(&output, 1, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_property, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_value value;
-
-       _init_test();
-
-       error = tdm_output_get_property(NULL, 1, &value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_set_property() */
-
-TEST(tdm_output_set_property, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_set_property = output_set_property;
-
-       error = tdm_output_set_property(&output, 1, value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_set_property, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_value value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_set_property = output_set_property;
-       OUTPUT_SET_PROPERTY_ERROR = 1;
-
-       error = tdm_output_set_property(&output, 1, value);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_output_set_property, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_value value;
-       tdm_private_output output;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       output.private_display = &private_display;
-       private_display.func_output.output_set_property = NULL;
-
-       error = tdm_output_set_property(&output, 1, value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_set_property, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_value value;
-
-       _init_test();
-
-       error = tdm_output_set_property(NULL, 1, value);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_pipe() */
-
-TEST(tdm_output_get_pipe, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       unsigned int pipe;
-       unsigned int expected_pipe = 4869;
-
-       _init_test();
-
-       output.pipe = expected_pipe;
-
-       error = tdm_output_get_pipe(&output, &pipe);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(pipe, expected_pipe);
-}
-
-TEST(tdm_output_get_pipe, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_pipe(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_pipe, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       unsigned int pipe;
-
-       _init_test();
-
-       error = tdm_output_get_pipe(NULL, &pipe);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_subpixel() */
-
-TEST(tdm_output_get_subpixel, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       unsigned int subpixel;
-       unsigned int expected_subpixel = 4869;
-
-       _init_test();
-
-       output.caps.subpixel = expected_subpixel;
-
-       error = tdm_output_get_subpixel(&output, &subpixel);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(subpixel, expected_subpixel);
-}
-
-TEST(tdm_output_get_subpixel, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_subpixel(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_subpixel, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       unsigned int subpixel;
-
-       _init_test();
-
-       error = tdm_output_get_subpixel(NULL, &subpixel);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_physical_size() */
-
-TEST(tdm_output_get_physical_size, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       unsigned int mmWidth;
-       unsigned int expected_mmWidth = 445;
-       unsigned int mmHeight;
-       unsigned int expected_mmHeight = 4547;
-
-       _init_test();
-
-       output.caps.mmWidth = expected_mmWidth;
-       output.caps.mmHeight = expected_mmHeight;
-
-       error = tdm_output_get_physical_size(&output, &mmWidth, &mmHeight);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(mmWidth, expected_mmWidth);
-       ASSERT_EQ(mmHeight, expected_mmHeight);
-}
-
-TEST(tdm_output_get_physical_size, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       unsigned int mmHeight;
-       unsigned int expected_mmHeight = 4547;
-
-       _init_test();
-
-       output.caps.mmHeight = expected_mmHeight;
-
-       error = tdm_output_get_physical_size(&output, NULL, &mmHeight);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(mmHeight, expected_mmHeight);
-}
-
-TEST(tdm_output_get_physical_size, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       unsigned int mmWidth;
-       unsigned int expected_mmWidth = 445;
-
-       _init_test();
-
-       output.caps.mmWidth = expected_mmWidth;
-
-       error = tdm_output_get_physical_size(&output, &mmWidth, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(mmWidth, expected_mmWidth);
-}
-
-TEST(tdm_output_get_physical_size, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_output_get_physical_size(NULL, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_available_size() */
-
-TEST(tdm_output_get_available_size, work_flow_6)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       int min_w;
-       int expected_min_w = 200;
-       int min_h;
-       int expected_min_h = 100;
-       int max_w;
-       int expected_max_w = 2000;
-       int max_h;
-       int expected_max_h = 1000;
-       int preferred_align;
-       int expected_preferred_align = 456;
-
-       _init_test();
-
-       output.caps.min_w = expected_min_w;
-       output.caps.min_h = expected_min_h;
-       output.caps.max_w = expected_max_w;
-       output.caps.max_h = expected_max_h;
-       output.caps.preferred_align = expected_preferred_align;
-
-       error = tdm_output_get_available_size(&output, &min_w, &min_h, &max_w,
-                                                                                 &max_h, &preferred_align);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(preferred_align, expected_preferred_align);
-       ASSERT_EQ(min_w, expected_min_w);
-       ASSERT_EQ(min_h, expected_min_h);
-       ASSERT_EQ(max_w, expected_max_w);
-       ASSERT_EQ(max_h, expected_max_h);
-       ASSERT_EQ(preferred_align, expected_preferred_align);
-}
-
-TEST(tdm_output_get_available_size, work_flow_5)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       int preferred_align;
-       int expected_preferred_align = 456;
-
-       _init_test();
-
-       output.caps.preferred_align = expected_preferred_align;
-
-       error = tdm_output_get_available_size(&output, NULL, NULL, NULL,
-                                                                                 NULL, &preferred_align);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(preferred_align, expected_preferred_align);
-}
-
-TEST(tdm_output_get_available_size, work_flow_4)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       int max_h;
-       int expected_max_h = 1000;
-
-       _init_test();
-
-       output.caps.max_h = expected_max_h;
-
-       error = tdm_output_get_available_size(&output, NULL, NULL, NULL,
-                                                                                 &max_h, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(max_h, expected_max_h);
-}
-
-TEST(tdm_output_get_available_size, work_flow_3)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       int max_w;
-       int expected_max_w = 2000;
-
-       _init_test();
-
-       output.caps.max_w = expected_max_w;
-
-       error = tdm_output_get_available_size(&output, NULL, NULL,
-                                                                                 &max_w, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(max_w, expected_max_w);
-}
-
-TEST(tdm_output_get_available_size, work_flow_2)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       int min_h;
-       int expected_min_h = 100;
-
-       _init_test();
-
-       output.caps.min_h = expected_min_h;
-
-       error = tdm_output_get_available_size(&output, NULL, &min_h,
-                                                                                 NULL, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(min_h, expected_min_h);
-}
-
-TEST(tdm_output_get_available_size, work_flow_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       int min_w;
-       int expected_min_w = 200;
-
-       _init_test();
-
-       output.caps.min_w = expected_min_w;
-
-       error = tdm_output_get_available_size(&output, &min_w, NULL,
-                                                                                 NULL, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(min_w, expected_min_w);
-}
-
-TEST(tdm_output_get_available_size, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_output_get_available_size(NULL, NULL, NULL, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_available_modes() */
-
-TEST(tdm_output_get_available_modes, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       const tdm_output_mode *modes;
-       int count;
-       tdm_output_mode m;
-       const tdm_output_mode *expected_modes = &m;
-       int expected_count = 14;
-
-       _init_test();
-
-       output.caps.modes = &m;
-       output.caps.mode_count = expected_count;
-
-       error = tdm_output_get_available_modes(&output, &modes, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(modes == expected_modes);
-       ASSERT_EQ(count, expected_count);
-}
-
-TEST(tdm_output_get_available_modes, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-       const tdm_output_mode *modes;
-
-       _init_test();
-
-       error = tdm_output_get_available_modes(&output, &modes, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_available_modes, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-       int count;
-
-       _init_test();
-
-       error = tdm_output_get_available_modes(&output, NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_available_modes, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       const tdm_output_mode *modes;
-       int count;
-
-       _init_test();
-
-       error = tdm_output_get_available_modes(NULL, &modes, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_available_properties() */
-
-TEST(tdm_output_get_available_properties, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       const tdm_prop *props;
-       int count;
-       tdm_prop p;
-       const tdm_prop *expected_props = &p;
-       int expected_count = 14;
-
-       _init_test();
-
-       output.caps.props = &p;
-       output.caps.prop_count = expected_count;
-
-       error = tdm_output_get_available_properties(&output, &props, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(props == expected_props);
-       ASSERT_EQ(count, expected_count);
-}
-
-TEST(tdm_output_get_available_properties, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-       const tdm_prop *props;
-
-       _init_test();
-
-       error = tdm_output_get_available_properties(&output, &props, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_available_properties, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-       int count;
-
-       _init_test();
-
-       error = tdm_output_get_available_properties(&output, NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_available_properties, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       const tdm_prop *props;
-       int count;
-
-       _init_test();
-
-       error = tdm_output_get_available_properties(NULL, &props, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_layer() */
-
-TEST(tdm_output_get_layer, success_get_layer)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_private_layer private_layer;
-       tdm_layer *layer;
-
-       _init_test();
-
-       private_layer.index = 15;
-
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADD(&private_layer.link, &output.layer_list);
-
-       layer = tdm_output_get_layer(&output, 15, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(layer == &private_layer);
-}
-
-TEST(tdm_output_get_layer, success_list_is_empty)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_layer *layer;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.layer_list);
-
-       layer = tdm_output_get_layer(&output, 1, &error);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(layer == NULL);
-}
-
-TEST(tdm_output_get_layer, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       tdm_output_get_layer(NULL, 1, &error);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_layer_count() */
-
-TEST(tdm_output_get_layer_count, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       int count;
-       tdm_private_output output;
-       tdm_private_layer private_layer_1;
-       tdm_private_layer private_layer_2;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADD(&private_layer_1.link, &output.layer_list);
-       LIST_ADD(&private_layer_2.link, &output.layer_list);
-
-       error = tdm_output_get_layer_count(&output, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(count, 2);
-}
-
-TEST(tdm_output_get_layer_count, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       int count;
-       tdm_private_output output;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.layer_list);
-
-       error = tdm_output_get_layer_count(&output, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(count, 0);
-}
-
-TEST(tdm_output_get_layer_count, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_layer_count(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_layer_count, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       int count;
-
-       _init_test();
-
-       error = tdm_output_get_layer_count(NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_output_type() */
-
-TEST(tdm_output_get_output_type, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       tdm_output_type type = TDM_OUTPUT_TYPE_DVID;
-       tdm_output_type expected_type = TDM_OUTPUT_TYPE_VGA;
-
-       _init_test();
-
-       output.caps.type = expected_type;
-
-       error = tdm_output_get_output_type(&output, &type);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(type, expected_type);
-}
-
-TEST(tdm_output_get_output_type, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_output_type(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_output_type, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_output_type type = TDM_OUTPUT_TYPE_DVID;
-
-       _init_test();
-
-       error = tdm_output_get_output_type(NULL, &type);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_conn_status() */
-
-TEST(tdm_output_get_conn_status, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_output_conn_status status = TDM_OUTPUT_CONN_STATUS_DISCONNECTED;
-       tdm_output_conn_status expected_status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-       tdm_private_output output;
-
-       _init_test();
-
-       output.caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-
-       error = tdm_output_get_conn_status(&output, &status);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(status, expected_status);
-}
-
-TEST(tdm_output_get_conn_status, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_conn_status(&output, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_conn_status, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_output_conn_status status;
-
-       _init_test();
-
-       error = tdm_output_get_conn_status(NULL, &status);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_output_get_model_info() */
-
-TEST(tdm_output_get_model_info, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-       const char *maker;
-       const char *model;
-       const char *name;
-       char *expected_maker = output.caps.maker;
-       char *expected_model = output.caps.model;
-       char *expected_name = output.caps.name;
-
-       _init_test();
-
-       error = tdm_output_get_model_info(&output, &maker, &model, &name);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(maker == expected_maker);
-       ASSERT_TRUE(model == expected_model);
-       ASSERT_TRUE(name == expected_name);
-}
-
-TEST(tdm_output_get_model_info, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_model_info(&output, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_output_get_model_info, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_output_get_model_info(NULL, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_create_pp() */
-
-TEST(tdm_display_create_pp, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       tdm_display_create_pp(&dpy, &error);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-TEST(tdm_display_create_pp, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       TDM_PP_CREATE_INTERNAL_ERROR = 1;
-
-       tdm_display_create_pp(&dpy, &error);
-
-       ASSERT_NE(error, not_expected_error);
-
-}
-
-TEST(tdm_display_create_pp, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       tdm_display_create_pp(NULL, &error);
-
-       ASSERT_EQ(error, expected_error);
-
-}
-
-/* tdm_display_handle_events() */
-
-TEST(tdm_display_handle_events, success_thread_handle_cb)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       stub_tdm_thread_is_run = 1;
-
-       error = tdm_display_handle_events(&dpy);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_display_handle_events, error_thread_handle_cb)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       stub_tdm_thread_is_run = 1;
-       TDM_THREAD_HANDLE_ERROR = 1;
-
-       error = tdm_display_handle_events(&dpy);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-}
-
-TEST(tdm_display_handle_events, error_poll)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       stub_poll_error = 1;
-
-       error = tdm_display_handle_events(&dpy);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-}
-
-TEST(tdm_display_handle_events, success_poll_eagain)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       stub_poll_eagain = 1;
-
-       error = tdm_display_handle_events(&dpy);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_display_handle_events, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       error = tdm_display_handle_events(&dpy);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_handle_events, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       TDM_EVENT_LOOP_DISPATCH_ERROR = 1;
-
-       error = tdm_display_handle_events(&dpy);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_display_handle_events, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_handle_events(NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_fd() */
-
-TEST(tdm_display_get_fd, success_thread_is_running)
-{
-       tdm_error error;
-       int fd;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       stub_tdm_thread_is_run = 1;
-       stub_tdm_thread_ret_fd = 5;
-
-       error = tdm_display_get_fd(&dpy, &fd);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(fd, stub_tdm_thread_ret_fd);
-}
-
-TEST(tdm_display_get_fd, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       int fd;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       error = tdm_display_get_fd(&dpy, &fd);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_fd, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       error = tdm_display_get_fd(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_fd, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       int fd;
-
-       _init_test();
-
-       error = tdm_display_get_fd(NULL, &fd);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_output() */
-
-TEST(tdm_display_get_output, success_get_output)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error;
-       struct _tdm_private_display dpy;
-       tdm_output *ret_output;
-       tdm_private_output output;
-
-       _init_test();
-
-       output.index = 20;
-
-       LIST_INITHEAD(&dpy.output_list);
-       LIST_ADD(&output.link, &dpy.output_list);
-
-       ret_output = tdm_display_get_output(&dpy, output.index, &error);
-
-       expected_error = TDM_ERROR_NONE;
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(ret_output, &output);
-}
-
-TEST(tdm_display_get_output, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       LIST_INITHEAD(&dpy.output_list);
-
-       tdm_display_get_output(&dpy, 1, &error);
-
-       expected_error = TDM_ERROR_NONE;
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_output, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error;
-       expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       tdm_display_get_output(NULL, 1, &error);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_output_count() */
-
-TEST(tdm_display_get_output_count, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error;
-       struct _tdm_private_display dpy;
-       int count;
-       tdm_private_output output_1;
-       tdm_private_output output_2;
-
-       _init_test();
-
-       LIST_INITHEAD(&dpy.output_list);
-       LIST_ADD(&output_1.link, &dpy.output_list);
-       LIST_ADD(&output_2.link, &dpy.output_list);
-
-       error = tdm_display_get_output_count(&dpy, &count);
-
-       expected_error = TDM_ERROR_NONE;
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(count, 2);
-}
-
-TEST(tdm_display_get_output_count, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error;
-       struct _tdm_private_display dpy;
-       int count;
-
-       _init_test();
-
-       LIST_INITHEAD(&dpy.output_list);
-
-       error = tdm_display_get_output_count(&dpy, &count);
-
-       expected_error = TDM_ERROR_NONE;
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(count, 0);
-}
-
-TEST(tdm_display_get_output_count, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error;
-       struct _tdm_private_display dpy;
-
-       _init_test();
-
-       error = tdm_display_get_output_count(&dpy, NULL);
-
-       expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_output_count, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       int count;
-
-       _init_test();
-
-       error = tdm_display_get_output_count(NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_catpure_available_formats() */
-
-TEST(tdm_display_get_catpure_available_formats, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       const tbm_format *format;
-       int count;
-       tbm_format expected_format = 2;
-       int expected_count = 3;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       dpy.caps_capture.format_count = expected_count;
-       dpy.caps_capture.formats = &expected_format;
-
-       error = tdm_display_get_catpure_available_formats(&dpy, &format, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(format == &expected_format);
-       ASSERT_EQ(count, expected_count);
-}
-
-TEST(tdm_display_get_catpure_available_formats, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       const tbm_format *format;
-       int count;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-
-       error = tdm_display_get_catpure_available_formats(&dpy, &format, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_catpure_available_formats, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       const tbm_format *format;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_catpure_available_formats(&dpy, &format, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_catpure_available_formats, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       int count;
-
-       _init_test();
-
-       error = tdm_display_get_catpure_available_formats(&dpy, NULL, &count);
-
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_catpure_available_formats, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       const tbm_format *format;
-       int count;
-
-       _init_test();
-
-       error = tdm_display_get_catpure_available_formats(NULL, &format, &count);
-
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_capture_capabilities() */
-
-TEST(tdm_display_get_capture_capabilities, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_capture_capability capability = TDM_CAPTURE_CAPABILITY_STREAM;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_capture_capability expected_capability = TDM_CAPTURE_CAPABILITY_LAYER;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       dpy.caps_capture.capabilities = TDM_CAPTURE_CAPABILITY_LAYER;
-
-       error = tdm_display_get_capture_capabilities(&dpy, &capability);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(capability, expected_capability);
-}
-
-TEST(tdm_display_get_capture_capabilities, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_capture_capability capability = TDM_CAPTURE_CAPABILITY_STREAM;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-
-       error = tdm_display_get_capture_capabilities(&dpy, &capability);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_capture_capabilities, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_capture_capabilities(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_capture_capabilities, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_capture_capability capability = TDM_CAPTURE_CAPABILITY_STREAM;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_capture_capabilities(NULL, &capability);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_pp_available_size() */
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_7)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       int min_w = 0;
-       int expected_min_w = 200;
-       int min_h = 0;
-       int expected_min_h = 100;
-       int max_w = 0;
-       int expected_max_w = 2000;
-       int max_h = 0;
-       int expected_max_h = 1000;
-       int preferred_align = 0;
-       int expected_preferred_align = 500;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.min_w = expected_min_w;
-       dpy.caps_pp.min_h = expected_min_h;
-       dpy.caps_pp.max_w = expected_max_w;
-       dpy.caps_pp.max_h = expected_max_h;
-       dpy.caps_pp.preferred_align = expected_preferred_align;
-
-       error = tdm_display_get_pp_available_size(&dpy, &min_w, &min_h, &max_w,
-                                                                                         &max_h, &preferred_align);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(min_w, expected_min_w);
-       ASSERT_EQ(min_h, expected_min_h);
-       ASSERT_EQ(max_w, expected_max_w);
-       ASSERT_EQ(max_h, expected_max_h);
-       ASSERT_EQ(preferred_align, expected_preferred_align);
-}
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_6)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       int preferred_align = 0;
-       int expected_preferred_align = 500;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.preferred_align = expected_preferred_align;
-
-       error = tdm_display_get_pp_available_size(&dpy, NULL, NULL, NULL, NULL,
-                                                                                         &preferred_align);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(preferred_align, expected_preferred_align);
-}
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_5)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       int max_h = 0;
-       int expected_max_h = 1000;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.max_h = expected_max_h;
-
-       error = tdm_display_get_pp_available_size(&dpy, NULL, NULL, NULL,
-                                                                                         &max_h, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(max_h, expected_max_h);
-}
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_4)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       int max_w = 0;
-       int expected_max_w = 2000;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.max_w = expected_max_w;
-
-       error = tdm_display_get_pp_available_size(&dpy, NULL, NULL, &max_w,
-                                                                                         NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(max_w, expected_max_w);
-}
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       int min_h = 0;
-       int expected_min_h = 100;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.min_h = expected_min_h;
-
-       error = tdm_display_get_pp_available_size(&dpy, NULL, &min_h, NULL,
-                                                                                         NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(min_h, expected_min_h);
-}
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       int min_w = 0;
-       int expected_min_w = 200;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.min_w = expected_min_w;
-
-       error = tdm_display_get_pp_available_size(&dpy, &min_w, NULL, NULL,
-                                                                                         NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(min_w, expected_min_w);
-}
-
-TEST(tdm_display_get_pp_available_size, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       error = tdm_display_get_pp_available_size(&dpy, NULL, NULL, NULL,
-                                                                                         NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_pp_available_size, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_pp_available_size(NULL, NULL, NULL, NULL,
-                                                                                         NULL, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_pp_available_formats() */
-
-TEST(tdm_display_get_pp_available_formats, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       struct _tdm_private_display dpy;
-       const tbm_format *format;
-       int count;
-       tbm_format expected_format = 2;
-       int expected_count = 3;
-       tdm_error expected_error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.format_count = expected_count;
-       dpy.caps_pp.formats = &expected_format;
-
-       error = tdm_display_get_pp_available_formats(&dpy, &format, &count);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(format == &expected_format);
-       ASSERT_EQ(count, expected_count);
-}
-
-TEST(tdm_display_get_pp_available_formats, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       const tbm_format *format;
-       int count;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       error = tdm_display_get_pp_available_formats(&dpy, &format, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_pp_available_formats, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       const tbm_format *format;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_pp_available_formats(&dpy, &format, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_pp_available_formats, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       int count;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_pp_available_formats(&dpy, NULL, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_pp_available_formats, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       const tbm_format *format;
-       int count;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_pp_available_formats(NULL, &format, &count);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_pp_capabilities() */
-
-TEST(tdm_display_get_pp_capabilities, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_pp_capability capability = TDM_PP_CAPABILITY_SCALE;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_pp_capability expected_capability = TDM_PP_CAPABILITY_TRANSFORM;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       dpy.caps_pp.capabilities = TDM_PP_CAPABILITY_TRANSFORM;
-
-       error = tdm_display_get_pp_capabilities(&dpy, &capability);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(capability, expected_capability);
-}
-
-TEST(tdm_display_get_pp_capabilities, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_pp_capability capability = TDM_PP_CAPABILITY_SCALE;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NO_CAPABILITY;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       error = tdm_display_get_pp_capabilities(&dpy, &capability);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_pp_capabilities, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_pp_capabilities(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_pp_capabilities, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_pp_capability capability = TDM_PP_CAPABILITY_SCALE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_pp_capabilities(NULL, &capability);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_capabilities() */
-
-TEST(tdm_display_get_capabilities, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_display_capability capability = TDM_DISPLAY_CAPABILITY_PP;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_display_capability expected_capability = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       _init_test();
-
-       dpy.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       error = tdm_display_get_capabilities(&dpy, &capability);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(capability, expected_capability);
-}
-
-TEST(tdm_display_get_capabilities, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       struct _tdm_private_display dpy;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_capabilities(&dpy, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_display_get_capabilities, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_display_capability capability = TDM_DISPLAY_CAPABILITY_CAPTURE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_display_get_capabilities(NULL, &capability);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_display_get_capture_available_size() */
-
-TEST(tdm_display_get_capture_available_size, error_dpy_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-
-       _init_test();
-
-       error = tdm_display_get_capture_available_size(NULL, NULL, NULL, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_display_get_capture_available_size, error_no_capability)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display display;
-
-       _init_test();
-
-       display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-
-       error = tdm_display_get_capture_available_size(&display, NULL, NULL, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NO_CAPABILITY);
-}
-
-TEST(tdm_display_get_capture_available_size, success_get_capture_available_size)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display display;
-       int min_w, min_h, max_w, max_h, preferred_align;
-
-       _init_test();
-
-       display.capabilities = TDM_DISPLAY_CAPABILITY_CAPTURE;
-
-       display.caps_capture.min_w = 200;
-       display.caps_capture.min_h = 300;
-       display.caps_capture.max_w = 1080;
-       display.caps_capture.max_h = 1920;
-       display.caps_capture.preferred_align = 100;
-
-       error = tdm_display_get_capture_available_size(&display, &min_w,
-                                                                                                  &min_h, &max_w, &max_h,
-                                                                                                  &preferred_align);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(display.caps_capture.min_w, min_w);
-       ASSERT_EQ(display.caps_capture.min_h, min_h);
-       ASSERT_EQ(display.caps_capture.max_w, max_w);
-       ASSERT_EQ(display.caps_capture.max_h, max_h);
-       ASSERT_EQ(display.caps_capture.preferred_align, preferred_align);
-}
-
-/* tdm_display_get_capture_available_size() */
-
-TEST(tdm_display_get_max_layer_count, error_dpy_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       int max_count;
-
-       _init_test();
-
-       error = tdm_display_get_max_layer_count(NULL, &max_count);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_display_get_max_layer_count, error_max_count_is_null)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display display;
-
-       _init_test();
-
-       error = tdm_display_get_max_layer_count(&display, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_display_get_max_layer_count, success_get_max_layer_count)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_display display;
-       int max_count;
-
-       _init_test();
-
-       display.caps_display.max_layer_count = 100;
-
-       error = tdm_display_get_max_layer_count(&display, &max_count);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(display.caps_display.max_layer_count, max_count);
-}
-
-/* tdm_display_get_backend_info() */
-
-TEST(tdm_display_get_backend_info, error_dpy_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_display_get_backend_info(NULL, NULL, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_display_get_backend_info, success_get_backend_info)
-{
-       tdm_error error;
-       tdm_private_display display;
-       tdm_backend_module module_data;
-       const char *name;
-       const char *vendor;
-       int major;
-       int minor;
-
-       _init_test();
-
-       display.module_data = &module_data;
-
-       module_data.name = "name";
-       module_data.vendor = "vendor";
-       module_data.abi_version = 0xFFFFFFFF;
-
-       error = tdm_display_get_backend_info(&display, &name, &vendor, &major, &minor);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(name == module_data.name);
-       ASSERT_TRUE(vendor == module_data.vendor);
-       ASSERT_EQ(major, TDM_BACKEND_GET_ABI_MAJOR(module_data.abi_version));
-       ASSERT_EQ(minor, TDM_BACKEND_GET_ABI_MINOR(module_data.abi_version));
-}
-
-/* tdm_output_get_capabilities() */
-
-TEST(tdm_output_get_capabilities, error_output_is_null)
-{
-       tdm_error error;
-       tdm_output_capability capabilities;
-
-       _init_test();
-
-       error = tdm_output_get_capabilities(NULL, &capabilities);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_get_capabilities, error_capabilities_is_null)
-{
-       tdm_error error;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_capabilities(&output, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_get_capabilities, success_get_capabilities)
-{
-       tdm_error error;
-       tdm_private_output output;
-       tdm_output_capability capabilities;
-
-       _init_test();
-
-       output.caps.capabilities = TDM_OUTPUT_CAPABILITY_ASYNC_DPMS;
-
-       error = tdm_output_get_capabilities(&output, &capabilities);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(capabilities, output.caps.capabilities);
-}
-
-/* tdm_output_cb_status() */
-
-TEST(tdm_output_cb_status, success_no_in_display_thread)
-{
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-       tdm_thread_cb_output_status *output_status;
-       tdm_output_conn_status status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-
-       _init_test();
-
-       private_output.private_display = &private_display;
-       private_output.stamp = 15.25;
-
-       LIST_INITHEAD(&private_output.change_handler_list_sub);
-
-       tdm_output_cb_status(&private_output, status, &private_output);
-
-       output_status = (tdm_thread_cb_output_status *)stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(output_status->base.type, TDM_THREAD_CB_OUTPUT_STATUS);
-       ASSERT_EQ(output_status->base.length, sizeof * output_status);
-       ASSERT_EQ(output_status->output_stamp, private_output.stamp);
-       ASSERT_EQ(output_status->status, status);
-       ASSERT_TRUE(output_status->user_data == &private_output);
-}
-
-TEST(tdm_output_cb_status, success_in_display_thread)
-{
-       tdm_private_output private_output;
-       tdm_private_display private_display;
-       tdm_output_conn_status status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-       tdm_private_change_handler change_handler;
-
-       _init_test();
-
-       stub_tdm_thread_display_thread = 1;
-       private_output.private_display = &private_display;
-       private_output.stamp = 15.25;
-
-       change_handler.func = stub_tdm_output_change_handler_cb;
-
-       LIST_INITHEAD(&private_output.change_handler_list_main);
-       LIST_ADD(&change_handler.link, &private_output.change_handler_list_main);
-
-       tdm_output_cb_status(&private_output, status, &private_output);
-
-       ASSERT_TRUE(stub_tdm_output_change_handler_count);
-}
-
-/* tdm_output_add_change_handler() */
-
-TEST(tdm_output_add_change_handler, error_output_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_output_add_change_handler(NULL, stub_tdm_output_change_handler_cb,
-                                                                                 NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_add_change_handler, error_func_is_null)
-{
-       tdm_error error;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_add_change_handler(&output, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_add_change_handler, error_calloc)
-{
-       tdm_error error;
-       tdm_private_output output;
-
-       _init_test();
-
-       CALLOC_ERROR = 1;
-
-       error = tdm_output_add_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-}
-
-TEST(tdm_output_add_change_handler, success_no_in_display_thread)
-{
-       tdm_error error;
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *h = NULL, *handler = NULL;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       stub_syscall_return_value = 21615;
-
-       error = tdm_output_add_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_main));
-       ASSERT_TRUE(!LIST_IS_EMPTY(&output.change_handler_list_sub));
-       LIST_FOR_EACH_ENTRY(h, &output.change_handler_list_sub, link) {
-               if (h->func == stub_tdm_output_change_handler_cb || h->user_data == &user_data) {
-                       handler = h;
-                       break;
-               }
-       }
-       ASSERT_TRUE(handler);
-       ASSERT_TRUE(handler->private_output == &output);
-       ASSERT_EQ(handler->owner_tid, stub_syscall_return_value);
-       free(handler);
-}
-
-TEST(tdm_output_add_change_handler, success_in_display_thread)
-{
-       tdm_error error;
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *h = NULL, *handler = NULL;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       stub_tdm_thread_display_thread = 1;
-       stub_syscall_return_value = 21615;
-
-       error = tdm_output_add_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(!LIST_IS_EMPTY(&output.change_handler_list_main));
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_sub));
-       LIST_FOR_EACH_ENTRY(h, &output.change_handler_list_main, link) {
-               if (h->func == stub_tdm_output_change_handler_cb || h->user_data == &user_data) {
-                       handler = h;
-                       break;
-               }
-       }
-       ASSERT_TRUE(handler);
-       ASSERT_TRUE(handler->private_output == &output);
-       ASSERT_EQ(handler->owner_tid, stub_syscall_return_value);
-       free(handler);
-}
-
-/* tdm_output_remove_change_handler */
-
-TEST(tdm_output_remove_change_handler, success_list_main)
-{
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *change_handler;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       change_handler = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler->func = stub_tdm_output_change_handler_cb;
-       change_handler->user_data = &user_data;
-
-       LIST_ADD(&change_handler->link, &output.change_handler_list_main);
-
-       tdm_output_remove_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_main));
-}
-
-TEST(tdm_output_remove_change_handler, success_list_sub)
-{
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *change_handler;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       change_handler = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler->func = stub_tdm_output_change_handler_cb;
-       change_handler->user_data = &user_data;
-
-       LIST_ADD(&change_handler->link, &output.change_handler_list_sub);
-
-       tdm_output_remove_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_sub));
-}
-
-TEST(tdm_output_remove_change_handler, success_list_main_2)
-{
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *change_handler;
-       tdm_private_change_handler *change_handler_2;
-       tdm_private_change_handler *h = NULL, *handler = NULL;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       change_handler = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler->func = NULL;
-       change_handler->user_data = NULL;
-
-       change_handler_2 = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler_2->func = stub_tdm_output_change_handler_cb;
-       change_handler_2->user_data = &user_data;
-
-       LIST_ADD(&change_handler_2->link, &output.change_handler_list_main);
-       LIST_ADD(&change_handler->link, &output.change_handler_list_main);
-
-       tdm_output_remove_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_TRUE(!LIST_IS_EMPTY(&output.change_handler_list_main));
-       LIST_FOR_EACH_ENTRY(h, &output.change_handler_list_main, link) {
-               if (h->func == NULL || h->user_data == NULL) {
-                       handler = h;
-                       break;
-               }
-       }
-       ASSERT_TRUE(handler);
-       LIST_DEL(&handler->link);
-       free(handler);
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_main));
-}
-
-TEST(tdm_output_remove_change_handler, success_list_sub_2)
-{
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *change_handler;
-       tdm_private_change_handler *change_handler_2;
-       tdm_private_change_handler *h = NULL, *handler = NULL;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       change_handler = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler->func = NULL;
-       change_handler->user_data = NULL;
-
-       change_handler_2 = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler_2->func = stub_tdm_output_change_handler_cb;
-       change_handler_2->user_data = &user_data;
-
-       LIST_ADD(&change_handler_2->link, &output.change_handler_list_sub);
-       LIST_ADD(&change_handler->link, &output.change_handler_list_sub);
-
-       tdm_output_remove_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_TRUE(!LIST_IS_EMPTY(&output.change_handler_list_sub));
-       LIST_FOR_EACH_ENTRY(h, &output.change_handler_list_sub, link) {
-               if (h->func == NULL || h->user_data == NULL) {
-                       handler = h;
-                       break;
-               }
-       }
-       ASSERT_TRUE(handler);
-       LIST_DEL(&handler->link);
-       free(handler);
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_sub));
-}
-
-TEST(tdm_output_remove_change_handler, success_handler_is_not_exist)
-{
-       tdm_private_output output;
-       int user_data = 10;
-       tdm_private_change_handler *change_handler;
-       tdm_private_change_handler *change_handler_2;
-       tdm_private_change_handler *h = NULL, *handler = NULL;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_INITHEAD(&output.change_handler_list_sub);
-
-       change_handler = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler->func = NULL;
-       change_handler->user_data = NULL;
-
-       change_handler_2 = (tdm_private_change_handler *)calloc(1, sizeof(tdm_private_change_handler));
-
-       change_handler_2->func = NULL;
-       change_handler_2->user_data = NULL;
-
-       LIST_ADD(&change_handler->link, &output.change_handler_list_sub);
-       LIST_ADD(&change_handler_2->link, &output.change_handler_list_sub);
-
-       tdm_output_remove_change_handler(&output, stub_tdm_output_change_handler_cb,
-                                                                                 &user_data);
-
-       ASSERT_EQ(FREE_CALLED, 0);
-       ASSERT_TRUE(!LIST_IS_EMPTY(&output.change_handler_list_sub));
-       LIST_FOR_EACH_ENTRY(h, &output.change_handler_list_sub, link) {
-               if (h->func == NULL || h->user_data == NULL) {
-                       handler = h;
-                       break;
-               }
-       }
-       ASSERT_TRUE(handler);
-       LIST_DEL(&handler->link);
-       free(handler);
-       handler = NULL;
-       ASSERT_TRUE(!LIST_IS_EMPTY(&output.change_handler_list_sub));
-       LIST_FOR_EACH_ENTRY(h, &output.change_handler_list_sub, link) {
-               if (h->func == NULL || h->user_data == NULL) {
-                       handler = h;
-                       break;
-               }
-       }
-       ASSERT_TRUE(handler);
-       LIST_DEL(&handler->link);
-       free(handler);
-       ASSERT_TRUE(LIST_IS_EMPTY(&output.change_handler_list_sub));
-}
-
-/* tdm_output_get_cursor_available_size() */
-
-TEST(tdm_output_get_cursor_available_size, error_output_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_output_get_cursor_available_size(NULL, NULL, NULL, NULL, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_get_cursor_available_size, error_abi_version_is_1_4)
-{
-       tdm_error error;
-       tdm_private_output output;
-       tdm_private_display display;
-       tdm_backend_module module;
-       int min_w, min_h, max_w, max_h, preferred_align;
-
-       _init_test();
-
-       output.private_display = &display;
-
-       display.module_data = &module;
-       module.abi_version = 0x00010004;
-
-       output.caps.cursor_min_w = 200;
-       output.caps.cursor_min_h = 300;
-       output.caps.cursor_max_w = 1080;
-       output.caps.cursor_max_h = 1920;
-       output.caps.cursor_preferred_align = 256;
-
-       error = tdm_output_get_cursor_available_size(&output, &min_w, &min_h, &max_w,
-                                                                                                &max_h, &preferred_align);
-
-       ASSERT_EQ(error, TDM_ERROR_BAD_MODULE);
-       ASSERT_EQ(min_w, -1);
-       ASSERT_EQ(min_h, -1);
-       ASSERT_EQ(max_w, -1);
-       ASSERT_EQ(max_h, -1);
-       ASSERT_EQ(preferred_align, -1);
-}
-
-TEST(tdm_output_get_cursor_available_size, success_abi_version_is_1_5)
-{
-       tdm_error error;
-       tdm_private_output output;
-       tdm_private_display display;
-       tdm_backend_module module;
-       int min_w, min_h, max_w, max_h, preferred_align;
-
-       _init_test();
-
-       output.private_display = &display;
-
-       display.module_data = &module;
-       module.abi_version = 0x00010005;
-
-       output.caps.cursor_min_w = 200;
-       output.caps.cursor_min_h = 300;
-       output.caps.cursor_max_w = 1080;
-       output.caps.cursor_max_h = 1920;
-       output.caps.cursor_preferred_align = 256;
-
-       error = tdm_output_get_cursor_available_size(&output, &min_w, &min_h, &max_w,
-                                                                                                &max_h, &preferred_align);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(min_w, output.caps.cursor_min_w);
-       ASSERT_EQ(min_h, output.caps.cursor_min_h);
-       ASSERT_EQ(max_w, output.caps.cursor_max_w);
-       ASSERT_EQ(max_h, output.caps.cursor_max_h);
-       ASSERT_EQ(preferred_align, output.caps.cursor_preferred_align);
-}
-
-/* tdm_output_get_primary_index() */
-
-TEST(tdm_output_get_primary_index, error_output_is_null)
-{
-       tdm_error error;
-       int index;
-
-       _init_test();
-
-       error = tdm_output_get_primary_index(NULL, &index);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_get_primary_index, error_index_is_null)
-{
-       tdm_error error;
-       tdm_private_output output;
-
-       _init_test();
-
-       error = tdm_output_get_primary_index(&output, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_output_get_primary_index, success_layer_list_is_empty)
-{
-       tdm_error error;
-       tdm_private_output output;
-       int index = 0;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.layer_list);
-
-       error = tdm_output_get_primary_index(&output, &index);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(index, 0);
-}
-
-TEST(tdm_output_get_primary_index, success_get_primary_index)
-{
-       tdm_error error;
-       tdm_private_output output;
-       tdm_private_layer private_layer_1;
-       tdm_private_layer private_layer_2;
-       int index;
-
-       _init_test();
-
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADD(&private_layer_1.link, &output.layer_list);
-       LIST_ADD(&private_layer_2.link, &output.layer_list);
-
-       private_layer_1.index = 25;
-       private_layer_2.index = 35;
-
-       private_layer_1.caps.capabilities = (tdm_layer_capability)(TDM_LAYER_CAPABILITY_GRAPHIC |
-                                                                               TDM_LAYER_CAPABILITY_PRIMARY);
-
-       private_layer_2.caps.capabilities = (tdm_layer_capability)(TDM_LAYER_CAPABILITY_GRAPHIC |
-                                                                               TDM_LAYER_CAPABILITY_OVERLAY);
-
-       error = tdm_output_get_primary_index(&output, &index);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(index, private_layer_1.index);
-}
-
-/* tdm_output_cb_vblank() */
-
-TEST(tdm_output_cb_vblank, success_no_in_display_thread)
-{
-       tdm_private_vblank_handler vblank_handler;
-       tdm_private_output output;
-       tdm_private_display display;
-       unsigned int sequence = 17, tv_sec = 145, tv_usec = 874;
-       tdm_thread_cb_output_vblank *output_vblank;
-
-       _init_test();
-
-       vblank_handler.private_output = &output;
-       output.private_display = &display;
-       output.stamp = 10.11;
-       stub_syscall_return_value = 115;
-       vblank_handler.owner_tid = stub_syscall_return_value - 1;
-
-       tdm_output_cb_vblank(&output, sequence, tv_sec, tv_usec, &vblank_handler);
-
-       output_vblank = (tdm_thread_cb_output_vblank *)stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(output_vblank->base.type, TDM_THREAD_CB_OUTPUT_VBLANK);
-       ASSERT_EQ(output_vblank->base.length, sizeof * output_vblank);
-       ASSERT_DOUBLE_EQ(output_vblank->output_stamp, output.stamp);
-       ASSERT_EQ(output_vblank->sequence, sequence);
-       ASSERT_EQ(output_vblank->tv_sec, tv_sec);
-       ASSERT_EQ(output_vblank->tv_usec, tv_usec);
-       ASSERT_TRUE(output_vblank->user_data == &vblank_handler);
-}
-
-//TEST(tdm_output_cb_vblank, success_in_display_thread)
-//{
-//     tdm_private_vblank_handler *vblank_handler;
-//     tdm_private_output output;
-//     tdm_private_display display;
-//     unsigned int sequence = 17, tv_sec = 145, tv_usec = 874;
-//     struct list_head list;
-//
-//     _init_test();
-//
-//     vblank_handler = (tdm_private_vblank_handler *)calloc(1, sizeof * vblank_handler);
-//     vblank_handler->private_output = &output;
-//     output.private_display = &display;
-//
-//     stub_syscall_return_value = 115;
-//     stub_syscall_reset = 1;
-//
-//     vblank_handler->owner_tid = stub_syscall_return_value;
-//     vblank_handler->func = stub_tdm_output_vblank_handler;
-//
-//     LIST_INITHEAD(&list);
-//     LIST_ADD(&vblank_handler->link, &list);
-//
-//     tdm_output_cb_vblank(&output, sequence, tv_sec, tv_usec, vblank_handler);
-//
-//     ASSERT_EQ(stub_tdm_output_vblank_handler_count, 1);
-//     ASSERT_EQ(FREE_CALLED, 1);
-//     ASSERT_TRUE(LIST_IS_EMPTY(&list));
-//}
-
-/* tdm_output_cb_commit() */
-
-TEST(tdm_output_cb_commit, success_no_in_display_thread)
-{
-       tdm_private_output_commit_handler commit_handler;
-       tdm_private_output output;
-       tdm_private_display display;
-       unsigned int sequence = 17, tv_sec = 145, tv_usec = 874;
-       tdm_thread_cb_output_commit *output_commit;
-
-       _init_test();
-
-       commit_handler.private_output = &output;
-       output.private_display = &display;
-       output.stamp = 10.11;
-       stub_syscall_return_value = 115;
-       commit_handler.owner_tid = stub_syscall_return_value - 1;
-
-       tdm_output_cb_commit(&output, sequence, tv_sec, tv_usec, &commit_handler);
-
-       output_commit = (tdm_thread_cb_output_commit *)stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(output_commit->base.type, TDM_THREAD_CB_OUTPUT_COMMIT);
-       ASSERT_EQ(output_commit->base.length, sizeof * output_commit);
-       ASSERT_DOUBLE_EQ(output_commit->output_stamp, output.stamp);
-       ASSERT_EQ(output_commit->sequence, sequence);
-       ASSERT_EQ(output_commit->tv_sec, tv_sec);
-       ASSERT_EQ(output_commit->tv_usec, tv_usec);
-       ASSERT_TRUE(output_commit->user_data == &commit_handler);
-}
-
-TEST(tdm_output_cb_commit, success_in_display_thread)
-{
-       tdm_private_output_commit_handler *commit_handler;
-       tdm_private_output output;
-       tdm_private_display display;
-       unsigned int sequence = 17, tv_sec = 145, tv_usec = 874;
-       tdm_private_layer private_layer_1;
-       tdm_private_layer private_layer_2;
-       tdm_private_layer private_layer_3;
-       struct _tbm_surface waiting_buffer;
-       struct _tbm_surface showing_buffer;
-       struct list_head list;
-       struct _tbm_surface_queue surface_queue;
-
-       _init_test();
-
-       commit_handler = (tdm_private_output_commit_handler *)calloc(1, sizeof * commit_handler);
-
-       private_layer_1.waiting_buffer = NULL;
-       private_layer_1.showing_buffer = NULL;
-
-//     private_layer_2.waiting_buffer = &waiting_buffer;
-//     private_layer_2.showing_buffer = &showing_buffer;
-       private_layer_2.buffer_queue = &surface_queue;
-
-//     private_layer_3.waiting_buffer = &waiting_buffer;
-//     private_layer_3.showing_buffer = NULL;
-
-       commit_handler->private_output = &output;
-       output.private_display = &display;
-       stub_syscall_return_value = 115;
-       commit_handler->owner_tid = stub_syscall_return_value;
-
-       LIST_INITHEAD(&output.layer_list);
-       LIST_ADD(&private_layer_1.link, &output.layer_list);
-       LIST_ADD(&private_layer_2.link, &output.layer_list);
-       LIST_ADD(&private_layer_3.link, &output.layer_list);
-
-       commit_handler->func = stub_tdm_output_commit_handler;
-
-       LIST_INITHEAD(&list);
-       LIST_ADD(&commit_handler->link, &list);
-
-       tdm_output_cb_commit(&output, sequence, tv_sec, tv_usec, commit_handler);
-
-       ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 1);
-       ASSERT_EQ(tbm_surface_queue_release_count, 1);
-       ASSERT_TRUE(private_layer_1.showing_buffer == NULL);
-//     ASSERT_TRUE(private_layer_2.showing_buffer == &waiting_buffer);
-//     ASSERT_TRUE(private_layer_3.showing_buffer == &waiting_buffer);
-       ASSERT_TRUE(private_layer_1.waiting_buffer == NULL);
-       ASSERT_TRUE(private_layer_2.waiting_buffer == NULL);
-       ASSERT_TRUE(private_layer_3.waiting_buffer == NULL);
-       ASSERT_EQ(stub_tdm_output_commit_handler_count, 1);
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_TRUE(LIST_IS_EMPTY(&list));
-}
-
-/* tdm_output_cb_dpms() */
-
-TEST(tdm_output_cb_dpms, success_no_in_display_thread)
-{
-       tdm_private_output output;
-       tdm_private_display display;
-       tdm_thread_cb_output_dpms *output_dpms;
-       tdm_output_dpms dpms = TDM_OUTPUT_DPMS_STANDBY;
-
-       _init_test();
-
-       output.private_display = &display;
-       output.stamp = 10.11;
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-       LIST_INITHEAD(&output.change_handler_list_main);
-
-       tdm_output_cb_dpms(&output, dpms, &output);
-
-       output_dpms = (tdm_thread_cb_output_dpms *)stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(output_dpms->base.type, TDM_THREAD_CB_OUTPUT_DPMS);
-       ASSERT_EQ(output_dpms->base.length, sizeof * output_dpms);
-       ASSERT_DOUBLE_EQ(output_dpms->output_stamp, output.stamp);
-       ASSERT_EQ(output_dpms->dpms, TDM_OUTPUT_DPMS_STANDBY);
-       ASSERT_TRUE(output_dpms->user_data == &output);
-}
-
-TEST(tdm_output_cb_dpms, success_in_display_thread)
-{
-       tdm_private_output output;
-       tdm_private_display display;
-       tdm_output_dpms dpms = TDM_OUTPUT_DPMS_STANDBY;
-       tdm_private_change_handler change_handler_1;
-       tdm_private_change_handler change_handler_2;
-
-       _init_test();
-
-       stub_tdm_thread_display_thread = 1;
-
-       output.private_display = &display;
-
-       LIST_INITHEAD(&output.change_handler_list_sub);
-       LIST_INITHEAD(&output.change_handler_list_main);
-       LIST_ADD(&change_handler_1.link, &output.change_handler_list_main);
-       LIST_ADD(&change_handler_2.link, &output.change_handler_list_main);
-
-       change_handler_1.func = stub_tdm_output_change_handler_cb;
-       change_handler_2.func = stub_tdm_output_change_handler_cb;
-
-       tdm_output_cb_dpms(&output, dpms, &output);
-
-       ASSERT_EQ(stub_tdm_output_change_handler_count, 2);
-       ASSERT_EQ(output.current_dpms_value, dpms);
-
-}
-
-/* tdm_layer_get_displaying_buffer() */
-
-TEST(tdm_layer_get_displaying_buffer, error_layer_is_null)
-{
-       tdm_error error;
-       tbm_surface_h buffer;
-
-       _init_test();
-
-       buffer = tdm_layer_get_displaying_buffer(NULL, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-       ASSERT_EQ(buffer, NULL);
-}
-
-TEST(tdm_layer_get_displaying_buffer, error_showing_buffer_is_null)
-{
-       tdm_error error;
-       tbm_surface_h buffer;
-       tdm_private_layer layer;
-       tdm_private_output output;
-
-       _init_test();
-
-       layer.private_output = &output;
-
-       layer.showing_buffer = NULL;
-
-       buffer = tdm_layer_get_displaying_buffer(&layer, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-       ASSERT_EQ(buffer, NULL);
-}
-
-TEST(tdm_layer_get_displaying_buffer, success_get_displaying_buffer)
-{
-       tdm_error error;
-       tbm_surface_h buffer;
-       tdm_private_layer layer;
-       tdm_private_output output;
-       struct _tbm_surface showing_buffer;
-
-       _init_test();
-
-       layer.private_output = &output;
-
-//     layer.showing_buffer = &showing_buffer;
-
-       buffer = tdm_layer_get_displaying_buffer(&layer, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(buffer, &showing_buffer);
-}
-
-/* tdm_layer_get_buffer_flags() */
-
-TEST(tdm_layer_get_buffer_flags, error_layer_is_null)
-{
-       tdm_error error;
-       unsigned int flags;
-
-       _init_test();
-
-       error = tdm_layer_get_buffer_flags(NULL, &flags);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_layer_get_buffer_flags, error_layer_get_buffer_flags_is_null)
-{
-       tdm_error error;
-       unsigned int flags;
-       tdm_private_layer layer;
-       tdm_private_output output;
-       tdm_private_display display;
-       tdm_func_layer func_layer;
-
-       _init_test();
-
-       layer.private_output = &output;
-       output.private_display = &display;
-
-       func_layer.layer_get_buffer_flags = NULL;
-
-       display.func_layer = func_layer;
-
-       error = tdm_layer_get_buffer_flags(&layer, &flags);
-
-       ASSERT_EQ(error, TDM_ERROR_NOT_IMPLEMENTED);
-}
-
-TEST(tdm_layer_get_buffer_flags, success_get_buffer_flags)
-{
-       tdm_error error;
-       unsigned int flags;
-       tdm_private_layer layer;
-       tdm_private_output output;
-       tdm_private_display display;
-       tdm_func_layer func_layer;
-
-       _init_test();
-
-       layer.private_output = &output;
-       output.private_display = &display;
-
-       func_layer.layer_get_buffer_flags = layer_get_buffer_flags;
-
-       display.func_layer = func_layer;
-
-       error = tdm_layer_get_buffer_flags(&layer, &flags);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(flags, layer_get_buffer_flags_ret);
-}
diff --git a/utests/src/ut_tdm_event_loop.cpp b/utests/src/ut_tdm_event_loop.cpp
deleted file mode 100644 (file)
index 863b317..0000000
+++ /dev/null
@@ -1,630 +0,0 @@
-///**************************************************************************
-// *
-// * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
-// *
-// * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
-// *
-// * Permission is hereby granted, free of charge, to any person obtaining a
-// * copy of this software and associated documentation files (the
-// * "Software"), to deal in the Software without restriction, including
-// * without limitation the rights to use, copy, modify, merge, publish,
-// * distribute, sub license, and/or sell copies of the Software, and to
-// * permit persons to whom the Software is furnished to do so, subject to
-// * the following conditions:
-// *
-// * The above copyright notice and this permission notice (including the
-// * next paragraph) shall be included in all copies or substantial portions
-// * of the Software.
-// *
-// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-// * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-// * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-// *
-//**************************************************************************/
-//
-//#include <string.h>
-//
-//#include "gtest/gtest.h"
-//
-//#include "tbm_stubs.h"
-//#include "stub_pthread.h"
-//#include "stub_stdlib.h"
-//#include "stub_tdm_server.h"
-//#include "stub_tdm_thread.h"
-//
-
-#include "tdm_event_loop.c"
-//
-//#define ZEROING_DATA(ptr, size_of_ptr) memset((void*)ptr, 0, size_of_ptr);
-//
-//static void _init_test()
-//{
-//     WL_EVENT_LOOP_ADD_FD_ERROR = 0;
-//     WL_EVENT_SOURCE_FD_UPDATE_ERROR = 0;
-//     WL_EVENT_LOOP_ADD_TIMER_ERROR = 0;
-//     WL_EVENT_SOURCE_TIMER_UPDATE_ERROR = 0;
-//     WL_DISPLAY_CREATE_ERROR = 0;
-//
-//
-//     stub_pthread_init();
-//     stub_tbm_init();
-//     stub_stdlib_init();
-//     stub_tdm_server();
-//     stub_tdm_thread_init();
-//}
-//
-///* HELPER FUNCTIONS */
-//
-//tdm_error ut_tdm_event_loop_fd_handler(int fd, tdm_event_loop_mask mask,
-//                                                                        void *user_data)
-//{
-//     (void)fd;
-//     (void)mask;
-//     (void)user_data;
-//
-//     return TDM_ERROR_NONE;
-//}
-//
-//tdm_error ut_tdm_event_loop_timer_handler(void *user_data)
-//{
-//     (void)user_data;
-//
-//     return TDM_ERROR_NONE;
-//}
-//
-///* UNIT TESTS */
-//
-///* tdm_event_loop_source_timer_update */
-//
-//TEST(tdm_event_loop_source_timer_update, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_event_loop_source_timer source;
-//
-//     _init_test();
-//
-//     error = tdm_event_loop_source_timer_update(&source, 100);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_source_timer_update, work_flow_success_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_event_loop_source_timer source;
-//
-//     _init_test();
-//
-//     WL_EVENT_SOURCE_TIMER_UPDATE_ERROR = 1;
-//
-//     error = tdm_event_loop_source_timer_update(&source, 100);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_source_timer_update, null_ptr_fail_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//
-//     _init_test();
-//
-//     error = tdm_event_loop_source_timer_update(NULL, 100);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-///* tdm_event_loop_add_timer_handler */
-//
-//TEST(tdm_event_loop_add_timer_handler, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//     tdm_event_loop_source_timer *timer_source;
-//     struct wl_event_loop wl_loop;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = &wl_loop;
-//
-//     timer_source =
-//                     (tdm_event_loop_source_timer *)tdm_event_loop_add_timer_handler(&dpy,
-//                                                                                      ut_tdm_event_loop_timer_handler,
-//                                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//     free(timer_source);
-//}
-//
-//TEST(tdm_event_loop_add_timer_handler, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//     struct wl_event_loop wl_loop;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = &wl_loop;
-//     WL_EVENT_LOOP_ADD_TIMER_ERROR = 1;
-//
-//     tdm_event_loop_add_timer_handler(&dpy, ut_tdm_event_loop_timer_handler,
-//                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_timer_handler, work_flow_success_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//     struct wl_event_loop wl_loop;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = &wl_loop;
-//     CALLOC_ERROR = 1;
-//
-//     tdm_event_loop_add_timer_handler(&dpy, ut_tdm_event_loop_timer_handler,
-//                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_timer_handler, null_ptr_fail_4)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = NULL;
-//
-//     tdm_event_loop_add_timer_handler(&dpy, ut_tdm_event_loop_timer_handler,
-//                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_timer_handler, null_ptr_fail_3)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_private_display dpy;
-//
-//     _init_test();
-//
-//     dpy.private_loop = NULL;
-//
-//     tdm_event_loop_add_timer_handler(&dpy, ut_tdm_event_loop_timer_handler,
-//                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_timer_handler, null_ptr_fail_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_private_display dpy;
-//
-//     _init_test();
-//
-//     tdm_event_loop_add_timer_handler(&dpy, NULL,
-//                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_timer_handler, null_ptr_fail_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//
-//     _init_test();
-//
-//     tdm_event_loop_add_timer_handler(NULL, ut_tdm_event_loop_timer_handler,
-//                                                                      NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-///* tdm_event_loop_source_fd_update */
-//
-//TEST(tdm_event_loop_source_fd_update, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_event_loop_source_fd source;
-//
-//     _init_test();
-//
-//     error = tdm_event_loop_source_fd_update(&source, mask);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_source_fd_update, work_flow_success_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_event_loop_source_fd source;
-//
-//     _init_test();
-//
-//     WL_EVENT_SOURCE_FD_UPDATE_ERROR = 1;
-//
-//     error = tdm_event_loop_source_fd_update(&source, mask);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_source_fd_update, null_ptr_fail_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//
-//     _init_test();
-//
-//     error = tdm_event_loop_source_fd_update(NULL, mask);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-///* tdm_event_loop_add_fd_handler */
-//
-//TEST(tdm_event_loop_add_fd_handler, work_flow_success_3)
-//{
-//     tdm_error error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//     struct wl_event_loop wl_loop;
-//     tdm_event_loop_source_fd *fd_source;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = &wl_loop;
-//
-//     fd_source =
-//             (tdm_event_loop_source_fd *)tdm_event_loop_add_fd_handler(&dpy, 5, mask,
-//                                                                                     ut_tdm_event_loop_fd_handler,
-//                                                                                     NULL, &error);
-//     free(fd_source);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//     struct wl_event_loop wl_loop;
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = &wl_loop;
-//     WL_EVENT_LOOP_ADD_FD_ERROR = 1;
-//
-//     tdm_event_loop_add_fd_handler(&dpy, 5, mask, ut_tdm_event_loop_fd_handler,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, work_flow_success_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//     struct wl_event_loop wl_loop;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = &wl_loop;
-//     CALLOC_ERROR = 1;
-//
-//     tdm_event_loop_add_fd_handler(&dpy, 5, mask, ut_tdm_event_loop_fd_handler,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, null_ptr_fail_5)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//     tdm_private_loop private_loop;
-//
-//     _init_test();
-//
-//     dpy.private_loop = &private_loop;
-//     private_loop.wl_loop = NULL;
-//
-//     tdm_event_loop_add_fd_handler(&dpy, 5, mask, ut_tdm_event_loop_fd_handler,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, null_ptr_fail_4)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//
-//     _init_test();
-//
-//     dpy.private_loop = NULL;
-//
-//     tdm_event_loop_add_fd_handler(&dpy, 5, mask, ut_tdm_event_loop_fd_handler,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, null_ptr_fail_3)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//
-//     _init_test();
-//
-//     tdm_event_loop_add_fd_handler(&dpy, 5, mask, NULL,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, null_ptr_fail_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//     tdm_private_display dpy;
-//
-//     _init_test();
-//
-//     tdm_event_loop_add_fd_handler(&dpy, -1, mask, ut_tdm_event_loop_fd_handler,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_add_fd_handler, null_ptr_fail_1)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-//     tdm_event_loop_mask mask = TDM_EVENT_LOOP_READABLE;
-//
-//     _init_test();
-//
-//     tdm_event_loop_add_fd_handler(NULL, 5, mask, ut_tdm_event_loop_fd_handler,
-//                                                               NULL, &error);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-///* tdm_event_loop_init */
-//
-//TEST(tdm_event_loop_init, success_private_loop_was_allocated)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_private_display private_display;
-//     tdm_private_loop private_loop;
-//
-//     private_display.private_loop = &private_loop;
-//
-//     error = tdm_event_loop_init(&private_display);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_init, error_could_not_allocate_private_loop)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     private_display.private_loop = NULL;
-//     CALLOC_ERROR = 1;
-//
-//     error = tdm_event_loop_init(&private_display);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_init, error_could_not_create_display)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     ZEROING_DATA(&private_display, sizeof(tdm_private_display));
-//     WL_DISPLAY_CREATE_ERROR = 1;
-//
-//     error = tdm_event_loop_init(&private_display);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_init, error_init_tdm_server)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     ZEROING_DATA(&private_display, sizeof(tdm_private_display));
-//     stdub_tdm_server_init_error = 1;
-//
-//     error = tdm_event_loop_init(&private_display);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_init, error_init_thread)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     ZEROING_DATA(&private_display, sizeof(tdm_private_display));
-//     stub_tdm_thread_init_init_error = 1;
-//
-//     error = tdm_event_loop_init(&private_display);
-//
-//     ASSERT_EQ(error, expected_error);
-//}
-//
-//TEST(tdm_event_loop_init, success_first_initialization_of_private_loop)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error expected_error = TDM_ERROR_NONE;
-//     tdm_private_display private_display;
-//     int expected_fd = -1;
-//
-//     _init_test();
-//
-//     ZEROING_DATA(&private_display, sizeof(tdm_private_display));
-//
-//     error = tdm_event_loop_init(&private_display);
-//
-//     ASSERT_EQ(error, expected_error);
-//     ASSERT_TRUE(private_display.private_loop);
-//     ASSERT_EQ(private_display.private_loop->backend_fd, expected_fd);
-//
-//     /* XXX: private_loop has been allocated within tdm_event_loop_init
-//      * so it's out duty to delete it */
-//     free(private_display.private_loop);
-//}
-//
-///* tdm_event_loop_deinit */
-//
-//TEST(tdm_event_loop_deinit, success_private_loop_is_NULL)
-//{
-//     tdm_private_display private_display;
-//
-//     _init_test();
-//
-//     ZEROING_DATA(&private_display, sizeof(tdm_private_display));
-//
-//     tdm_event_loop_deinit(&private_display);
-//
-//     ASSERT_FALSE(private_display.private_loop);
-//}
-//
-//TEST(tdm_event_loop_deinit, success_private_loop_is_not_NULL)
-//{
-//     tdm_private_display private_display;
-//     tdm_event_loop_source_base *event_loop_source_base;
-//     struct wl_display wl_display;
-//
-//     _init_test();
-//
-//     ZEROING_DATA(&private_display, sizeof(tdm_private_display));
-//
-//     private_display.private_loop = calloc(1, sizeof(tdm_private_loop));
-//     private_display.private_loop->backend_source = NULL;
-//     private_display.private_loop->wl_display = &wl_display;
-//
-//     tdm_event_loop_deinit(&private_display);
-//
-//     ASSERT_FALSE(private_display.private_loop);
-//}
-//
-///* tdm_event_loop_source_remove */
-//
-//TEST(tdm_event_loop_source_remove, success_source_is_NULL)
-//{
-//     _init_test();
-//     tdm_event_loop_source_remove(NULL);
-//}
-//
-//TEST(tdm_event_loop_source_remove, success_source_is_not_NULL)
-//{
-//     tdm_event_loop_source_base *base;
-//
-//     _init_test();
-//
-//     base = calloc(1, sizeof(tdm_event_loop_source_base));
-//     ASSERT_TRUE(base);
-//
-//     tdm_event_loop_source_remove(base);
-//}
-//
-///* tdm_event_loop_flush */
-//
-//TEST(tdm_event_loop_flush, success_wl_display_is_NULL)
-//{
-//     tdm_private_display private_display;
-//     tdm_private_loop private_loop;
-//
-//     ZEROING_DATA(&private_display, sizeof(private_display))
-//     ZEROING_DATA(&private_loop, sizeof(private_loop))
-//
-//     private_display.private_loop = &private_loop;
-//
-//     tdm_event_loop_flush(&private_display);
-//}
-//
-//TEST(tdm_event_loop_flush, success_wl_display_is_not_NULL)
-//{
-//     tdm_private_display private_display;
-//     tdm_private_loop private_loop;
-//     struct wl_display wl_display;
-//
-//     ZEROING_DATA(&private_display, sizeof(private_display))
-//     ZEROING_DATA(&private_loop, sizeof(private_loop))
-//
-//     private_display.private_loop = &private_loop;
-//     private_display.private_loop->wl_display = &wl_display;
-//
-//     tdm_event_loop_flush(&private_display);
-//}
-//
-//
-//
-//
-//
diff --git a/utests/src/ut_tdm_helper.cpp b/utests/src/ut_tdm_helper.cpp
deleted file mode 100644 (file)
index 6787472..0000000
+++ /dev/null
@@ -1,766 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
- *
- * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
-**************************************************************************/
-
-#include "gtest/gtest.h"
-#include <png.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"
-
-#define png_write_info(p1, p2)
-#define png_write_image(p1, p2)
-#define png_write_end(p1, p2)
-/*------ stubs ----------------*/
-
-#pragma GCC optimize(0)
-
-extern "C"  int
-tbm_drm_helper_get_master_fd(void)
-{
-       return 20;
-}
-
-#include "tdm_helper.c"
-
-static void _init_test()
-{
-       stub_stdio_init();
-       stub_fcntl_init();
-       stub_pthread_init();
-       stub_unistd_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-}
-
-/* UNIT TESTS */
-
-/* tdm_helper_get_fd() */
-
-TEST(tdm_helper_get_fd, work_flow_success_5)
-{
-       const char *env = "env";
-       int fd;
-
-       _init_test();
-
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
-
-       fd = tdm_helper_get_fd(env);
-
-       ASSERT_EQ(fd, 5);
-}
-
-TEST(tdm_helper_get_fd, work_flow_success_4)
-{
-       const char *env = "env";
-       int expected_fd = -1;
-       int fd;
-
-       _init_test();
-
-       stub_dub_error = 1;
-
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
-
-       fd = tdm_helper_get_fd(env);
-
-       ASSERT_EQ(fd, expected_fd);
-}
-
-TEST(tdm_helper_get_fd, work_flow_success_3)
-{
-       const char *env = "env";
-       int fd;
-       int expected_fd = -1;
-
-       _init_test();
-
-       FCNTL_ERROR = 1;
-
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
-
-       fd = tdm_helper_get_fd(env);
-
-       ASSERT_EQ(fd, expected_fd);
-}
-
-TEST(tdm_helper_get_fd, work_flow_success_2)
-{
-       const char *env = "env";
-       int expected_fd = -1;
-       int fd;
-
-       _init_test();
-
-       SSCANF_ERROR = 1;
-
-       stub_getenv_name = env;
-       stub_getenv_return_value = "getenv";
-
-       fd = tdm_helper_get_fd(env);
-
-       ASSERT_EQ(fd, expected_fd);
-}
-
-TEST(tdm_helper_get_fd, work_flow_success_1)
-{
-       const char *env = "env";
-       int fd;
-       int expected_fd = -1;
-
-       _init_test();
-
-       GETENV_ERROR = 1;
-
-       fd = tdm_helper_get_fd(env);
-
-       ASSERT_EQ(fd, expected_fd);
-}
-
-/* tdm_helper_set_fd */
-TEST(tdm_helper_set_fd, work_flow_success_1)
-{
-       _init_test();
-       tdm_helper_set_fd("TEST_ENV", 7);
-
-       ASSERT_STREQ(stub_getenv_name, "TEST_ENV");
-}
-
-TEST(tdm_helper_set_fd, work_flow_error_1__setenv_error)
-{
-       _init_test();
-       SETENV_ERROR = 1;
-
-       tdm_helper_set_fd("TEST_ENV", 7);
-
-       ASSERT_EQ(stub_getenv_name, 0);
-       ASSERT_EQ(stub_getenv_return_value, 0);
-}
-
-/* tdm_helper_dump_start */
-TEST(tdm_helper_dump_start, work_flow_success_1)
-{
-       _init_test();
-       int count = 0;
-       tdm_dump_enable = 0;
-       tdm_helper_dump_start("test_str1", &count);
-       ASSERT_EQ(tdm_dump_enable, 1);
-}
-
-TEST(tdm_helper_dump_start, work_flow_error_1__NULL)
-{
-       _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);
-}
-
-/* tdm_helper_dump_start */
-TEST(tdm_helper_dump_stop, work_flow_success_1)
-{
-       _init_test();
-       tdm_dump_enable = 0;
-       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;
-}
-
-tdm_error stub_output_get_property(tdm_output *output, unsigned int id, tdm_value *value)
-{
-       (tdm_output *)output;
-       (unsigned int)id;
-       value->s32 = 1;
-       return TDM_ERROR_NONE;
-}
-
-tdm_error stub_layer_get_property(tdm_layer *layer, unsigned int id, tdm_value *value)
-{
-       (tdm_layer *)layer;
-       (unsigned int)id;
-       value->s32 = 1;
-       return TDM_ERROR_NONE;
-}
-
-tdm_error stub_layer_get_info(tdm_layer *layer, tdm_info_layer *info)
-{
-       (tdm_layer *)layer;
-       (tdm_info_layer *)info;
-       return TDM_ERROR_NONE;
-}
-
-
-/* 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));
-
-       int  len = 1024;
-       char rep[len];
-
-       _init_test();
-
-       //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);
-
-       //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);
-}
-
diff --git a/utests/src/ut_tdm_layer.cpp b/utests/src/ut_tdm_layer.cpp
new file mode 100644 (file)
index 0000000..89064c0
--- /dev/null
@@ -0,0 +1,81 @@
+/**************************************************************************
+ *
+ * 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
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+**************************************************************************/
+
+#include "gtest/gtest.h"
+#include "tdm.h"
+#include "ut_common.h"
+
+class TDMLayer : public ::testing::Test {
+protected:
+       tdm_display *dpy = NULL;
+       int output_count = -42;
+       int layer_count = -42;
+       bool has_layers = false;
+       void SetUp(void)
+       {
+               setenv("TDM_DLOG", "1", 1);
+               setenv("XDG_RUNTIME_DIR", ".", 1);
+               setenv("TBM_DLOG", "1", 1);
+               tdm_error error = TDM_ERROR_NONE;
+               dpy = tdm_display_init(&error);
+               ASSERT_TRUE(error == TDM_ERROR_NONE);
+               ASSERT_FALSE(dpy == NULL);
+               error = tdm_display_get_output_count(dpy, &output_count);
+               error = tdm_display_get_max_layer_count(dpy, &layer_count);
+#ifdef FAIL_ON_UNSUPPORTED
+               ASSERT_GT(output_count, 0);
+               ASSERT_GT(layer_count, 0);
+#endif
+               if (layer_count > 0)
+                       has_layers = true;
+       }
+       void TearDown(void)
+       {
+               tdm_display_deinit(dpy);
+               dpy = NULL;
+       }
+};
+
+TEST_F(TDMLayer, OutputGetLayerSuccessful)
+{
+       CHECK_FLAG(has_layers);
+       for (int i = 0; i < output_count; i++) {
+               tdm_error error_output = TDM_ERROR_NONE;
+               tdm_output * output = NULL;
+               output = tdm_display_get_output(dpy, i, &error_output);
+               ASSERT_FALSE(NULL == output);
+               ASSERT_TRUE(TDM_ERROR_NONE == error_output);
+               for (int k = 0; k < layer_count; k++) {
+                       tdm_error error_layer = TDM_ERROR_NONE;
+                       ASSERT_FALSE(NULL == tdm_output_get_layer(output, k, &error_layer));
+                       ASSERT_TRUE(TDM_ERROR_NONE == error_layer);
+               }
+       }
+}
diff --git a/utests/src/ut_tdm_output.cpp b/utests/src/ut_tdm_output.cpp
new file mode 100644 (file)
index 0000000..6ea9f21
--- /dev/null
@@ -0,0 +1,71 @@
+/**************************************************************************
+ *
+ * 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
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+**************************************************************************/
+
+#include "gtest/gtest.h"
+#include "tdm.h"
+#include "ut_common.h"
+
+class TDMOutput : public ::testing::Test {
+protected:
+       tdm_display *dpy = NULL;
+       int output_count = -42;
+       bool has_output = false;
+       void SetUp(void)
+       {
+               setenv("TDM_DLOG", "1", 1);
+               setenv("XDG_RUNTIME_DIR", ".", 1);
+               setenv("TBM_DLOG", "1", 1);
+               tdm_error error = TDM_ERROR_NONE;
+               dpy = tdm_display_init(&error);
+               ASSERT_TRUE(error == TDM_ERROR_NONE);
+               ASSERT_FALSE(dpy == NULL);
+               error = tdm_display_get_output_count(dpy, &output_count);
+#ifdef FAIL_ON_UNSUPPORTED
+               ASSERT_GT(output_count, 0);
+#endif
+               if (output_count > 0)
+                       has_output = true;
+       }
+       void TearDown(void)
+       {
+               tdm_display_deinit(dpy);
+               dpy = NULL;
+       }
+};
+
+TEST_F(TDMOutput, DisplayGetOutputSuccessful)
+{
+       CHECK_FLAG(has_output);
+       for (int i = 0; i < output_count; i++) {
+               tdm_error error = TDM_ERROR_NONE;
+               ASSERT_FALSE(NULL == tdm_display_get_output(dpy, i, &error));
+               ASSERT_TRUE(TDM_ERROR_NONE == error);
+       }
+}
index d412e7f..18d9a96 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 "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-#include "stub_tdm_helper.h"
-#include "stub_backend.h"
-#include "stub_tdm_buffer.h"
-#include "stub_unistd.h"
-#include "stub_tdm_thread.h"
-#include "stub_tdm_helper.h"
-#include "stub_tdm_buffer.h"
-
-#include "tdm_pp.c"
-
-//local stubs for callbeck functions
-static int stub_pp_destroy_is_called = 0;
-static int stub_tdm_pp_done_handler_is_called;
-
-static void stub_pp_destroy(tdm_pp *pp)
-{
-       (void)pp;
-
-       stub_pp_destroy_is_called = 1;
-}
-
-static int stub_pp_set_done_handler_is_called = 0;
-static int stub_pp_set_done_handler_error = 0;
-static tdm_error stub_pp_set_done_handler(tdm_pp *pp, tdm_pp_done_handler func,
-                                                                void *user_data)
-{
-       (void)pp;
-       (void)func;
-       (void)user_data;
-
-       if (stub_pp_set_done_handler_error)
-               return TDM_ERROR_OPERATION_FAILED;
-
-       stub_pp_set_done_handler_is_called = 1;
-       return TDM_ERROR_NONE;
-}
-
-static int stub_display_create_pp_is_called = 0;
-static int stub_display_create_pp_error = 0;
-static tdm_pp *stub_display_create_pp(tdm_backend_data *bdata, tdm_error *error)
-{
-       (void)bdata;
-
-       if (stub_display_create_pp_error) {
-               if (error)
-                       *error = TDM_ERROR_OPERATION_FAILED;
-               return NULL;
+#include "tdm.h"
+#include "ut_common.h"
+
+class TDMPP : public testing::Test {
+protected:
+       tdm_display *dpy = NULL;
+       tdm_pp_capability pp_capabilities = -42;
+       bool has_pp = false;
+       void SetUp(void)
+       {
+               setenv("TDM_DLOG", "1", 1);
+               setenv("XDG_RUNTIME_DIR", ".", 1);
+               setenv("TBM_DLOG", "1", 1);
+               tdm_error error = TDM_ERROR_NONE;
+               dpy = tdm_display_init(&error);
+               ASSERT_TRUE(error == TDM_ERROR_NONE);
+               ASSERT_FALSE(dpy == NULL);
+               error = tdm_display_get_pp_capabilities(dpy, &pp_capabilities);
+#ifdef FAIL_ON_UNSUPPORTED
+               ASSERT_GT(pp_capabilities, 0);
+#endif
+               if (pp_capabilities > 0)
+                       has_pp = true;
        }
-       stub_display_create_pp_is_called = 1;
-       static int backend_pp;
-       return &backend_pp;
-}
-
-static int stub_pp_attach_is_called = 0;
-static int stub_pp_attach_error = 0;
-tdm_error stub_pp_attach(tdm_pp *pp, tbm_surface_h src, tbm_surface_h dst)
-{
-       (void)pp;
-       (void)src;
-       (void)dst;
-
-       if (stub_pp_attach_error)
-               return TDM_ERROR_OPERATION_FAILED;
-
-       stub_pp_attach_is_called = 1;
-       return TDM_ERROR_NONE;
-}
-
-static void stub_tdm_pp_done_handler(tdm_pp *pp, tbm_surface_h src,
-                                                                       tbm_surface_h dst, void *user_data)
-{
-       (void)pp;
-       (void)src;
-       (void)dst;
-       (void)user_data;
-
-       stub_tdm_pp_done_handler_is_called = 1;
-}
-
-static void _init_test()
-{
-       stub_tdm_buffer_init();
-       stub_tdm_helper_init();
-       stub_tdm_buffer_init();
-       stub_tdm_thread_init();
-       stub_unistd_init();
-       stub_pthread_init();
-       stub_backend_init();
-       stub_tbm_init();
-       stub_stdlib_init();
-       stub_pp_destroy_is_called = 0;
-       stub_pp_set_done_handler_is_called = 0;
-       stub_pp_set_done_handler_error = 0;
-       stub_display_create_pp_is_called = 0;
-       stub_pp_attach_is_called = 0;
-       stub_pp_attach_error = 0;
-       stub_tdm_pp_done_handler_is_called = 0;
-       stub_display_create_pp_error = 0;
-       tdm_debug_dump = TDM_DUMP_FLAG_PP;
-       tdm_debug_module = TDM_DEBUG_BUFFER;
-}
-
-/* UNIT TESTS */
-
-/* tdm_pp_commit */
-
-TEST(tdm_pp_commit, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-       tdm_pp_private_buffer b_1, b_2;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_commit = pp_commit;
-
-       LIST_INITHEAD(&pp.pending_buffer_list);
-       LIST_INITHEAD(&pp.buffer_list);
-
-       LIST_ADD(&b_1.link, &pp.pending_buffer_list);
-       LIST_ADD(&b_2.link, &pp.pending_buffer_list);
-
-
-       error = tdm_pp_commit(&pp);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(LIST_LENGTH(&pp.buffer_list), 2);
-}
-
-//TEST(tdm_pp_commit, work_flow_success_2)
-//{
-//     tdm_error error = TDM_ERROR_NONE;
-//     tdm_error not_expected_error = TDM_ERROR_NONE;
-//     tdm_private_pp pp;
-//     tdm_private_display private_display;
-//     tdm_pp_private_buffer b_1, b_2;
-//
-//     _init_test();
-//
-//     pp.private_display = &private_display;
-//     private_display.func_pp.pp_commit = pp_commit;
-//     PP_COMMIT_ERROR = 1;
-//
-//     LIST_INITHEAD(&pp.pending_buffer_list);
-//     LIST_INITHEAD(&pp.buffer_list);
-//
-//     LIST_ADD(&b_1.link, &pp.pending_buffer_list);
-//     LIST_ADD(&b_2.link, &pp.pending_buffer_list);
-//
-//     error = tdm_pp_commit(&pp);
-//
-//     ASSERT_NE(error, not_expected_error);
-//     ASSERT_EQ(LIST_LENGTH(&pp.buffer_list), 0);
-//     ASSERT_EQ(stub_tdm_buffer_remove_release_handler_internal_count, 4);
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 4);
-//}
-
-TEST(tdm_pp_commit, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_commit = NULL;
-
-       error = tdm_pp_commit(&pp);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_commit, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       _init_test();
-
-       error = tdm_pp_commit(NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_pp_attach */
-
-TEST(tdm_pp_attach, error_pp_attach)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_pp private_pp;
-       tdm_private_display private_display;
-       tdm_backend_module module;
-       struct _tbm_surface src;
-       struct _tbm_surface dst;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-       LIST_ADDTAIL(&private_pp.link, &private_display.pp_list);
-       private_display.module_data = &module;
-       private_display.func_pp.pp_attach = stub_pp_attach;
-       private_display.caps_pp.max_attach_count = 3;
-       module.abi_version  = 0x00010002;
-
-       private_pp.private_display = &private_display;
-       LIST_INITHEAD(&private_pp.pending_buffer_list);
-       LIST_INITHEAD(&private_pp.buffer_list);
-
-       stub_pp_attach_error = 1;
-
-       error = tdm_pp_attach(&private_pp, &src, &dst);
-
-       ASSERT_NE(TDM_ERROR_NONE, error);
-}
-
-TEST(tdm_pp_attach, error_calloc_error)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_pp private_pp;
-       tdm_private_display private_display;
-       tdm_backend_module module;
-       struct _tbm_surface src;
-       struct _tbm_surface dst;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-       LIST_ADDTAIL(&private_pp.link, &private_display.pp_list);
-       private_display.module_data = &module;
-       private_display.func_pp.pp_attach = stub_pp_attach;
-       private_display.caps_pp.max_attach_count = 3;
-       module.abi_version  = 0x00010002;
-
-       private_pp.private_display = &private_display;
-       LIST_INITHEAD(&private_pp.pending_buffer_list);
-       LIST_INITHEAD(&private_pp.buffer_list);
-
-       CALLOC_ERROR = 1;
-
-       error = tdm_pp_attach(&private_pp, &src, &dst);
-
-       ASSERT_EQ(TDM_ERROR_OUT_OF_MEMORY, error);
-}
-
-TEST(tdm_pp_attach, error_bad_request)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_pp private_pp;
-       tdm_private_display private_display;
-       tdm_backend_module module;
-       struct _tbm_surface src;
-       struct _tbm_surface dst;
-       tdm_pp_private_buffer pp_buffer_1;
-       tdm_pp_private_buffer pp_buffer_2;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-       LIST_ADDTAIL(&private_pp.link, &private_display.pp_list);
-       private_display.module_data = &module;
-       private_display.func_pp.pp_attach = stub_pp_attach;
-       private_display.caps_pp.max_attach_count = 1;
-       module.abi_version  = 0x00010002;
-
-       private_pp.private_display = &private_display;
-       LIST_INITHEAD(&private_pp.pending_buffer_list);
-       LIST_INITHEAD(&private_pp.buffer_list);
-
-       LIST_ADD(&pp_buffer_1.link, &private_pp.pending_buffer_list);
-       LIST_ADD(&pp_buffer_2.link, &private_pp.pending_buffer_list);
-
-       error = tdm_pp_attach(&private_pp, &src, &dst);
-
-       ASSERT_EQ(TDM_ERROR_BAD_REQUEST, error);
-}
-
-TEST(tdm_pp_attach, error_pp_attach_is_not_implemented)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_pp private_pp;
-       tdm_private_display private_display;
-       struct _tbm_surface src;
-       struct _tbm_surface dst;
-
-       _init_test();
-
-       private_display.func_pp.pp_attach = NULL;
-
-       private_pp.private_display = &private_display;
-
-       error = tdm_pp_attach(&private_pp, &src, &dst);
-
-       ASSERT_EQ(TDM_ERROR_NOT_IMPLEMENTED, error);
-}
-
-TEST(tdm_pp_attach, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_private_pp private_pp;
-       tdm_private_display private_display;
-       tdm_backend_module module;
-       struct _tbm_surface src;
-       struct _tbm_surface dst;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-       LIST_ADDTAIL(&private_pp.link, &private_display.pp_list);
-       private_display.module_data = &module;
-       private_display.func_pp.pp_attach = stub_pp_attach;
-       private_display.caps_pp.max_attach_count = 3;
-       module.abi_version  = 0x00010002;
-
-       private_pp.private_display = &private_display;
-       LIST_INITHEAD(&private_pp.pending_buffer_list);
-       LIST_INITHEAD(&private_pp.buffer_list);
-       tdm_debug_dump = TDM_DUMP_FLAG_PP;
-       tdm_debug_module = TDM_DEBUG_BUFFER;
-
-       error = tdm_pp_attach(&private_pp, &src, &dst);
-
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       int num_of_pp_buff = LIST_LENGTH(&private_pp.pending_buffer_list);
-       ASSERT_EQ(1, num_of_pp_buff);
-}
-
-TEST(tdm_pp_attach, null_ptr_fail_3)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-       struct _tbm_surface src;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-
-       error = tdm_pp_attach(&pp, &src, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_attach, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-       struct _tbm_surface dst;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-
-       error = tdm_pp_attach(&pp, NULL, &dst);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_attach, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       struct _tbm_surface src;
-       struct _tbm_surface dst;
-
-       _init_test();
-
-       error = tdm_pp_attach(NULL, &src, &dst);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-/* tdm_pp_set_info */
-
-TEST(tdm_pp_set_info, work_flow_success_3)
-{
-       tdm_error error = TDM_ERROR_OPERATION_FAILED;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_info_pp info;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_set_info = pp_set_info;
-
-       error = tdm_pp_set_info(&pp, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_set_info, work_flow_success_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error not_expected_error = TDM_ERROR_NONE;
-       tdm_info_pp info;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_set_info = pp_set_info;
-       PP_SET_INFO_ERROR = 1;
-
-       error = tdm_pp_set_info(&pp, &info);
-
-       ASSERT_NE(error, not_expected_error);
-}
-
-TEST(tdm_pp_set_info, work_flow_success_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_NOT_IMPLEMENTED;
-       tdm_info_pp info;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_set_info = NULL;
-
-       error = tdm_pp_set_info(&pp, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_set_info, null_ptr_fail_2)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-
-       error = tdm_pp_set_info(&pp, NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_set_info, null_ptr_fail_1)
-{
-       tdm_error error = TDM_ERROR_NONE;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_info_pp info;
-
-       _init_test();
-
-       error = tdm_pp_set_info(NULL, &info);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_pp_set_done_handler, work_flow_success_1)
-{
-       tdm_error error;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-       int user_data = 0;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_set_info = NULL;
-
-       error = tdm_pp_set_done_handler(&pp, stub_tdm_pp_done_handler, &user_data);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_EQ(stub_tdm_pp_done_handler, pp.done_func);
-       ASSERT_EQ(&user_data, pp.done_user_data);
-
-       error = tdm_pp_set_done_handler(&pp, stub_tdm_pp_done_handler, NULL);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_EQ(stub_tdm_pp_done_handler, pp.done_func);
-       ASSERT_EQ(0, pp.done_user_data);
-}
-
-TEST(tdm_pp_set_done_handler, work_flow_error_1___NULL)
-{
-       tdm_error error;
-       tdm_private_pp pp;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       pp.private_display = &private_display;
-       private_display.func_pp.pp_set_info = NULL;
-
-       error = tdm_pp_set_done_handler(&pp, NULL, NULL);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-
-       error = tdm_pp_set_done_handler(NULL, stub_tdm_pp_done_handler, NULL);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-}
-
-TEST(tdm_pp_destroy, work_flow_success_1)
-{
-       tdm_private_pp *private_pp;
-       tdm_pp_private_buffer *pp_buffer1;
-       tdm_pp_private_buffer *pp_buffer2;
-       tdm_private_display private_display;
-       private_pp = (tdm_private_pp *)calloc(1, sizeof(tdm_private_pp));
-       pp_buffer1 = (tdm_pp_private_buffer *)calloc(1, sizeof *pp_buffer1);
-       pp_buffer2 = (tdm_pp_private_buffer *)calloc(1, sizeof *pp_buffer2);
-
-       private_display.func_pp.pp_destroy = stub_pp_destroy;
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-       private_display.func_pp.pp_destroy = stub_pp_destroy;
-       LIST_ADDTAIL(&private_pp->link, &private_display.pp_list);
-
-
-       private_pp->private_display = &private_display;
-       LIST_INITHEAD(&private_pp->pending_buffer_list);
-       LIST_ADDTAIL(&pp_buffer1->link, &private_pp->pending_buffer_list);
-
-       LIST_INITHEAD(&private_pp->buffer_list);
-       LIST_ADDTAIL(&pp_buffer2->link, &private_pp->buffer_list);
-
-       tdm_pp_destroy(private_pp);
-
-       ASSERT_EQ(4, stub_tdm_buffer_unref_backend_count);
-       ASSERT_EQ(3, stub_free_call_count);
-       ASSERT_TRUE(stub_pp_destroy_is_called);
-}
-
-TEST(tdm_pp_destroy, work_flow_error_1___NULL)
-{
-       tdm_pp_destroy(NULL);
-}
-
-/* tdm_pp_create_internal() */
-
-TEST(tdm_pp_create_internal, work_flow_success_1)
-{
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_pp *private_pp_ret;
-       tdm_private_pp private_pp;
-
-       _init_test();
-
-       stub_tdm_helper_get_time_ret_val = 1.1;
-
-       private_display.func_pp.pp_destroy = stub_pp_destroy;
-       private_display.func_pp.pp_set_done_handler = stub_pp_set_done_handler;
-       private_display.func_display.display_create_pp = stub_display_create_pp;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       LIST_INITHEAD(&private_display.pp_list);
-
-       private_pp.stamp = stub_tdm_helper_get_time_ret_val;
-
-       LIST_ADD(&private_pp.link, &private_display.pp_list);
-
-       private_pp_ret = tdm_pp_create_internal(&private_display, &error);
-
-       ASSERT_EQ(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(stub_pp_set_done_handler_is_called);
-       ASSERT_TRUE(stub_display_create_pp_is_called);
-       ASSERT_TRUE(private_pp_ret != NULL);
-}
-
-TEST(tdm_pp_create_internal, work_flow_error_1___TDM_DISPLAY_CAPABILITY_PP_is_not_set)
-{
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_pp *private_pp;
-
-       _init_test();
-
-       private_display.func_pp.pp_destroy = stub_pp_destroy;
-       private_display.func_pp.pp_set_done_handler = stub_pp_set_done_handler;
-       private_display.func_display.display_create_pp = stub_display_create_pp;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       LIST_INITHEAD(&private_display.pp_list);
-
-
-       private_display.capabilities = (tdm_display_capability)0;
-
-       private_pp = tdm_pp_create_internal(&private_display, &error);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(private_pp == NULL);
-}
-
-TEST(tdm_pp_create_internal, work_flow_error_1___calloc_error)
-{
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_pp *private_pp;
-
-       _init_test();
-
-       private_display.func_pp.pp_destroy = stub_pp_destroy;
-       private_display.func_pp.pp_set_done_handler = stub_pp_set_done_handler;
-       private_display.func_display.display_create_pp = stub_display_create_pp;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       LIST_INITHEAD(&private_display.pp_list);
-
-       CALLOC_ERROR = 1;
-
-       private_pp = tdm_pp_create_internal(&private_display, &error);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(private_pp == NULL);
-}
-
-TEST(tdm_pp_create_internal, work_flow_error_1___create_pp_error)
-{
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_pp *private_pp;
-
-       _init_test();
-
-       stub_display_create_pp_error = 1;
-       private_display.func_display.display_create_pp = stub_display_create_pp;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-
-       private_pp = tdm_pp_create_internal(&private_display, &error);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(private_pp == NULL);
-}
-
-TEST(tdm_pp_create_internal, work_flow_error_1___set_done_handler_error)
-{
-       tdm_error error;
-       tdm_private_display private_display;
-       tdm_private_pp *private_pp;
-
-       _init_test();
-
-       stub_pp_set_done_handler_error = 1;
-
-       private_display.func_pp.pp_destroy = stub_pp_destroy;
-       private_display.func_pp.pp_set_done_handler = stub_pp_set_done_handler;
-       private_display.func_display.display_create_pp = stub_display_create_pp;
-       private_display.capabilities = TDM_DISPLAY_CAPABILITY_PP;
-       LIST_INITHEAD(&private_display.pp_list);
-
-       private_pp = tdm_pp_create_internal(&private_display, &error);
-       ASSERT_NE(TDM_ERROR_NONE, error);
-       ASSERT_TRUE(private_pp == NULL);
-}
-
-/* tdm_pp_cb_done() */
-
-TEST(tdm_pp_cb_done, success_not_in_display_thread)
-{
-       tdm_private_pp private_pp;
-       struct _tbm_surface src, dst;
-       tdm_thread_cb_pp_done *pp_done;
-
-       _init_test();
-
-       stub_syscall_return_value = 100;
-       private_pp.owner_tid = stub_syscall_return_value + 1;
-       private_pp.stamp = 200.05;
-
-       tdm_pp_cb_done(&private_pp, &src, &dst, &private_pp);
-
-       pp_done = (tdm_thread_cb_pp_done *)stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(pp_done->base.type, TDM_THREAD_CB_PP_DONE);
-       ASSERT_EQ(pp_done->base.length, sizeof * pp_done);
-       ASSERT_DOUBLE_EQ(pp_done->pp_stamp, private_pp.stamp);
-       ASSERT_TRUE(pp_done->src == &src);
-       ASSERT_TRUE(pp_done->dst == &dst);
-       ASSERT_TRUE(pp_done->user_data == &private_pp);
-}
-
-//TEST(tdm_pp_cb_done, success_in_display_thread)
-//{
-//     tdm_private_pp private_pp;
-//     struct _tbm_surface src, dst;
-//     tdm_pp_private_buffer *pp_buffer_1;
-//     tdm_pp_private_buffer *pp_buffer_2;
-//
-//     _init_test();
-//
-//     stub_syscall_return_value = 100;
-//     stub_syscall_reset = 1;
-//     private_pp.owner_tid = stub_syscall_return_value;
-//
-//     pp_buffer_1 = (tdm_pp_private_buffer *)calloc(1, sizeof (tdm_pp_private_buffer));
-//     pp_buffer_2 = (tdm_pp_private_buffer *)calloc(1, sizeof (tdm_pp_private_buffer));
-//     pp_buffer_1->src = &src;
-//     pp_buffer_1->dst = &dst;
-//     private_pp.done_func = stub_tdm_pp_done_handler;
-//
-//     LIST_INITHEAD(&private_pp.buffer_list);
-//     LIST_ADD(&pp_buffer_1->link, &private_pp.buffer_list);
-//     LIST_ADD(&pp_buffer_2->link, &private_pp.buffer_list);
-//
-//     tdm_pp_cb_done(&private_pp, &src, &dst, &private_pp);
-//
-//     ASSERT_EQ(stub_tdm_buffer_unref_backend_count, 2);
-//     ASSERT_EQ(FREE_CALLED, 1);
-//     ASSERT_EQ(stub_tdm_pp_done_handler_is_called, 1);
-//     free(pp_buffer_2);
-//}
-
-/* tdm_pp_find_stamp() */
-
-TEST(tdm_pp_find_stamp, success_pp_list_is_empty)
-{
-       tdm_private_pp *private_pp_ret;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-
-       private_pp_ret = tdm_pp_find_stamp(&private_display, 0.5);
-
-       ASSERT_TRUE(private_pp_ret == NULL);
-}
+       void TearDown(void)
+       {
+               tdm_display_deinit(dpy);
+               dpy = NULL;
+       }
+};
 
-TEST(tdm_pp_find_stamp, success_pp_find_stamp)
+TEST_F(TDMPP, DisplayGetPPAvailableFormatsSuccessful)
 {
-       tdm_private_pp *private_pp_ret;
-       tdm_private_display private_display;
-       tdm_private_pp private_pp;
-       double stamp = 12.25;
-
-       _init_test();
-
-       LIST_INITHEAD(&private_display.pp_list);
-       LIST_ADD(&private_pp.link, &private_display.pp_list);
-
-       private_pp.stamp = stamp;
-
-       private_pp_ret = tdm_pp_find_stamp(&private_display, stamp);
-
-       ASSERT_TRUE(private_pp_ret == &private_pp);
+       CHECK_FLAG(has_pp);
+       const tbm_format * formats = NULL;
+       int count = -42;
+       ASSERT_TRUE(TDM_ERROR_NONE == tdm_display_get_pp_available_formats(dpy, &formats, &count));
+       ASSERT_FALSE(-42 == count);
+       ASSERT_FALSE(NULL == formats);
 }
diff --git a/utests/src/ut_tdm_thread.cpp b/utests/src/ut_tdm_thread.cpp
deleted file mode 100644 (file)
index 76f69d0..0000000
+++ /dev/null
@@ -1,824 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
- *
- * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
-**************************************************************************/
-
-#include "gtest/gtest.h"
-
-#include "tbm_stubs.h"
-#include "stub_pthread.h"
-#include "stub_stdlib.h"
-#include "stub_unistd.h"
-#include "stub_tdm.h"
-#include "stub_tdm_display.h"
-#include "stub_tdm_pp.h"
-#include "stub_tdm_capture.h"
-#include "stub_tdm_vblank.h"
-
-#include "tdm_thread.c"
-
-static void _init_test()
-{
-       keep_private_thread = NULL;
-       tdm_mutex_locked = 0;
-
-       stub_pthread_init();
-       stub_stdlib_init();
-       stub_unistd_init();
-       stub_tdm_display_init();
-       stub_tdm_pp_init();
-       tdm_debug_module = TDM_DEBUG_THREAD;
-}
-
-/* UNIT TESTS */
-
-/* tdm_thread_init */
-
-TEST(tdm_thread_init, error_mutex_is_not_locked)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       keep_private_thread = &private_thread;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, error_dpy_is_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       tdm_mutex_locked = 1;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, error_dpy_private_loop_is_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, success_private_thread_is_not_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-       tdm_private_loop dpy_private_loop;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&dpy_private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-       private_display.private_loop = &dpy_private_loop;
-       private_loop.private_thread = &private_thread;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, success_getenv_return_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-       tdm_private_loop dpy_private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&dpy_private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-       private_display.private_loop = &dpy_private_loop;
-
-       stub_getenv_name = "TDM_THREAD";
-       stub_getenv_return_value = NULL;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, success_getenv_return_0)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-       tdm_private_loop dpy_private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&dpy_private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-       private_display.private_loop = &dpy_private_loop;
-
-       stub_getenv_name = "TDM_THREAD";
-       stub_getenv_return_value = "0";
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, error_calloc_return_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_OUT_OF_MEMORY;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-       tdm_private_loop dpy_private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&dpy_private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-       private_display.private_loop = &dpy_private_loop;
-
-       stub_getenv_name = "TDM_THREAD";
-       stub_getenv_return_value = "1";
-       CALLOC_ERROR = 1;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, error_pipe_return_error)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-       tdm_private_loop dpy_private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&dpy_private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-       private_display.private_loop = &dpy_private_loop;
-
-       stub_getenv_name = "TDM_THREAD";
-       stub_getenv_return_value = "1";
-
-       stub_pipe_error = 1;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_init, success_init)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_display private_display;
-       tdm_private_loop dpy_private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       memset(&dpy_private_loop, 0, sizeof(tdm_private_loop));
-       memset(&private_display, 0, sizeof(tdm_private_display));
-
-       tdm_mutex_locked = 1;
-       private_loop.dpy = &private_display;
-       private_display.private_loop = &dpy_private_loop;
-
-       stub_getenv_name = "TDM_THREAD";
-       stub_getenv_return_value = "1";
-       stub_syscall_return_value = 10;
-
-       error = tdm_thread_init(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_TRUE(keep_private_thread != NULL);
-       ASSERT_TRUE(keep_private_thread->private_loop == &private_loop);
-       ASSERT_TRUE(private_loop.private_thread != NULL);
-       ASSERT_EQ(private_loop.private_thread->display_tid,
-                         stub_syscall_return_value);
-       free(private_loop.private_thread);
-}
-
-/* tdm_thread_deinit */
-
-TEST(tdm_thread_deinit, error_mutex_is_not_locked)
-{
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       private_loop.private_thread = calloc(1, sizeof(tdm_private_thread));
-
-       keep_private_thread = private_loop.private_thread;
-
-       tdm_thread_deinit(&private_loop);
-
-       ASSERT_TRUE(keep_private_thread != NULL);
-}
-
-TEST(tdm_thread_deinit, error_private_thread_is_null)
-{
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       keep_private_thread = calloc(1, sizeof(tdm_private_thread));
-
-       tdm_thread_deinit(&private_loop);
-
-       ASSERT_TRUE(keep_private_thread != NULL);
-}
-
-TEST(tdm_thread_deinit, success_deinit)
-{
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       tdm_mutex_locked = 1;
-
-       private_loop.private_thread = calloc(1, sizeof(tdm_private_thread));
-
-       private_loop.private_thread->pipe[0] = 1;
-       private_loop.private_thread->pipe[1] = 2;
-
-       keep_private_thread = private_loop.private_thread;
-
-       tdm_thread_deinit(&private_loop);
-
-       ASSERT_TRUE(keep_private_thread == NULL);
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_EQ(stub_unistd_closed_fds[1], 1);
-       ASSERT_EQ(stub_unistd_closed_fds[2], 1);
-       ASSERT_TRUE(private_loop.private_thread == NULL);
-}
-
-/* tdm_thread_get_fd */
-
-TEST(tdm_thread_get_fd, error_mutex_is_not_locked)
-{
-       int ret;
-       int expected_ret = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       keep_private_thread = &private_thread;
-
-       ret = tdm_thread_get_fd(&private_loop);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_get_fd, error_private_loop_is_null)
-{
-       int ret;
-       int expected_ret = -1;
-
-       _init_test();
-
-       tdm_mutex_locked = 1;
-
-       ret = tdm_thread_get_fd(NULL);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_get_fd, error_private_thread_is_null)
-{
-       int ret;
-       int expected_ret = -1;
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       ret = tdm_thread_get_fd(&private_loop);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_get_fd, success_get_fd)
-{
-       int ret;
-       int expected_ret;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-       private_thread.pipe[0] = 15;
-
-       expected_ret = private_thread.pipe[0];
-
-       ret = tdm_thread_get_fd(&private_loop);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-/* tdm_thread_send_cb */
-
-TEST(tdm_thread_send_cb, error_mutex_is_not_locked)
-{
-       tdm_error ret;
-       tdm_error expected_ret = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_thread_cb_base base;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       keep_private_thread = &private_thread;
-
-       ret = tdm_thread_send_cb(&private_loop, &base);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_send_cb, error_base_is_null)
-{
-       tdm_error ret;
-       tdm_error expected_ret = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       ret = tdm_thread_send_cb(&private_loop, NULL);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_send_cb, error_private_loop_is_null)
-{
-       tdm_error ret;
-       tdm_error expected_ret = TDM_ERROR_INVALID_PARAMETER;
-       tdm_thread_cb_base base;
-
-       _init_test();
-
-       ret = tdm_thread_send_cb(NULL, &base);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_send_cb, error_private_thread_is_null)
-{
-       tdm_error ret;
-       tdm_error expected_ret = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_loop private_loop;
-       tdm_thread_cb_base base;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       ret = tdm_thread_send_cb(&private_loop, &base);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_send_cb, error_write_error)
-{
-       tdm_error ret;
-       tdm_error expected_ret = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_thread_cb_base base;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-       base.length = 256;
-
-       stub_write_error = 1;
-
-       ret = tdm_thread_send_cb(&private_loop, &base);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_send_cb, success_send_cb)
-{
-       tdm_error ret;
-       tdm_error expected_ret = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_thread_cb_base base;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-       base.length = 256;
-
-       ret = tdm_thread_send_cb(&private_loop, &base);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-/* tdm_thread_handle_cb */
-
-TEST(tdm_thread_handle_cb, error_private_loop_is_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-
-       error = tdm_thread_handle_cb(NULL);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_handle_cb, error_private_thread_is_null)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_INVALID_PARAMETER;
-       tdm_private_loop private_loop;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_handle_cb, success_read_0_bytes)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_handle_cb, error_partial_reading)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_OPERATION_FAILED;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_base base;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&base;
-       base.length = sizeof(tdm_thread_cb_base);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_base) - 1;
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_output_commit)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_output_commit cb_output_commit;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_output_commit;
-       cb_output_commit.base.type = TDM_THREAD_CB_OUTPUT_COMMIT;
-       cb_output_commit.base.length = sizeof(tdm_thread_cb_output_commit);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_output_commit);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_output_cb_commit_called, 1);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_output_vblank)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_output_vblank cb_output_vblank;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_output_vblank;
-       cb_output_vblank.base.type = TDM_THREAD_CB_OUTPUT_VBLANK;
-       cb_output_vblank.base.length = sizeof(tdm_thread_cb_output_vblank);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_output_vblank);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_output_cb_vblank_called, 1);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_output_status)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_output_status cb_output_status;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_output_status;
-       cb_output_status.base.type = TDM_THREAD_CB_OUTPUT_STATUS;
-       cb_output_status.base.length = sizeof(tdm_thread_cb_output_status);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_output_status);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_output_cb_status_called, 1);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_output_dpms)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_output_dpms cb_output_dpms;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_output_dpms;
-       cb_output_dpms.base.type = TDM_THREAD_CB_OUTPUT_DPMS;
-       cb_output_dpms.base.length = sizeof(tdm_thread_cb_output_dpms);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_output_dpms);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_output_cb_dpms_called, 1);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_pp_done)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_pp_done cb_pp_done;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_pp_done;
-       cb_pp_done.base.type = TDM_THREAD_CB_PP_DONE;
-       cb_pp_done.base.length = sizeof(tdm_thread_cb_pp_done);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_pp_done);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_pp_cb_done_called, 1);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_capture_done)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_capture_done cb_capture_done;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_capture_done;
-       cb_capture_done.base.type = TDM_THREAD_CB_CAPTURE_DONE;
-       cb_capture_done.base.length = sizeof(tdm_thread_cb_capture_done);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_capture_done);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_capture_cb_done_called, 1);
-}
-
-TEST(tdm_thread_handle_cb, success_case_thread_cb_vblank_sw)
-{
-       tdm_error error;
-       tdm_error expected_error = TDM_ERROR_NONE;
-       tdm_private_loop private_loop;
-       tdm_private_thread private_thread;
-       tdm_thread_cb_vblank_sw cb_vblank_sw;
-
-       _init_test();
-
-       memset(&private_loop, 0, sizeof(tdm_private_loop));
-       private_loop.private_thread = &private_thread;
-
-       stub_read_buf = (void *)&cb_vblank_sw;
-       cb_vblank_sw.base.type = TDM_THREAD_CB_VBLANK_SW;
-       cb_vblank_sw.base.length = sizeof(tdm_thread_cb_vblank_sw);
-
-       stub_read_returned_size = sizeof(tdm_thread_cb_vblank_sw);
-
-       error = tdm_thread_handle_cb(&private_loop);
-
-       ASSERT_EQ(error, expected_error);
-       ASSERT_EQ(stub_tdm_vblank_cb_vblank_SW_called, 1);
-}
-
-/* tdm_thread_in_display_thread */
-
-TEST(tdm_thread_in_display_thread, success_keep_private_thread_is_null)
-{
-       int ret;
-       int expected_ret = 1;
-       pid_t tid;
-
-       _init_test();
-
-       ret = tdm_thread_in_display_thread(tid);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_in_display_thread, success_in_display_thread)
-{
-       int ret;
-       int expected_ret = 1;
-       pid_t tid = 20;
-       static tdm_private_thread private_thread;
-
-       _init_test();
-
-       private_thread.display_tid = tid;
-       keep_private_thread = &private_thread;
-
-       ret = tdm_thread_in_display_thread(tid);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_in_display_thread, success_no_in_display_thread)
-{
-       int ret;
-       int expected_ret = 0;
-       pid_t tid = 20;
-       static tdm_private_thread private_thread;
-
-       _init_test();
-
-       private_thread.display_tid = tid + 1;
-       keep_private_thread = &private_thread;
-
-       ret = tdm_thread_in_display_thread(tid);
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-/* tdm_thread_is_running */
-
-TEST(tdm_thread_is_running, success_no_is_running)
-{
-       int ret;
-       int expected_ret = 0;
-
-       _init_test();
-
-       ret = tdm_thread_is_running();
-
-       ASSERT_EQ(ret, expected_ret);
-}
-
-TEST(tdm_thread_is_running, success_is_running)
-{
-       int ret;
-       int expected_ret = 1;
-       static tdm_private_thread private_thread;
-
-       _init_test();
-
-       keep_private_thread = &private_thread;
-
-       ret = tdm_thread_is_running();
-
-       ASSERT_EQ(ret, expected_ret);
-}
diff --git a/utests/src/ut_tdm_vblank.cpp b/utests/src/ut_tdm_vblank.cpp
deleted file mode 100644 (file)
index 9783ff1..0000000
+++ /dev/null
@@ -1,890 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
- *
- * Contact: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
-**************************************************************************/
-
-#include "gtest/gtest.h"
-
-#include "stub_pthread.h"
-#include "stub_tdm_display.h"
-#include "stub_stdlib.h"
-#include "stub_unistd.h"
-#include "stub_tdm_event_loop.h"
-#include "stub_tdm_thread.h"
-#include "stub_tdm.h"
-#include "stub_tdm_event_loop.h"
-#include "stub_tdm_helper.h"
-
-#include <sys/types.h>
-
-extern "C"  const char*
-tdm_server_get_client_name(pid_t pid)
-{
-       (void)pid;
-       return NULL;
-}
-
-#include "tdm_vblank.c"
-
-static void _init_test()
-{
-       stub_tdm_helper_init();
-       stub_tdm_event_loop_init();
-       stub_tdm_init();
-       stub_tdm_thread_init();
-       stub_tdm_event_loop_init();
-       stub_stdlib_init();
-       stub_stdlib_init();
-       stub_tdm_display_init();
-       stub_pthread_init();
-       vblank_list_inited = 0;
-       tdm_debug_module = TDM_DEBUG_VBLANK;
-}
-
-/* UNIT TESTS */
-
-/* tdm_vblank_create() */
-
-TEST(tdm_vblank_create, error_dpy_is_null)
-{
-       tdm_vblank *vblank;
-       tdm_private_output output;
-       tdm_error error;
-
-       _init_test();
-
-       vblank = tdm_vblank_create(NULL, &output, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-       ASSERT_TRUE(vblank == NULL);
-}
-
-TEST(tdm_vblank_create, error_output_is_null)
-{
-       tdm_vblank *vblank;
-       tdm_private_display display;
-       tdm_error error;
-
-       _init_test();
-
-       vblank = tdm_vblank_create(&display, NULL, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-       ASSERT_TRUE(vblank == NULL);
-}
-
-TEST(tdm_vblank_create, error_list_inited_mutex_init)
-{
-       tdm_vblank *vblank;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_error error;
-
-       _init_test();
-
-       PTHREAD_MUTEX_INIT_ERROR = -1;
-
-       vblank = tdm_vblank_create(&display, &output, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-       ASSERT_TRUE(vblank == NULL);
-}
-
-TEST(tdm_vblank_create, error_mode_is_null)
-{
-       tdm_vblank *vblank;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_error error;
-
-       _init_test();
-
-       stub_tdm_output_get_mode_error = 1;
-
-       vblank = tdm_vblank_create(&display, &output, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-       ASSERT_TRUE(vblank == NULL);
-}
-
-TEST(tdm_vblank_create, error_calloc_error)
-{
-       tdm_vblank *vblank;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_error error;
-
-       _init_test();
-
-       CALLOC_ERROR = 1;
-
-       vblank = tdm_vblank_create(&display, &output, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-       ASSERT_TRUE(vblank == NULL);
-}
-
-TEST(tdm_vblank_create, success_vblank_create)
-{
-       tdm_private_vblank *vblank;
-       tdm_private_display display;
-       tdm_private_output output;
-       tdm_error error;
-       tdm_private_vblank *find_item;
-       tdm_private_vblank *tmp;
-
-       _init_test();
-
-       vblank =
-               (tdm_private_vblank *) tdm_vblank_create(&display, &output, &error);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_TRUE(vblank != NULL);
-       ASSERT_TRUE(stub_tdm_output_change_handler == _tdm_vblank_cb_output_change);
-       ASSERT_EQ(vblank->stamp, stamp);
-       ASSERT_EQ(vblank->owner_tid, stub_syscall_return_value);
-       ASSERT_TRUE(vblank->dpy == &display);
-       ASSERT_TRUE(vblank->output == &output);
-       ASSERT_EQ(vblank->dpms, stub_tdm_dpms_returned_value);
-       ASSERT_EQ(vblank->vrefresh, stub_tdm_mode.vrefresh);
-       ASSERT_EQ(vblank->HW_vblank_gap, 1.0 / vblank->vrefresh);
-       ASSERT_EQ(vblank->check_HW_or_SW, 1);
-       ASSERT_EQ(vblank->fps, stub_tdm_mode.vrefresh);
-       ASSERT_TRUE(LIST_IS_EMPTY(&vblank->HW_wait_list));
-       ASSERT_TRUE(LIST_IS_EMPTY(&vblank->SW_wait_list));
-//     LIST_FOR_EACH_ENTRY_SAFE(find_item, tmp, &vblank_list, link) {
-//             if (find_item == vblank)
-//                     break;
-//             find_item = NULL;
-//     }
-//     ASSERT_TRUE(find_item != NULL);
-//     ASSERT_TRUE(LIST_IS_EMPTY(&valid_wait_list));
-//     free(vblank);
-}
-
-/* tdm_vblank_destroy() */
-
-//TEST(tdm_vblank_destroy, success_vblank_destroy)
-//{
-//     tdm_private_vblank *vblank;
-//     int SW_timer = 10;
-//     tdm_vblank_wait_info *hw_vblank_wait_info;
-//     tdm_vblank_wait_info *sw_vblank_wait_info;
-//
-//     _init_test();
-//
-//     vblank = (tdm_private_vblank *) calloc(1, sizeof *vblank);
-//     hw_vblank_wait_info =
-//             (tdm_vblank_wait_info *) calloc(1, sizeof *hw_vblank_wait_info);
-//     sw_vblank_wait_info =
-//             (tdm_vblank_wait_info *) calloc(1, sizeof *sw_vblank_wait_info);
-//
-////   LIST_INITHEAD(&vblank_list);
-////   LIST_ADD(&vblank->link, &vblank_list);
-//
-//     vblank->SW_timer = &SW_timer;
-//
-//     LIST_INITHEAD(&hw_vblank_wait_info->valid_link);
-//     LIST_INITHEAD(&vblank->HW_wait_list);
-//     LIST_ADD(&hw_vblank_wait_info->link, &vblank->HW_wait_list);
-//
-//     LIST_INITHEAD(&sw_vblank_wait_info->valid_link);
-//     LIST_INITHEAD(&vblank->SW_wait_list);
-//     LIST_ADD(&sw_vblank_wait_info->link, &vblank->SW_wait_list);
-//
-//     tdm_vblank_destroy(vblank);
-//
-////   ASSERT_TRUE(LIST_IS_EMPTY(&vblank_list));
-//     ASSERT_TRUE(stub_tdm_event_loop_removed_source == &SW_timer);
-//     ASSERT_TRUE(stub_tdm_output_change_handler == _tdm_vblank_cb_output_change);
-//     ASSERT_TRUE(LIST_IS_EMPTY(&vblank->HW_wait_list));
-//     ASSERT_TRUE(LIST_IS_EMPTY(&vblank->SW_wait_list));
-//     ASSERT_EQ(FREE_CALLED, 1);
-//}
-
-/* tdm_vblank_set_fps() */
-
-TEST(tdm_vblank_set_fps, error_vblank_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_vblank_set_fps(NULL, 5);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_set_fps, error_fps_is_0)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       error = tdm_vblank_set_fps(&vblank, 0);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_set_fps, success_fps_is_already_set)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       unsigned int fps = 60;
-
-       _init_test();
-
-       vblank.fps = fps;
-
-       error = tdm_vblank_set_fps(&vblank, fps);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank.fps, fps);
-}
-
-TEST(tdm_vblank_set_fps, success_set_fps)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       unsigned int fps = 60;
-
-       _init_test();
-
-       vblank.fps = fps - 10;
-
-       error = tdm_vblank_set_fps(&vblank, fps);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank.fps, fps);
-       ASSERT_EQ(vblank.check_HW_or_SW, 1);
-}
-
-/* tdm_vblank_set_offset() */
-
-TEST(tdm_vblank_set_offset, error_vblank_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_vblank_set_offset(NULL, 1);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_set_offset, success_offset_is_already_set)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int offset = 256;
-
-       _init_test();
-
-       vblank.offset = offset;
-
-       error = tdm_vblank_set_offset(&vblank, offset);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank.offset, offset);
-}
-
-TEST(tdm_vblank_set_offset, success_vblank_set_offset)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int offset = 256;
-
-       _init_test();
-
-       vblank.offset = offset - 64;
-
-       error = tdm_vblank_set_offset(&vblank, offset);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank.offset, offset);
-       ASSERT_EQ(vblank.check_HW_or_SW, 1);
-}
-
-/* tdm_vblank_set_enable_fake() */
-
-TEST(tdm_vblank_set_enable_fake, error_vblank_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_vblank_set_enable_fake(NULL, 1);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_set_enable_fake, success_enable_fake_is_already_set)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int enable_fake = 256;
-
-       _init_test();
-
-       vblank.enable_fake = enable_fake;
-
-       error = tdm_vblank_set_enable_fake(&vblank, enable_fake);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank.enable_fake, enable_fake);
-}
-
-TEST(tdm_vblank_set_enable_fake, success_vblank_set_enable_fake)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int enable_fake = 256;
-
-       _init_test();
-
-       vblank.enable_fake = enable_fake - 64;
-
-       error = tdm_vblank_set_enable_fake(&vblank, enable_fake);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank.enable_fake, enable_fake);
-}
-
-/* tdm_vblank_get_enable_fake() */
-
-TEST(tdm_vblank_get_enable_fake, error_vblank_is_null)
-{
-       unsigned int enable_fake;
-
-       _init_test();
-
-       tdm_vblank_get_enable_fake(NULL, &enable_fake);
-
-       ASSERT_EQ(enable_fake, 0);
-}
-
-TEST(tdm_vblank_get_enable_fake, success_vblank_get_enable_fake)
-{
-       tdm_private_vblank vblank;
-       unsigned int enable_fake;
-
-       _init_test();
-
-       vblank.enable_fake = 15;
-
-       tdm_vblank_get_enable_fake(&vblank, &enable_fake);
-
-       ASSERT_EQ(enable_fake, vblank.enable_fake);
-}
-
-/* tdm_vblank_cb_vblank_SW() */
-
-TEST(tdm_vblank_cb_vblank_SW, error_vblank_is_null_and_vblank_stamp_less_0)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_vblank_cb_vblank_SW(NULL, -1);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_cb_vblank_SW, success_vblank_is_null_and_not_on_vblank_list)
-{
-       tdm_error error;
-
-       _init_test();
-
-//     LIST_INITHEAD(&vblank_list);
-
-       error = tdm_vblank_cb_vblank_SW(NULL, 5);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_vblank_cb_vblank_SW, success_not_in_display_thread)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       tdm_thread_cb_vblank_sw *vblank_sw;
-       tdm_private_display display;
-
-       _init_test();
-
-       vblank.owner_tid = 10;
-       vblank.stamp = 15.0;
-       vblank.dpy = &display;
-
-       stub_syscall_return_value = vblank.owner_tid - 1;
-
-       error = tdm_vblank_cb_vblank_SW(&vblank, 5);
-
-       vblank_sw = (tdm_thread_cb_vblank_sw *) stub_tdm_thread_send_cb_buff;
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(vblank_sw->base.length, sizeof(tdm_thread_cb_vblank_sw));
-       ASSERT_EQ(vblank_sw->base.type, TDM_THREAD_CB_VBLANK_SW);
-       ASSERT_DOUBLE_EQ(vblank_sw->vblank_stamp, vblank.stamp);
-}
-
-TEST(tdm_vblank_cb_vblank_SW, success_SW_wait_list_is_empty)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       vblank.owner_tid = 10;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       LIST_INITHEAD(&vblank.SW_wait_list);
-
-       error = tdm_vblank_cb_vblank_SW(&vblank, 5);
-
-       ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-}
-
-TEST(tdm_vblank_cb_vblank_SW, success_vblank_cb_vblank_SW)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       tdm_vblank_wait_info *first_wait_info;
-       tdm_vblank_wait_info *wait_info;
-
-       _init_test();
-
-       first_wait_info =
-               (tdm_vblank_wait_info *) calloc(1, sizeof *first_wait_info);
-       wait_info = (tdm_vblank_wait_info *) calloc(1, sizeof *wait_info);
-
-       vblank.owner_tid = 10;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       LIST_INITHEAD(&vblank.SW_wait_list);
-       LIST_INITHEAD(&first_wait_info->valid_link);
-       LIST_INITHEAD(&wait_info->valid_link);
-
-       LIST_ADD(&wait_info->link, &vblank.SW_wait_list);
-       LIST_ADD(&first_wait_info->link, &vblank.SW_wait_list);
-
-       vblank.last_seq = 20;
-       first_wait_info->target_seq = 19;
-       wait_info->target_seq = 21;
-
-       first_wait_info->target_time = 5;
-       wait_info->target_time = 5;
-
-       first_wait_info->func = stub_tdm_vblank_handler;
-       wait_info->func = stub_tdm_vblank_handler;
-
-       error = tdm_vblank_cb_vblank_SW(&vblank, 5);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_EQ(stub_tdm_vblank_handler_call_count, 2);
-}
-
-TEST(tdm_vblank_cb_vblank_SW, success_vblank_cb_vblank_SW_2)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       tdm_vblank_wait_info *first_wait_info;
-       tdm_vblank_wait_info *wait_info;
-
-       _init_test();
-
-       first_wait_info =
-               (tdm_vblank_wait_info *) calloc(1, sizeof *first_wait_info);
-       wait_info = (tdm_vblank_wait_info *) calloc(1, sizeof *wait_info);
-
-       vblank.owner_tid = 10;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       LIST_INITHEAD(&vblank.SW_wait_list);
-       LIST_INITHEAD(&first_wait_info->valid_link);
-       LIST_INITHEAD(&wait_info->valid_link);
-
-       LIST_ADD(&wait_info->link, &vblank.SW_wait_list);
-       LIST_ADD(&first_wait_info->link, &vblank.SW_wait_list);
-
-       vblank.last_seq = 20;
-       first_wait_info->target_seq = 19;
-       wait_info->target_seq = 21;
-
-       first_wait_info->target_time = 5;
-       wait_info->target_time = 10;
-
-       first_wait_info->func = stub_tdm_vblank_handler;
-       wait_info->func = stub_tdm_vblank_handler;
-
-       error = tdm_vblank_cb_vblank_SW(&vblank, 5);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(FREE_CALLED, 1);
-       ASSERT_EQ(stub_tdm_vblank_handler_call_count, 1);
-}
-
-/* tdm_vblank_wait() */
-
-TEST(tdm_vblank_wait, error_vblank_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_vblank_wait(NULL, 1, 1, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_wait, error_func_is_null)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       error = tdm_vblank_wait(&vblank, 1, 1, 1, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_wait, error_not_in_display_thread)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       vblank.owner_tid = 10;
-
-       stub_syscall_return_value = vblank.owner_tid - 1;
-
-       error = tdm_vblank_wait(&vblank, 1, 1, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_BAD_REQUEST);
-}
-
-TEST(tdm_vblank_wait, error_dpms_is_off_and_enable_fake_is_0)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       vblank.owner_tid = 10;
-       vblank.dpms = TDM_OUTPUT_DPMS_OFF;
-       vblank.enable_fake = 0;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       error = tdm_vblank_wait(&vblank, 1, 1, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_DPMS_OFF);
-}
-
-TEST(tdm_vblank_wait, error_calloc)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       vblank.owner_tid = 10;
-       vblank.dpms = TDM_OUTPUT_DPMS_ON;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       CALLOC_ERROR = 1;
-
-       error = tdm_vblank_wait(&vblank, 1, 1, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_OUT_OF_MEMORY);
-}
-
-//TEST(tdm_vblank_wait, error_vblank_wait_HW_and_vblank_wait_SW)
-//{
-//     tdm_error error;
-//     tdm_private_vblank vblank;
-//     int SW_timer = 10;
-//
-//     _init_test();
-//
-//     LIST_INITHEAD(&vblank.HW_wait_list);
-//     LIST_INITHEAD(&vblank.SW_wait_list);
-//
-//     vblank.owner_tid = 10;
-//     vblank.dpms = TDM_OUTPUT_DPMS_ON;
-//     vblank.check_HW_or_SW = 1;
-//     vblank.vrefresh = 60;
-//     vblank.fps = 60;
-//     vblank.offset = 1;
-//     vblank.last_time = 0;
-//     vblank.SW_timer = &SW_timer;
-//
-//     stub_syscall_return_value = vblank.owner_tid;
-//     stub_tdm_output_wait_vblank_error = 1;
-//     stub_tdm_event_loop_source_timer_update_error = 1;
-//
-//     error = tdm_vblank_wait(&vblank, 0, 0, 1, stub_tdm_vblank_handler, NULL);
-//
-//     ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-//}
-
-//TEST(tdm_vblank_wait, error_vblank_wait_SW)
-//{
-//     tdm_error error;
-//     tdm_private_vblank vblank;
-//     int SW_timer = 10;
-//
-//     _init_test();
-//
-//     LIST_INITHEAD(&vblank.HW_wait_list);
-//     LIST_INITHEAD(&vblank.SW_wait_list);
-//
-//     vblank.owner_tid = 10;
-//     vblank.dpms = TDM_OUTPUT_DPMS_ON;
-//     vblank.check_HW_or_SW = 1;
-//     vblank.vrefresh = 60;
-//     vblank.fps = 24;
-//     vblank.offset = 1;
-//     vblank.last_time = 0;
-//     vblank.SW_timer = &SW_timer;
-//
-//     stub_syscall_return_value = vblank.owner_tid;
-//     stub_tdm_event_loop_source_timer_update_error = 1;
-//
-//     error = tdm_vblank_wait(&vblank, 0, 0, 1, stub_tdm_vblank_handler, NULL);
-//
-//     ASSERT_EQ(error, TDM_ERROR_OPERATION_FAILED);
-//}
-
-TEST(tdm_vblank_wait, success_vblank_wait_SW)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int SW_timer = 10;
-
-       _init_test();
-
-       LIST_INITHEAD(&vblank.HW_wait_list);
-       LIST_INITHEAD(&vblank.SW_wait_list);
-
-       vblank.owner_tid = 10;
-       vblank.enable_fake = 1;
-       vblank.dpms = TDM_OUTPUT_DPMS_OFF;
-       vblank.check_HW_or_SW = 1;
-       vblank.vrefresh = 60;
-       vblank.fps = 60;
-       vblank.offset = 1;
-       vblank.last_time = 0;
-       vblank.SW_timer = &SW_timer;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       error = tdm_vblank_wait(&vblank, 0, 0, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_vblank_wait, success_vblank_wait_HW)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int SW_timer = 10;
-
-       _init_test();
-
-       LIST_INITHEAD(&vblank.HW_wait_list);
-       LIST_INITHEAD(&vblank.SW_wait_list);
-
-       vblank.owner_tid = 10;
-       vblank.dpms = TDM_OUTPUT_DPMS_ON;
-       vblank.check_HW_or_SW = 1;
-       vblank.vrefresh = 60;
-       vblank.fps = 60;
-       vblank.offset = 0;
-       vblank.last_time = 0;
-       vblank.SW_timer = &SW_timer;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       error = tdm_vblank_wait(&vblank, 0, 0, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-/* tdm_vblank_wait_seq() */
-
-TEST(tdm_vblank_wait_seq, error_vblank_is_null)
-{
-       tdm_error error;
-
-       _init_test();
-
-       error = tdm_vblank_wait_seq(NULL, 1, 1, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_wait_seq, error_func_is_null)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       error = tdm_vblank_wait_seq(&vblank, 1, 1, 1, NULL, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_INVALID_PARAMETER);
-}
-
-TEST(tdm_vblank_wait_seq, success_last_seq_is_0)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int SW_timer = 10;
-
-       _init_test();
-
-       LIST_INITHEAD(&vblank.HW_wait_list);
-       LIST_INITHEAD(&vblank.SW_wait_list);
-
-       vblank.last_seq = 0;
-       vblank.owner_tid = 10;
-       vblank.dpms = TDM_OUTPUT_DPMS_ON;
-       vblank.check_HW_or_SW = 1;
-       vblank.vrefresh = 60;
-       vblank.fps = 60;
-       vblank.offset = 0;
-       vblank.last_time = 0;
-       vblank.SW_timer = &SW_timer;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       error =
-               tdm_vblank_wait_seq(&vblank, 0, 0, 1, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_vblank_wait_seq,
-        success_sequence_greater_last_seq_and_seq_target_less_curr)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       vblank.last_seq = 1;
-       vblank.vblank_gap = 0;
-
-       stub_tdm_helper_get_time_ret_val = 100;
-
-       error =
-               tdm_vblank_wait_seq(&vblank, 0, 0, 5, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(stub_tdm_vblank_handler_call_count, 1);
-}
-
-TEST(tdm_vblank_wait_seq, success_target_is_too_close_to_current)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-
-       _init_test();
-
-       vblank.last_seq = 1;
-       vblank.vblank_gap = 0;
-
-       stub_tdm_helper_get_time_ret_val = vblank.last_time - 0.0001;
-
-       error =
-               tdm_vblank_wait_seq(&vblank, 0, 0, 5, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(stub_tdm_vblank_handler_call_count, 1);
-}
-
-TEST(tdm_vblank_wait_seq, success_sequence_greater_last_seq)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       int SW_timer = 10;
-
-       _init_test();
-
-       LIST_INITHEAD(&vblank.HW_wait_list);
-       LIST_INITHEAD(&vblank.SW_wait_list);
-
-       vblank.last_seq = 1;
-       vblank.owner_tid = 10;
-       vblank.dpms = TDM_OUTPUT_DPMS_ON;
-       vblank.check_HW_or_SW = 1;
-       vblank.vrefresh = 60;
-       vblank.fps = 60;
-       vblank.offset = 0;
-       vblank.last_time = 1;
-       vblank.SW_timer = &SW_timer;
-       vblank.vblank_gap = 0;
-
-       stub_syscall_return_value = vblank.owner_tid;
-
-       stub_tdm_helper_get_time_ret_val = vblank.last_time - 0.5;
-
-       error =
-               tdm_vblank_wait_seq(&vblank, 0, 0, 5, stub_tdm_vblank_handler, NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-}
-
-TEST(tdm_vblank_wait_seq,
-        success_last_seq_is_not_0_and_no_sequence_greater_last_seq)
-{
-       tdm_error error;
-       tdm_private_vblank vblank;
-       unsigned int sequence = TDM_VBLANK_UINT_1Q + 100;
-
-       _init_test();
-
-       vblank.last_seq = sequence + 100;
-       vblank.vblank_gap = 0;
-
-       stub_tdm_helper_get_time_ret_val = vblank.last_time - 0.0001;
-
-       error =
-               tdm_vblank_wait_seq(&vblank, 0, 0, sequence, stub_tdm_vblank_handler,
-                                                       NULL);
-
-       ASSERT_EQ(error, TDM_ERROR_NONE);
-       ASSERT_EQ(stub_tdm_vblank_handler_call_count, 1);
-}
diff --git a/utests/stubs/stub_backend.cpp b/utests/stubs/stub_backend.cpp
deleted file mode 100644 (file)
index 5c78afa..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-#include "stub_backend.h"
-#include <stdlib.h>
-
-int OUTPUT_CREATE_CAPTURE_ERROR;
-int CAPTURE_SET_DONE_HANDLER_ERROR;
-int LAYER_CREATE_CAPTURE_ERROR;
-int CAPTURE_SET_INFO_ERROR;
-int CAPTURE_ATTACH_ERROR;
-int CAPTURE_COMMIT_ERROR;
-int OUTPUT_SET_PROPERTY_ERROR;
-int OUTPUT_GET_PROPERTY_ERROR;
-int OUTPUT_WAIT_VBLANK_ERROR;
-int OUTPUT_SET_VBLANK_HANDLER;
-int OUTPUT_COMMIT_ERROR;
-int OUTPUT_SET_COMMIT_HANDLER;
-int OUTPUT_SET_MODE_ERROR;
-int OUTPUT_SET_DPMS_ERROR;
-int OUTPUT_GET_DPMS_ERROR;
-int LAYER_SET_PROPERTY_ERROR;
-int LAYER_GET_PROPERTY_ERROR;
-int LAYER_SET_INFO_ERROR;
-int LAYER_SET_BUFFER_ERROR;
-int LAYER_UNSET_BUFFER_ERROR;
-int LAYER_SET_VIDEO_POS_ERROR;
-int PP_SET_INFO_ERROR;
-int PP_COMMIT_ERROR;
-unsigned int layer_get_buffer_flags_ret;
-int capture_destroy_is_called;
-
-void stub_backend_init()
-{
-       OUTPUT_CREATE_CAPTURE_ERROR = 0;
-       CAPTURE_SET_DONE_HANDLER_ERROR = 0;
-       LAYER_CREATE_CAPTURE_ERROR = 0;
-       CAPTURE_SET_INFO_ERROR = 0;
-       CAPTURE_ATTACH_ERROR = 0;
-       CAPTURE_COMMIT_ERROR = 0;
-       OUTPUT_SET_PROPERTY_ERROR = 0;
-       OUTPUT_GET_PROPERTY_ERROR = 0;
-       OUTPUT_WAIT_VBLANK_ERROR = 0;
-       OUTPUT_SET_VBLANK_HANDLER = 0;
-       OUTPUT_COMMIT_ERROR = 0;
-       OUTPUT_SET_COMMIT_HANDLER = 0;
-       OUTPUT_SET_MODE_ERROR = 0;
-       OUTPUT_SET_DPMS_ERROR = 0;
-       OUTPUT_GET_DPMS_ERROR = 0;
-       LAYER_SET_PROPERTY_ERROR = 0;
-       LAYER_GET_PROPERTY_ERROR = 0;
-       LAYER_SET_INFO_ERROR = 0;
-       LAYER_SET_BUFFER_ERROR = 0;
-       LAYER_UNSET_BUFFER_ERROR = 0;
-       LAYER_SET_VIDEO_POS_ERROR = 0;
-       PP_SET_INFO_ERROR = 0;
-       PP_COMMIT_ERROR = 0;
-       layer_get_buffer_flags_ret = 20;
-       capture_destroy_is_called = 0;
-}
-
-tdm_capture *output_create_capture(tdm_output *output, tdm_error *error)
-{
-       (void)output;
-       (void)error;
-
-       if (OUTPUT_CREATE_CAPTURE_ERROR) {
-               *error = TDM_ERROR_OPERATION_FAILED;
-               return NULL;
-       }
-
-       *error = TDM_ERROR_NONE;
-
-       return NULL;
-}
-
-void capture_destroy(tdm_capture *capture)
-{
-       (void)capture;
-
-       capture_destroy_is_called = 1;
-}
-
-tdm_error capture_set_done_handler(tdm_capture *capture,
-                                               tdm_capture_done_handler func, void *user_data)
-{
-       (void)capture;
-       (void)func;
-       (void)user_data;
-
-       if (CAPTURE_SET_DONE_HANDLER_ERROR) {
-               if (user_data) {
-                       free(user_data);
-               }
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_capture *layer_create_capture(tdm_layer *layer, tdm_error *error)
-{
-       (void)layer;
-       (void)error;
-
-       if (LAYER_CREATE_CAPTURE_ERROR) {
-               *error = TDM_ERROR_OPERATION_FAILED;
-               return NULL;
-       }
-
-       *error = TDM_ERROR_NONE;
-       return NULL;
-}
-
-tdm_error capture_set_info(tdm_capture *capture, tdm_info_capture *info)
-{
-       (void)capture;
-       (void)info;
-
-       if (CAPTURE_SET_INFO_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error capture_commit(tdm_capture *capture)
-{
-       (void)capture;
-
-       if (CAPTURE_COMMIT_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_set_property(tdm_output *output, unsigned int id,
-                                                                        tdm_value value)
-{
-       (void)output;
-       (void)id;
-       (void)value;
-
-       if (OUTPUT_SET_PROPERTY_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_get_property(tdm_output *output, unsigned int id,
-                                                                        tdm_value *value)
-{
-       (void)output;
-       (void)id;
-       (void)value;
-
-       if (OUTPUT_GET_PROPERTY_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_wait_vblank(tdm_output *output, int interval, int sync,
-                                                                       void *user_data)
-{
-       (void)output;
-       (void)interval;
-       (void)sync;
-       (void)user_data;
-
-       free(user_data);
-       if (OUTPUT_WAIT_VBLANK_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_set_vblank_handler(tdm_output *output,
-                                                                                  tdm_output_vblank_handler func)
-{
-       (void)output;
-       (void)func;
-
-       if (OUTPUT_SET_VBLANK_HANDLER) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_commit(tdm_output *output, int sync, void *user_data)
-{
-       (void)output;
-       (void)sync;
-
-       free(user_data);
-       if (OUTPUT_COMMIT_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_set_commit_handler(tdm_output *output,
-                                                                       tdm_output_commit_handler func)
-{
-       (void)output;
-       (void)func;
-
-       if (OUTPUT_SET_COMMIT_HANDLER) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_set_mode(tdm_output *output, const tdm_output_mode *mode)
-{
-       (void)output;
-       (void)mode;
-
-       if (OUTPUT_SET_MODE_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value)
-{
-       (void)output;
-       (void)dpms_value;
-
-       if (OUTPUT_SET_DPMS_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value)
-{
-       (void)output;
-       (void)dpms_value;
-
-       if (OUTPUT_GET_DPMS_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_set_property(tdm_layer *layer, unsigned int id,
-                                                               tdm_value value)
-{
-       (void)layer;
-       (void)id;
-       (void)value;
-
-       if (LAYER_SET_PROPERTY_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_get_property(tdm_layer *layer, unsigned int id,
-                                                               tdm_value *value)
-{
-       (void)layer;
-       (void)id;
-       (void)value;
-
-       if (LAYER_GET_PROPERTY_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_set_info(tdm_layer *layer, tdm_info_layer *info)
-{
-       (void)layer;
-       (void)info;
-
-       if (LAYER_SET_INFO_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer)
-{
-       (void)layer;
-       (void)buffer;
-
-       if (LAYER_SET_BUFFER_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_unset_buffer(tdm_layer *layer)
-{
-       (void)layer;
-
-       if (LAYER_UNSET_BUFFER_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_set_video_pos(tdm_layer *layer, int zpos)
-{
-       (void)layer;
-       (void)zpos;
-
-       if (LAYER_SET_VIDEO_POS_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error pp_set_info(tdm_pp *pp, tdm_info_pp *info)
-{
-       (void)pp;
-       (void)info;
-
-       if (PP_SET_INFO_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error pp_commit(tdm_pp *pp)
-{
-       (void)pp;
-
-       if (PP_COMMIT_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error output_set_dpms_handler(tdm_output *output,
-                                                                 tdm_output_dpms_handler func,
-                                                                 void *user_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error layer_get_buffer_flags(tdm_layer *layer, unsigned int *flags)
-{
-       (void)layer;
-
-       *flags = layer_get_buffer_flags_ret;
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_error capture_attach(tdm_capture *capture, tbm_surface_h buffer)
-{
-       (void)capture;
-       (void)buffer;
-
-       if (CAPTURE_ATTACH_ERROR)
-               return TDM_ERROR_OPERATION_FAILED;
-
-       return TDM_ERROR_NONE;
-}
diff --git a/utests/stubs/stub_backend.h b/utests/stubs/stub_backend.h
deleted file mode 100644 (file)
index a9c30d9..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef _TDM_BACKEND_STUBS_H
-#define _TDM_BACKEND_STUBS_H
-
-#include "tdm_types.h"
-
-#include "tdm_backend.h"
-
-extern int OUTPUT_CREATE_CAPTURE_ERROR;
-extern int CAPTURE_SET_DONE_HANDLER_ERROR;
-extern int LAYER_CREATE_CAPTURE_ERROR;
-extern int CAPTURE_SET_INFO_ERROR;
-extern int CAPTURE_ATTACH_ERROR;
-extern int CAPTURE_COMMIT_ERROR;
-extern int OUTPUT_SET_PROPERTY_ERROR;
-extern int OUTPUT_GET_PROPERTY_ERROR;
-extern int OUTPUT_WAIT_VBLANK_ERROR;
-extern int OUTPUT_SET_VBLANK_HANDLER;
-extern int OUTPUT_COMMIT_ERROR;
-extern int OUTPUT_SET_COMMIT_HANDLER;
-extern int OUTPUT_SET_MODE_ERROR;
-extern int OUTPUT_SET_DPMS_ERROR;
-extern int OUTPUT_GET_DPMS_ERROR;
-extern int LAYER_SET_PROPERTY_ERROR;
-extern int LAYER_GET_PROPERTY_ERROR;
-extern int LAYER_SET_INFO_ERROR;
-extern int LAYER_SET_BUFFER_ERROR;
-extern int LAYER_UNSET_BUFFER_ERROR;
-extern int LAYER_SET_VIDEO_POS_ERROR;
-extern int PP_SET_INFO_ERROR;
-extern int PP_COMMIT_ERROR;
-extern unsigned int layer_get_buffer_flags_ret;
-extern int capture_destroy_is_called;
-
-void stub_backend_init();
-
-tdm_capture *output_create_capture(tdm_output *output, tdm_error *error);
-
-void capture_destroy(tdm_capture *capture);
-
-tdm_error capture_set_done_handler(tdm_capture *capture,
-                                               tdm_capture_done_handler func, void *user_data);
-
-tdm_capture *layer_create_capture(tdm_layer *layer, tdm_error *error);
-
-tdm_error capture_set_info(tdm_capture *capture, tdm_info_capture *info);
-tdm_error capture_commit(tdm_capture *capture);
-
-tdm_error output_set_property(tdm_output *output, unsigned int id,
-                                                                        tdm_value value);
-
-tdm_error output_get_property(tdm_output *output, unsigned int id,
-                                                                        tdm_value *value);
-
-tdm_error output_wait_vblank(tdm_output *output, int interval, int sync,
-                                                                       void *user_data);
-
-tdm_error output_set_vblank_handler(tdm_output *output,
-                                                                                  tdm_output_vblank_handler func);
-
-tdm_error output_commit(tdm_output *output, int sync, void *user_data);
-
-tdm_error output_set_commit_handler(tdm_output *output,
-                                                                       tdm_output_commit_handler func);
-
-tdm_error output_set_mode(tdm_output *output, const tdm_output_mode *mode);
-
-tdm_error output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value);
-
-tdm_error output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value);
-
-tdm_error layer_set_property(tdm_layer *layer, unsigned int id,
-                                                        tdm_value value);
-
-tdm_error layer_get_property(tdm_layer *layer, unsigned int id,
-                                                               tdm_value *value);
-
-tdm_error layer_set_info(tdm_layer *layer, tdm_info_layer *info);
-
-tdm_error layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer);
-
-tdm_error layer_unset_buffer(tdm_layer *layer);
-
-tdm_error layer_set_video_pos(tdm_layer *layer, int zpos);
-
-tdm_error pp_set_info(tdm_pp *pp, tdm_info_pp *info);
-
-tdm_error pp_commit(tdm_pp *pp);
-
-tdm_error output_set_dpms_handler(tdm_output *output,
-                                                                 tdm_output_dpms_handler func,
-                                                                 void *user_data);
-
-tdm_error layer_get_buffer_flags(tdm_layer *layer, unsigned int *flags);
-
-tdm_error capture_attach(tdm_capture *capture, tbm_surface_h buffer);
-
-#endif /* _TDM_CAPTURE_STUBS_H */
diff --git a/utests/stubs/stub_dlfcn.cpp b/utests/stubs/stub_dlfcn.cpp
deleted file mode 100644 (file)
index 7d7d964..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#define STUB_DLFCN_IMPL
-#include "stub_dlfcn.h"
-
-struct _dlfcn_stub_ctrl stub_dlfcn_ctrl;
-
-void stub_dlfcn_init()
-{
-       stub_dlfcn_ctrl.dlsym_returned_val = 0;
-       stub_dlfcn_ctrl.dlopen_returned_val = 0;
-}
-
-void *stub_dlopen(const char *file, int mode)
-{
-       return stub_dlfcn_ctrl.dlopen_returned_val;
-}
-
-int stub_dlclose(void * handle)
-{
-       return 0;
-}
-
-void *stub_dlsym(void *handle, const char *name)
-{
-       return stub_dlfcn_ctrl.dlsym_returned_val;
-}
-
diff --git a/utests/stubs/stub_dlfcn.h b/utests/stubs/stub_dlfcn.h
deleted file mode 100644 (file)
index ef7a473..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _DLFCN_STUBS_H_
-#define _DLFCN_STUBS_H_
-
-#include <dlfcn.h>
-
-struct _dlfcn_stub_ctrl {
-       void* dlsym_returned_val;
-       void* dlopen_returned_val;
-};
-
-extern struct _dlfcn_stub_ctrl stub_dlfcn_ctrl;
-
-void stub_dlfcn_init();
-
-void *stub_dlopen (const char * file, int mode);
-int stub_dlclose (void * handle);
-void *stub_dlsym (void * handle, const char *name);
-
-#ifndef STUB_DLFCN_IMPL
-       #define dlopen stub_dlopen
-       #define dlclose stub_dlclose
-       #define dlsym stub_dlsym
-#endif
-
-#endif /* _DLFCN_STUBS_H_ */
diff --git a/utests/stubs/stub_fcntl.h b/utests/stubs/stub_fcntl.h
deleted file mode 100644 (file)
index 55a0fdc..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef STUB_FCNTL_H
-#define STUB_FCNTL_H
-
-static int FCNTL_ERROR;
-
-static void stub_fcntl_init()
-{
-       FCNTL_ERROR = 0;
-}
-
-static int stub_fcntl(int fd, int cmd, ...)
-{
-       (void)fd;
-       (void)cmd;
-
-       if (FCNTL_ERROR) {
-               FCNTL_ERROR = 0;
-               return -1;
-       }
-
-       return 0;
-}
-
-#define fcntl stub_fcntl
-
-#endif // STUB_FCNTL_H
diff --git a/utests/stubs/stub_pthread.cpp b/utests/stubs/stub_pthread.cpp
deleted file mode 100644 (file)
index becaf96..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <pthread.h>
-
-int PTHREAD_MUTEX_INIT_ERROR;
-
-void stub_pthread_init()
-{
-       PTHREAD_MUTEX_INIT_ERROR = 0;
-}
-
-int stub_pthread_mutex_lock(pthread_mutex_t * __mutex)
-{
-       (void)__mutex;
-
-       return 0;
-}
-
-int stub_pthread_mutex_unlock(pthread_mutex_t * __mutex)
-{
-       (void)__mutex;
-
-       return 0;
-}
-
-int stub_pthread_mutex_init(pthread_mutex_t * __mutex,
-                                                                const pthread_mutexattr_t * __mutexattr)
-{
-       (void)__mutex;
-       (void)__mutexattr;
-
-       if (PTHREAD_MUTEX_INIT_ERROR) {
-               return PTHREAD_MUTEX_INIT_ERROR;
-       }
-
-       return 0;
-}
-
-int stub_pthread_create(pthread_t *newthread, const pthread_attr_t *attr,
-                                  void *(*start_routine) (void *), void *arg)
-{
-       (void)newthread;
-       (void)attr;
-       (void)start_routine;
-       (void)arg;
-
-       return 0;
-}
-
-int stub_pthread_join(pthread_t th, void **thread_return)
-{
-       (void)th;
-       (void)thread_return;
-
-       return 0;
-}
-
-int stub_pthread_cancel(pthread_t th)
-{
-       (void)th;
-
-       return 0;
-}
diff --git a/utests/stubs/stub_pthread.h b/utests/stubs/stub_pthread.h
deleted file mode 100644 (file)
index c5a9351..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _PTHREAD_STUBS_H
-#define _PTHREAD_STUBS_H
-
-#include <pthread.h>
-#include <stdio.h>
-
-extern int PTHREAD_MUTEX_INIT_ERROR;
-
-void stub_pthread_init();
-
-int stub_pthread_mutex_lock(pthread_mutex_t * __mutex);
-
-int stub_pthread_mutex_unlock(pthread_mutex_t * __mutex);
-
-int stub_pthread_mutex_init(pthread_mutex_t * __mutex,
-                                                                const pthread_mutexattr_t * __mutexattr);
-
-int stub_pthread_create(pthread_t *newthread, const pthread_attr_t *attr,
-                                         void *(*start_routine)(void *), void *arg);
-
-int stub_pthread_join(pthread_t th, void **thread_return);
-
-int stub_pthread_cancel (pthread_t th);
-
-#define pthread_mutex_lock stub_pthread_mutex_lock
-#define pthread_mutex_init stub_pthread_mutex_init
-#define pthread_mutex_unlock stub_pthread_mutex_unlock
-#define pthread_create stub_pthread_create
-#define pthread_join stub_pthread_join
-#define pthread_cancel stub_pthread_cancel
-
-#endif /* _PTHREAD_STUBS_H */
diff --git a/utests/stubs/stub_stdio.h b/utests/stubs/stub_stdio.h
deleted file mode 100644 (file)
index 8f3144c..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef STUB_STDIO_H
-#define STUB_STDIO_H
-
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static struct _open_close_stub_ctrl {
-       int fopen_fd_returned;
-       int fclose_error;
-       int fclose_colled;
-       int close_error;
-       int close_colled;
-} open_close_stub_ctrl;
-
-static int SSCANF_ERROR;
-
-static void stub_stdio_init()
-{
-       SSCANF_ERROR = 0;
-       open_close_stub_ctrl.fopen_fd_returned = 1;
-       open_close_stub_ctrl.fclose_error = 0;
-       open_close_stub_ctrl.fclose_colled = 0;
-       open_close_stub_ctrl.close_error = 0;
-       open_close_stub_ctrl.close_colled = 0;
-}
-
-static int stub_sscanf(const char *buf, const char *format, ...)
-{
-       (void)buf;
-       (void)format;
-
-       if (SSCANF_ERROR) {
-               return -1;
-       }
-
-       return 0;
-}
-
-#ifndef O_RDWR
-#define O_RDWR         02                      /* copy from <bits/fcntl-linux.h>*/
-#endif
-#ifndef O_
-#define O_CLOEXEC      02000000        /* copy from <bits/fcntl-linux.h>*/
-#endif
-
-static FILE *stub_fopen (const char *filename, const char *modes)
-{
-       if (filename == NULL)
-               return NULL;
-       static FILE f;
-       return &f;
-}
-
-static int stub_fclose (FILE *__stream)
-{
-       if (open_close_stub_ctrl.fclose_error)
-               return -1;
-       if (__stream == NULL)
-               return -1;
-
-       open_close_stub_ctrl.fclose_colled = 1;
-       return 1;
-}
-
-static int stub_fflush (FILE *__stream)
-{
-       return 1;
-}
-
-static int stub_fileno (FILE *__stream)
-{
-       return 1;
-}
-
-static int stub_setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n)
-{
-       return 1;
-}
-
-static size_t stub_fwrite (const void * ptr, size_t size,
-                     size_t n, FILE *s)
-{
-       return size;
-}
-
-#ifdef open
-       #undef open
-#endif
-#define fopen stub_fopen
-#define fclose stub_fclose
-#define fflush stub_fflush
-#define fileno stub_fileno
-#define setvbuf stub_setvbuf
-#define sscanf stub_sscanf
-#define fwrite stub_fwrite
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif // STUB_STDIO_H
diff --git a/utests/stubs/stub_stdlib.cpp b/utests/stubs/stub_stdlib.cpp
deleted file mode 100644 (file)
index 55405a7..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#define STUB_STDLIB_IMPL
-
-#include "stub_stdlib.h"
-
-int CALLOC_ERROR;
-int CALLOC_RETURN_BUFFER;
-int FREE_CALLED;
-int GETENV_ERROR;
-int SETENV_ERROR;
-
-char *stub_getenv_return_value;
-int stub_getenv_return_real_value;
-int stub_setenv_real;
-char *stub_getenv_name;
-int stub_free_call_count;
-
-tdm_buffer_info buffer;
-
-void *stub_calloc(size_t nmemb, size_t size)
-{
-       if (CALLOC_ERROR) {
-               return NULL;
-       }
-
-       if (CALLOC_RETURN_BUFFER) {
-               return &buffer;
-       }
-
-       return calloc(nmemb, size);
-}
-
-void stub_free(void *ptr)
-{
-       FREE_CALLED = 1;
-       stub_free_call_count++;
-       free(ptr);
-}
-
-char *stub_getenv(const char *name)
-{
-       if (stub_getenv_return_real_value)
-               return getenv(name);
-
-       if (GETENV_ERROR) {
-               return NULL;
-       }
-
-       if(!stub_getenv_name || !name) {
-               return NULL;
-       }
-
-       if (!strcmp(stub_getenv_name, name)) {
-               return stub_getenv_return_value;
-       }
-
-       return NULL;
-}
-
-int stub_setenv(const char *name, const char *value, int replace)
-{
-       if (stub_setenv_real)
-               return setenv(name, value, replace);
-
-       if (SETENV_ERROR)
-               return 1;
-
-       stub_getenv_name = name;
-       stub_getenv_return_value = value;
-
-       return 0;
-}
-
-void stub_stdlib_init()
-{
-       CALLOC_ERROR = 0;
-       CALLOC_RETURN_BUFFER = 0;
-       FREE_CALLED = 0;
-       GETENV_ERROR = 0;
-       stub_getenv_return_value = NULL;
-       stub_getenv_name = NULL;
-       stub_getenv_return_real_value = 0;
-       stub_free_call_count = 0;
-}
diff --git a/utests/stubs/stub_stdlib.h b/utests/stubs/stub_stdlib.h
deleted file mode 100644 (file)
index e923976..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _STDLIB_STUBS_H
-#define _STDLIB_STUBS_H
-
-#include <stdlib.h>
-#include "tdm.h"
-#include "tdm_private.h"
-
-extern int CALLOC_ERROR;
-extern int CALLOC_RETURN_BUFFER;
-extern int FREE_CALLED;
-extern int GETENV_ERROR;
-extern int SETENV_ERROR;
-
-extern tdm_buffer_info buffer;
-extern char *stub_getenv_return_value;
-extern char *stub_getenv_name;
-extern int stub_getenv_return_real_value;
-extern int stub_free_call_count;
-
-void *stub_calloc(size_t nmemb, size_t size);
-
-void stub_free(void *ptr);
-
-char *stub_getenv(const char *name);
-int stub_setenv (const char *name, const char *value, int replace);
-
-void stub_stdlib_init();
-
-#ifndef STUB_STDLIB_IMPL
-#define calloc stub_calloc
-#define free stub_free
-#define getenv stub_getenv
-#define setenv stub_setenv
-#endif
-
-#endif /* _STDLIB_STUBS_H */
diff --git a/utests/stubs/stub_tdm.h b/utests/stubs/stub_tdm.h
deleted file mode 100644 (file)
index d30fd30..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#ifndef STUB_TDM_H
-#define STUB_TDM_H
-
-#include <tdm_private.h>
-
-static tdm_private_output stub_private_output;
-static int stub_tdm_vblank_handler_call_count;
-static int stub_tdm_output_change_handler_count;
-static int stub_tdm_output_commit_handler_count;
-static int stub_tdm_buffer_release_handler_count;
-
-static void
-stub_tdm_init()
-{
-       stub_tdm_vblank_handler_call_count = 0;
-       stub_tdm_output_change_handler_count = 0;
-       stub_tdm_output_commit_handler_count = 0;
-       stub_tdm_buffer_release_handler_count = 0;
-}
-
-static tdm_private_output*
-stub_tdm_display_find_output_stamp(tdm_private_display *private_display, double stamp)
-{
-       (void)private_display;
-       (void)stamp;
-
-       return &stub_private_output;
-}
-
-static void
-stub_tdm_vblank_handler(tdm_vblank *vblank, tdm_error error, unsigned int sequence,
-                                               unsigned int tv_sec, unsigned int tv_usec, void *user_data)
-{
-       (void)vblank;
-       (void)error;
-       (void)sequence;
-       (void)tv_sec;
-       (void)tv_usec;
-       (void)user_data;
-
-       stub_tdm_vblank_handler_call_count++;
-}
-
-static tdm_error
-stub_tdm_display_update_output(tdm_private_display *private_display,
-                                                 tdm_output *output_backend, int pipe)
-{
-       (void)private_display;
-       (void)output_backend;
-       (void)pipe;
-
-       return TDM_ERROR_NONE;
-}
-
-static void
-stub_tdm_output_change_handler_cb(tdm_output *output,
-                                                                 tdm_output_change_type type,
-                                                                 tdm_value value,
-                                                                 void *user_data)
-{
-       (void)output;
-       (void)type;
-       (void)value;
-       (void)user_data;
-
-       stub_tdm_output_change_handler_count++;
-}
-
-static void
-stub_tdm_output_commit_handler(tdm_output *output, unsigned int sequence,
-                                                          unsigned int tv_sec, unsigned int tv_usec,
-                                                          void *user_data)
-{
-       (void)output;
-       (void)sequence;
-       (void)tv_sec;
-       (void)tv_usec;
-       (void)tv_usec;
-       (void)user_data;
-
-       stub_tdm_output_commit_handler_count++;
-}
-
-static void
-stub_tdm_buffer_release_handler(tbm_surface_h buffer, void *user_data)
-{
-       (void)buffer;
-       (void)user_data;
-
-       stub_tdm_buffer_release_handler_count++;
-}
-
-static void
-stub_tdm_buffer_destroy_handler(tbm_surface_h buffer,
-                                                               void *user_data)
-{
-       (void)buffer;
-       (void)user_data;
-}
-
-#define tdm_display_find_output_stamp stub_tdm_display_find_output_stamp
-#define tdm_display_update_output stub_tdm_display_update_output
-
-#endif // STUB_TDM_H
diff --git a/utests/stubs/stub_tdm_buffer.h b/utests/stubs/stub_tdm_buffer.h
deleted file mode 100644 (file)
index 81d76ef..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef STUB_TDM_BUFFER_H
-#define STUB_TDM_BUFFER_H
-
-static int stub_tdm_buffer_unref_backend_count;
-static int stub_tdm_buffer_remove_release_handler_internal_count;
-
-static void stub_tdm_buffer_init()
-{
-       stub_tdm_buffer_unref_backend_count = 0;
-       stub_tdm_buffer_remove_release_handler_internal_count = 0;
-}
-
-static tbm_surface_h stub_tdm_buffer_ref_backend(tbm_surface_h buffer)
-{
-       (void)buffer;
-
-       return NULL;
-}
-
-static void stub_tdm_buffer_unref_backend(tbm_surface_h buffer)
-{
-       (void)buffer;
-
-       stub_tdm_buffer_unref_backend_count++;
-}
-
-static void
-stub_tdm_buffer_remove_release_handler_internal(tbm_surface_h buffer)
-{
-       stub_tdm_buffer_remove_release_handler_internal_count++;
-}
-
-#define tdm_buffer_ref_backend stub_tdm_buffer_ref_backend
-#define tdm_buffer_unref_backend stub_tdm_buffer_unref_backend
-#define tdm_buffer_remove_release_handler_internal stub_tdm_buffer_remove_release_handler_internal
-
-#endif // STUB_TDM_BUFFER_H
diff --git a/utests/stubs/stub_tdm_capture.h b/utests/stubs/stub_tdm_capture.h
deleted file mode 100644 (file)
index f7bf741..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef STUB_TDM_CAPTURE_H
-#define STUB_TDM_CAPTURE_H
-
-#include "tdm.h"
-#include "tdm_private.h"
-
-static tdm_private_capture private_capture;
-static int TDM_CAPTURE_CREATE_OUTPUT_INTENAL_ERROR;
-static int CAPTURE_CREATE_LAYER_INTERNAL_ERROR;
-static int stub_tdm_capture_cb_done_called;
-
-static void stub_tdm_capture_init()
-{
-       stub_tdm_capture_cb_done_called = 0;
-       TDM_CAPTURE_CREATE_OUTPUT_INTENAL_ERROR = 0;
-       CAPTURE_CREATE_LAYER_INTERNAL_ERROR = 0;
-}
-
-static void
-stub_tdm_capture_cb_done(tdm_capture *capture_backend, tbm_surface_h buffer,
-                                       void *user_data)
-{
-       (void)capture_backend;
-       (void)buffer;
-       (void)user_data;
-
-       stub_tdm_capture_cb_done_called = 1;
-}
-
-static tdm_private_capture *
-stub_tdm_capture_find_stamp(tdm_private_display *private_display, double stamp)
-{
-       (void)private_display;
-       (void)stamp;
-
-       return &private_capture;
-}
-
-static tdm_private_capture *
-stub_tdm_capture_create_output_internal(tdm_private_output*private_output,
-                                                                          tdm_error *error)
-{
-       (void)private_output;
-       (void)error;
-
-       if (TDM_CAPTURE_CREATE_OUTPUT_INTENAL_ERROR) {
-               *error = TDM_ERROR_OPERATION_FAILED;
-               return NULL;
-       }
-
-       *error = TDM_ERROR_NONE;
-       return NULL;
-}
-
-static tdm_private_capture *
-stub_tdm_capture_create_layer_internal(tdm_private_layer *private_layer,
-                                                                 tdm_error *error)
-{
-       (void)private_layer;
-       (void)error;
-
-       if (CAPTURE_CREATE_LAYER_INTERNAL_ERROR) {
-               *error = TDM_ERROR_OPERATION_FAILED;
-               return NULL;
-       }
-
-       *error = TDM_ERROR_NONE;
-       return NULL;
-}
-
-#define tdm_capture_cb_done stub_tdm_capture_cb_done
-#define tdm_capture_find_stamp stub_tdm_capture_find_stamp
-#define tdm_capture_create_output_internal stub_tdm_capture_create_output_internal
-#define tdm_capture_create_layer_internal stub_tdm_capture_create_layer_internal
-
-#endif // STUB_TDM_CAPTURE_H
diff --git a/utests/stubs/stub_tdm_display.h b/utests/stubs/stub_tdm_display.h
deleted file mode 100644 (file)
index 00a1ec0..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-#ifndef STUB_TDM_DISPLAY_H
-#define STUB_TDM_DISPLAY_H
-
-#include "tdm.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static int stub_tdm_output_cb_commit_called;
-static int stub_tdm_output_cb_vblank_called;
-static int stub_tdm_output_cb_status_called;
-static int stub_tdm_output_cb_dpms_called;
-static int stub_tdm_output_get_mode_error;
-static tdm_output_mode stub_tdm_mode;
-static tdm_output_change_handler stub_tdm_output_change_handler;
-static tdm_output_dpms stub_tdm_dpms_returned_value;
-static int stub_tdm_output_wait_vblank_error;
-
-static void
-stub_tdm_display_init()
-{
-       stub_tdm_output_cb_commit_called = 0;
-       stub_tdm_output_cb_vblank_called = 0;
-       stub_tdm_output_cb_dpms_called = 0;
-       stub_tdm_output_get_mode_error = 0;
-       stub_tdm_output_change_handler = NULL;
-       stub_tdm_dpms_returned_value = TDM_OUTPUT_DPMS_ON;
-       stub_tdm_mode.vrefresh = 24;
-       stub_tdm_output_wait_vblank_error = 0;
-}
-
-static void
-stub_tdm_output_cb_commit(tdm_output *output_backend, unsigned int sequence,
-                                        unsigned int tv_sec, unsigned int tv_usec, void *user_data)
-{
-       (void)output_backend;
-       (void)sequence;
-       (void)tv_sec;
-       (void)tv_usec;
-       (void)user_data;
-
-       stub_tdm_output_cb_commit_called = 1;
-}
-
-static void
-stub_tdm_output_cb_vblank(tdm_output *output_backend, unsigned int sequence,
-                                        unsigned int tv_sec, unsigned int tv_usec, void *user_data)
-{
-       (void)output_backend;
-       (void)sequence;
-       (void)tv_sec;
-       (void)tv_usec;
-       (void)user_data;
-
-       stub_tdm_output_cb_vblank_called = 1;
-}
-
-static void
-stub_tdm_output_cb_status(tdm_output *output_backend, tdm_output_conn_status status,
-                                        void *user_data)
-{
-       (void)output_backend;
-       (void)status;
-       (void)user_data;
-
-       stub_tdm_output_cb_status_called = 1;
-}
-
-static void
-stub_tdm_output_cb_dpms(tdm_output *output_backend, tdm_output_dpms dpms, void *user_data)
-{
-       (void)output_backend;
-       (void)dpms;
-       (void)user_data;
-
-       stub_tdm_output_cb_dpms_called = 1;
-}
-
-static tdm_error
-stub_tdm_output_get_mode(tdm_output *output, const tdm_output_mode **mode)
-{
-       if (stub_tdm_output_get_mode_error) {
-               *mode = NULL;
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       *mode = &stub_tdm_mode;
-
-       return TDM_ERROR_NONE;
-}
-
-static tdm_error
-stub_tdm_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value)
-{
-       (void)output;
-
-       *dpms_value = stub_tdm_dpms_returned_value;
-       return TDM_ERROR_NONE;
-}
-
-static tdm_error
-stub_tdm_output_add_change_handler(tdm_output *output,
-                                                         tdm_output_change_handler func,
-                                                         void *user_data)
-{
-       (void)output;
-       (void)user_data;
-
-       stub_tdm_output_change_handler = func;
-
-       return TDM_ERROR_NONE;
-}
-
-static void
-stub_tdm_output_remove_change_handler(tdm_output *output,
-                                                                tdm_output_change_handler func,
-                                                                void *user_data)
-{
-       (void)output;
-       (void)user_data;
-
-       stub_tdm_output_change_handler = func;
-}
-
-static tdm_error
-stub_tdm_output_wait_vblank(tdm_output *output, int interval, int sync,
-                                          tdm_output_vblank_handler func, void *user_data)
-{
-       if (stub_tdm_output_wait_vblank_error)
-               return TDM_ERROR_DPMS_OFF;
-
-       return TDM_ERROR_NONE;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#define tdm_output_cb_commit stub_tdm_output_cb_commit
-#define tdm_output_cb_vblank stub_tdm_output_cb_vblank
-#define tdm_output_cb_status stub_tdm_output_cb_status
-#define tdm_output_cb_dpms stub_tdm_output_cb_dpms
-#define tdm_output_get_mode stub_tdm_output_get_mode
-#define tdm_output_get_dpms stub_tdm_output_get_dpms
-#define tdm_output_add_change_handler stub_tdm_output_add_change_handler
-#define tdm_output_remove_change_handler stub_tdm_output_remove_change_handler
-#define tdm_output_wait_vblank stub_tdm_output_wait_vblank
-
-#endif // STUB_TDM_DISPLAY_H
diff --git a/utests/stubs/stub_tdm_event_loop.h b/utests/stubs/stub_tdm_event_loop.h
deleted file mode 100644 (file)
index cfbd9c3..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef STUB_TDM_EVENT_LOOP_H
-#define STUB_TDM_EVENT_LOOP_H
-
-#include "tdm_backend.h"
-
-static int TDM_EVENT_LOOP_DISPATCH_ERROR;
-static tdm_event_loop_source *stub_tdm_event_loop_removed_source;
-static int stub_tdm_event_loop_source_timer_update_error;
-static int stub_tdm_event_loop_add_timer_handler_error;
-
-static void stub_tdm_event_loop_init()
-{
-       stub_tdm_event_loop_removed_source = NULL;
-       TDM_EVENT_LOOP_DISPATCH_ERROR = 0;
-       stub_tdm_event_loop_source_timer_update_error = 0;
-       stub_tdm_event_loop_add_timer_handler_error = 0;
-}
-
-static int stub_tdm_event_loop_get_fd(tdm_private_display *private_display)
-{
-       (void)private_display;
-
-       return 1;
-}
-
-static tdm_error stub_tdm_event_loop_dispatch(tdm_private_display *private_display)
-{
-       (void)private_display;
-
-       if (TDM_EVENT_LOOP_DISPATCH_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-static void stub_tdm_event_loop_source_remove(tdm_event_loop_source *source)
-{
-       (void)source;
-
-       stub_tdm_event_loop_removed_source = source;
-}
-
-static tdm_error
-stub_tdm_event_loop_source_timer_update(tdm_event_loop_source *source, unsigned int ms_delay)
-{
-       (void)source;
-       (void)ms_delay;
-
-       if (stub_tdm_event_loop_source_timer_update_error)
-               return TDM_ERROR_OPERATION_FAILED;
-
-       return TDM_ERROR_NONE;
-}
-
-static tdm_event_loop_source *
-stub_tdm_event_loop_add_timer_handler(tdm_display *dpy, tdm_event_loop_timer_handler func,
-                                                                         void *user_data, tdm_error *error)
-{
-       if (stub_tdm_event_loop_add_timer_handler_error)
-               return NULL;
-
-       return (tdm_event_loop_source *)56544545;
-}
-
-#define tdm_event_loop_get_fd stub_tdm_event_loop_get_fd
-#define tdm_event_loop_dispatch stub_tdm_event_loop_dispatch
-#define tdm_event_loop_source_remove stub_tdm_event_loop_source_remove
-#define tdm_event_loop_source_timer_update stub_tdm_event_loop_source_timer_update
-#define tdm_event_loop_add_timer_handler stub_tdm_event_loop_add_timer_handler
-
-#endif // STUB_TDM_EVENT_LOOP_H
diff --git a/utests/stubs/stub_tdm_helper.h b/utests/stubs/stub_tdm_helper.h
deleted file mode 100644 (file)
index 3754019..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef STUB_TDM_HELPER_H
-#define STUB_TDM_HELPER_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static double stub_tdm_helper_get_time_ret_val;
-
-static void
-stub_tdm_helper_init()
-{
-       struct timespec tp;
-
-       if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
-               stub_tdm_helper_get_time_ret_val =  (double)tp.tv_sec + ((double)tp.tv_nsec) / 1000000000.0;
-       else
-               stub_tdm_helper_get_time_ret_val = 0;
-}
-
-static double
-stub_tdm_helper_get_time(void)
-{
-       return stub_tdm_helper_get_time_ret_val;
-}
-
-static void
-stub_tdm_helper_dump_buffer_str(tbm_surface_h buffer, char *dir, char *str)
-{
-
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#define tdm_helper_get_time_ret_val stub_tdm_helper_get_time_ret_val
-#define tdm_helper_get_time stub_tdm_helper_get_time
-#define tdm_helper_dump_buffer_str stub_tdm_helper_dump_buffer_str
-
-#endif // STUB_TDM_HELPER_H
diff --git a/utests/stubs/stub_tdm_pp.h b/utests/stubs/stub_tdm_pp.h
deleted file mode 100644 (file)
index ae43a4c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef STUB_TDM_PP_H
-#define STUB_TDM_PP_H
-
-#include "tdm.h"
-#include "tdm_private.h"
-
-static tdm_private_pp private_pp;
-
-static int TDM_PP_CREATE_INTERNAL_ERROR;
-static int stub_tdm_pp_cb_done_called;
-
-static void stub_tdm_pp_init()
-{
-       stub_tdm_pp_cb_done_called = 0;
-       TDM_PP_CREATE_INTERNAL_ERROR = 0;
-}
-
-static void
-stub_tdm_pp_cb_done(tdm_pp *pp_backend, tbm_surface_h src, tbm_surface_h dst,
-                          void *user_data)
-{
-       (void)pp_backend;
-       (void)src;
-       (void)dst;
-       (void)user_data;
-
-       stub_tdm_pp_cb_done_called = 1;
-}
-
-static tdm_private_pp *
-stub_tdm_pp_find_stamp(tdm_private_display *private_display, double stamp)
-{
-       (void)private_display;
-       (void)stamp;
-
-       return &private_pp;
-}
-
-static tdm_private_pp *
-stub_tdm_pp_create_internal(tdm_private_display *private_display,
-                                                  tdm_error *error)
-{
-       (void)private_display;
-
-       if (TDM_PP_CREATE_INTERNAL_ERROR) {
-               if (error) {
-                       *error = TDM_ERROR_OPERATION_FAILED;
-               }
-               return NULL;
-       }
-
-       if (error) {
-               *error = TDM_ERROR_NONE;
-       }
-       return NULL;
-}
-
-#define tdm_pp_cb_done stub_tdm_pp_cb_done
-#define tdm_pp_find_stamp stub_tdm_pp_find_stamp
-#define tdm_pp_create_internal stub_tdm_pp_create_internal
-
-#endif // STUB_TDM_PP_H
diff --git a/utests/stubs/stub_tdm_server.h b/utests/stubs/stub_tdm_server.h
deleted file mode 100644 (file)
index a65da9e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef STUB_TDM_SERVER_H
-#define STUB_TDM_SERVER_H
-
-#include "tdm.h"
-#include "tdm_private.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static int stdub_tdm_server_init_error;
-
-static void
-stub_tdm_server()
-{
-       stdub_tdm_server_init_error = 0;
-}
-
-static tdm_error
-stub_tdm_server_init(tdm_private_loop *private_loop)
-{
-       if (stdub_tdm_server_init_error)
-               return TDM_ERROR_OPERATION_FAILED;
-       return TDM_ERROR_NONE;
-}
-
-static void
-stub_tdm_server_deinit(tdm_private_loop *private_loop)
-{
-
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#define tdm_server_init stub_tdm_server_init
-#define tdm_server_deinit stub_tdm_server_deinit
-
-#endif // STUB_TDM_SERVER_H
diff --git a/utests/stubs/stub_tdm_thread.h b/utests/stubs/stub_tdm_thread.h
deleted file mode 100644 (file)
index 1098320..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef STUB_TDM_THREAD_H
-#define STUB_TDM_THREAD_H
-
-#include "tdm_private.h"
-#include <string.h>
-
-static int TDM_THREAD_HANDLE_ERROR;
-static int stub_tdm_thread_send_cb_error;
-static char stub_tdm_thread_send_cb_buff[1024];
-static int stub_tdm_thread_is_run;
-static int stub_tdm_thread_ret_fd;
-static int stub_tdm_thread_display_thread;
-static int stub_tdm_output_vblank_handler_count;
-static int stub_tdm_thread_init_init_error;
-
-static void stub_tdm_thread_init()
-{
-       TDM_THREAD_HANDLE_ERROR = 0;
-       stub_tdm_thread_send_cb_error = 0;
-       memset(stub_tdm_thread_send_cb_buff, 0, 1024);
-       stub_tdm_thread_is_run = 0;
-       stub_tdm_thread_ret_fd = 1;
-       stub_tdm_thread_display_thread = 0;
-       stub_tdm_output_vblank_handler_count = 0;
-       stub_tdm_thread_init_init_error = 0;
-}
-
-static int stub_tdm_thread_get_fd(tdm_private_loop *private_loop)
-{
-       (void)private_loop;
-
-       return stub_tdm_thread_ret_fd;
-}
-
-static tdm_error stub_tdm_thread_handle_cb(tdm_private_loop *private_loop)
-{
-       (void)private_loop;
-
-       if (TDM_THREAD_HANDLE_ERROR) {
-               return TDM_ERROR_OPERATION_FAILED;
-       }
-
-       return TDM_ERROR_NONE;
-}
-
-static tdm_error
-stub_tdm_thread_send_cb(tdm_private_loop *private_loop, tdm_thread_cb_base *base)
-{
-       if (stub_tdm_thread_send_cb_error)
-               return TDM_ERROR_OPERATION_FAILED;
-
-       memcpy(stub_tdm_thread_send_cb_buff, base, base->length);
-
-       return TDM_ERROR_NONE;
-}
-
-static int
-stub_tdm_thread_is_running(void)
-{
-       return (stub_tdm_thread_is_run) ? 1 : 0;
-}
-
-static int
-stub_tdm_thread_in_display_thread(pid_t tid)
-{
-       (void)tid;
-
-       return (stub_tdm_thread_display_thread) ? 1 : 0;
-}
-
-static void
-stub_tdm_output_vblank_handler(tdm_output *output, unsigned int sequence,
-                                                               unsigned int tv_sec, unsigned int tv_usec,
-                                                               void *user_data)
-{
-       (void)output;
-       (void)sequence;
-       (void)tv_sec;
-       (void)tv_usec;
-       (void)user_data;
-
-       stub_tdm_output_vblank_handler_count++;
-}
-
-/* XXX: named stub_tdm_thread_init_init since stub_tdm_thread_init has been
-   defined earlier */
-static tdm_error
-stub_tdm_thread_init_init(tdm_private_loop *private_loop)
-{
-       if (stub_tdm_thread_init_init_error)
-               return TDM_ERROR_OPERATION_FAILED;
-       return TDM_ERROR_NONE;
-}
-
-#define tdm_thread_get_fd stub_tdm_thread_get_fd
-#define tdm_thread_handle_cb stub_tdm_thread_handle_cb
-#define tdm_thread_send_cb stub_tdm_thread_send_cb
-#define tdm_thread_is_running stub_tdm_thread_is_running
-#define tdm_thread_in_display_thread stub_tdm_thread_in_display_thread
-#define tdm_thread_init stub_tdm_thread_init_init
-
-#endif // STUB_TDM_THREAD_H
diff --git a/utests/stubs/stub_tdm_vblank.h b/utests/stubs/stub_tdm_vblank.h
deleted file mode 100644 (file)
index 7b73d6c..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef STUB_TDM_VBLANK_H
-#define STUB_TDM_VBLANK_H
-
-#include "tdm.h"
-
-static int stub_tdm_vblank_cb_vblank_SW_called;
-static int stub_tdm_vblank_wait_error;
-static tdm_vblank* stub_tdm_vblank_create_returned = NULL;
-
-static void
-stub_tdm_vblank_init()
-{
-       stub_tdm_vblank_cb_vblank_SW_called = 0;
-       stub_tdm_vblank_create_returned = NULL;
-       stub_tdm_vblank_wait_error = 0;
-}
-
-static tdm_error
-stub_tdm_vblank_cb_vblank_SW(tdm_vblank *vblank, double vblank_stamp)
-{
-       (void)vblank;
-       (void)vblank_stamp;
-
-       stub_tdm_vblank_cb_vblank_SW_called = 1;
-       return TDM_ERROR_NONE;
-}
-
-static tdm_vblank*
-stub_tdm_vblank_create(tdm_display *dpy, tdm_output *output, tdm_error *error)
-{
-       (void)dpy;
-       (void)output;
-       (void)error;
-
-       return stub_tdm_vblank_create_returned;
-}
-
-static void
-stub_tdm_vblank_destroy(tdm_vblank *vblank)
-{
-       (void)vblank;
-}
-
-static tdm_error
-stub_tdm_vblank_set_fps(tdm_vblank *vblank, unsigned int fps)
-{
-       (void)vblank;
-       (void)fps;
-
-       return TDM_ERROR_NONE;
-}
-
-static unsigned int
-stub_tdm_vblank_get_enable_fake(tdm_vblank *vblank)
-{
-       (void)vblank;
-
-       return 0;
-}
-
-static tdm_error
-stub_tdm_vblank_wait(tdm_vblank *vblank, unsigned int req_sec, unsigned int req_usec,
-                               unsigned int interval, tdm_vblank_handler func, void *user_data)
-{
-       (void)vblank;
-       (void)req_sec;
-       (void)req_usec;
-       (void)interval;
-       (void)func;
-       (void)user_data;
-
-       if(stub_tdm_vblank_wait_error)
-               return TDM_ERROR_BAD_REQUEST;
-
-       return TDM_ERROR_NONE;
-}
-
-
-#define tdm_vblank_cb_vblank_SW stub_tdm_vblank_cb_vblank_SW
-#define tdm_vblank_wait stub_tdm_vblank_wait
-#define tdm_vblank_get_enable_fake stub_tdm_vblank_get_enable_fake
-#define tdm_vblank_set_fps stub_tdm_vblank_set_fps
-#define tdm_vblank_destroy stub_tdm_vblank_destroy
-#define tdm_vblank_create stub_tdm_vblank_create
-
-#endif // STUB_TDM_VBLANK_H
diff --git a/utests/stubs/stub_unistd.cpp b/utests/stubs/stub_unistd.cpp
deleted file mode 100644 (file)
index 33fcf6e..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-#include "stub_unistd.h"
-
-#include <string.h>
-#include <errno.h>
-
-int stub_pipe_error;
-int stub_write_error;
-int stub_syscall_return_value;
-int stub_syscall_reset;
-short stub_unistd_closed_fds[STUB_UNISTD_SIZE_FDS];
-void *stub_read_buf;
-int stub_read_returned_size;
-int stub_dub_error = 0;
-int stub_poll_error;
-int stub_poll_eagain;
-
-void stub_unistd_init()
-{
-       stub_pipe_error = 0;
-       stub_syscall_return_value = 1;
-       stub_syscall_reset = 0;
-       stub_write_error = 0;
-       stub_read_buf = NULL;
-       stub_read_returned_size = 0;
-       stub_dub_error = 0;
-       stub_poll_error = 0;
-       stub_poll_eagain = 0;
-       for(int i = 0; i < STUB_UNISTD_SIZE_FDS; ++i) {
-               stub_unistd_closed_fds[i] = 0;
-       }
-}
-
-int stub_pipe(int pipedes[2])
-{
-       if (stub_pipe_error)
-               return -1;
-
-       return 0;
-}
-
-long int stub_syscall(long int sysno, ...)
-{
-       (void)sysno;
-       long int ret = stub_syscall_return_value;
-
-       if (stub_syscall_reset)
-               stub_syscall_return_value = 1;
-
-       return ret;
-}
-
-int stub_close(int fd)
-{
-       if (fd >= STUB_UNISTD_SIZE_FDS) {
-               return -1;
-       }
-
-       stub_unistd_closed_fds[fd] = 1;
-
-       return 0;
-}
-
-ssize_t stub_write(int fd, const void *buf, size_t n)
-{
-       (void)fd;
-       (void)buf;
-
-       if (stub_write_error)
-               return 0;
-
-       return n;
-}
-
-ssize_t stub_read(int fd, void *buf, size_t nbytes)
-{
-       if (!stub_read_buf) {
-               buf = NULL;
-               return 0;
-       }
-
-       memcpy(buf, stub_read_buf, nbytes);
-
-       return stub_read_returned_size;
-}
-
-int stub_dup(int fd)
-{
-       (void)fd;
-
-       if (stub_dub_error) {
-               return -1;
-       }
-
-       return 5;
-}
-
-int stub_dup2(int __fd, int __fd2)
-{
-       (void)__fd;
-       (void)__fd2;
-
-       if (stub_dub_error) {
-               return -1;
-       }
-
-       return 5;
-}
-
-int stub_poll(struct pollfd *fds, nfds_t nfds, int timeout)
-{
-       (void)fds;
-       (void)nfds;
-       (void)timeout;
-
-       if (stub_poll_eagain) {
-               stub_poll_eagain = 0;
-               errno = EAGAIN;
-               return -1;
-       }
-       if (stub_poll_error) {
-               errno = EPERM;
-               return -1;
-       }
-
-       return 0;
-}
diff --git a/utests/stubs/stub_unistd.h b/utests/stubs/stub_unistd.h
deleted file mode 100644 (file)
index e46afe9..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef STUB_UNISTD_H
-#define STUB_UNISTD_H
-
-#include <unistd.h>
-#include <sys/poll.h>
-
-#define STUB_UNISTD_SIZE_FDS 32
-
-extern int stub_pipe_error;
-extern int stub_syscall_return_value;
-extern int stub_syscall_reset;
-extern int stub_write_error;
-extern short stub_unistd_closed_fds[STUB_UNISTD_SIZE_FDS];
-extern void *stub_read_buf;
-extern int stub_read_returned_size;
-extern int stub_dub_error;
-extern int stub_poll_error;
-extern int stub_poll_eagain;
-
-void stub_unistd_init();
-
-int stub_pipe(int pipedes[2]);
-
-long int stub_syscall (long int sysno, ...);
-
-int stub_close(int fd);
-
-ssize_t stub_write(int fd, const void *buf, size_t n);
-
-ssize_t stub_read(int fd, void *buf, size_t nbytes);
-
-int stub_dup(int fd);
-int stub_dup2(int __fd, int __fd2);
-
-int stub_poll(struct pollfd *fds, nfds_t nfds, int timeout);
-
-#define pipe(p) stub_pipe(p)
-#define syscall(sysno, args...) stub_syscall(sysno, ##args)
-#define close(fd) stub_close(fd)
-#define write(fd, buf, n) stub_write(fd, buf, n)
-#define read(fd, buf, nbytes) stub_read(fd, buf, nbytes)
-#define dup(fd) stub_dup(fd)
-#define dup2 stub_dup2
-#define poll(fds, nfds, timeout) stub_poll(fds, nfds, timeout)
-
-#endif // STUB_UNISTD_H
diff --git a/utests/stubs/tbm_bufmgr.h b/utests/stubs/tbm_bufmgr.h
deleted file mode 100644 (file)
index dc4fd59..0000000
+++ /dev/null
@@ -1,1025 +0,0 @@
-#ifndef _TBM_BUFMGR_H_
-#define _TBM_BUFMGR_H_
-
-#include <tbm_type.h>
-#include <stdint.h>
-
-/* tbm error base : this error base is same as TIZEN_ERROR_TBM in tizen_error.h */
-#ifndef TBM_ERROR_BASE
-#define TBM_ERROR_BASE                 -0x02830000
-#endif
-
-/**
- * \file tbm_bufmgr.h
- * \brief Tizen Buffer Manager
- */
-
-/**
- * @brief Definition for the tizen buffer manager
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef struct _tbm_bufmgr *tbm_bufmgr;
-
-/**
- * @brief Definition for the tizen buffer object
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef struct _tbm_bo *tbm_bo;
-/**
- * @brief Definition for the key associated with the buffer object
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef uint32_t tbm_key;
-/**
- * @brief Definition for the file descripter of the system buffer manager
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef int32_t tbm_fd;
-
-/* TBM_DEVICE_TYPE */
-
-/**
- * @brief Definition for the device type to get the default handle
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_DEVICE_DEFAULT   0
-/**
- * @brief Definition for the device type to get the virtual memory
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_DEVICE_CPU       1
-/**
- * @brief Definition for the device type to get the 2D memory handle
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_DEVICE_2D        2
-/**
- * @brief Definition for the device type to get the 3D memory handle
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_DEVICE_3D        3
-/**
- * @brief Definition for the device type to get the multimedia handle
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_DEVICE_MM        4
-
-/* TBM_OPTION */
-
-/**
- * @brief Definition for the access option to read
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_OPTION_READ      (1 << 0)
-/**
- * @brief Definition for the access option to write
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_OPTION_WRITE     (1 << 1)
-/**
- * @brief Definition for the vendor specific option that depends on the backend
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_OPTION_VENDOR    (0xffff0000)
-
-/* unneeded version 2.0 */
-/**
- * @brief Definition for the cache invalidate
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_CACHE_INV            0x01
-/**
- * @brief Definition for the cache clean
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_CACHE_CLN            0x02
-/* unneeded version 2.0 */
-
-/**
- * @brief tbm_bo_handle abstraction of the memory handle by TBM_DEVICE_TYPE
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef union _tbm_bo_handle {
-       void *ptr;
-       int32_t s32;
-       uint32_t u32;
-       int64_t s64;
-       uint64_t u64;
-} tbm_bo_handle;
-
-/**
- * @brief Enumeration of bo memory type
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-enum TBM_BO_FLAGS {
-       TBM_BO_DEFAULT = 0,                        /**< default memory: it depends on the backend         */
-       TBM_BO_SCANOUT = (1 << 0),         /**< scanout memory                                    */
-       TBM_BO_NONCACHABLE = (1 << 1), /**< non-cachable memory                               */
-       TBM_BO_WC = (1 << 2),              /**< write-combine memory                              */
-       TBM_BO_VENDOR = (0xffff0000), /**< vendor specific memory: it depends on the backend */
-};
-
-/**
- * @brief Enumeration for tbm error type.
- * @since_tizen 2.4
- */
-typedef enum {
-       TBM_ERROR_NONE = 0,                                             /**< Successful */
-       TBM_BO_ERROR_GET_FD_FAILED = TBM_ERROR_BASE | 0x0101,     /**< failed to get fd failed */
-       TBM_BO_ERROR_HEAP_ALLOC_FAILED = TBM_ERROR_BASE | 0x0102, /**< failed to allocate the heap memory */
-       TBM_BO_ERROR_LOAD_MODULE_FAILED = TBM_ERROR_BASE | 0x0103,/**< failed to load module*/
-       TBM_BO_ERROR_THREAD_INIT_FAILED = TBM_ERROR_BASE | 0x0104,/**< failed to initialize the pthread */
-       TBM_BO_ERROR_BO_ALLOC_FAILED = TBM_ERROR_BASE | 0x0105,   /**< failed to allocate tbm_bo */
-       TBM_BO_ERROR_INIT_STATE_FAILED = TBM_ERROR_BASE | 0x0106, /**< failed to initialize the state of tbm_bo */
-       TBM_BO_ERROR_IMPORT_FAILED = TBM_ERROR_BASE | 0x0107,     /**< failed to import the handle of tbm_bo */
-       TBM_BO_ERROR_IMPORT_FD_FAILED = TBM_ERROR_BASE | 0x0108,  /**< failed to import fd of tbm_bo */
-       TBM_BO_ERROR_EXPORT_FAILED = TBM_ERROR_BASE | 0x0109,     /**< failed to export the handle of the tbm_bo */
-       TBM_BO_ERROR_EXPORT_FD_FAILED = TBM_ERROR_BASE | 0x01010, /**< failed to export fd of tbm_bo */
-       TBM_BO_ERROR_GET_HANDLE_FAILED = TBM_ERROR_BASE | 0x0111, /**< failed to get the tbm_bo_handle */
-       TBM_BO_ERROR_LOCK_FAILED = TBM_ERROR_BASE | 0x0112,               /**< failed to lock the tbm_bo */
-       TBM_BO_ERROR_MAP_FAILED = TBM_ERROR_BASE | 0x0113,                /**< failed to map the tbm_bo to get the tbm_bo_handle */
-       TBM_BO_ERROR_UNMAP_FAILED = TBM_ERROR_BASE | 0x0114,      /**< failed to unmap the tbm_bo */
-       TBM_BO_ERROR_SWAP_FAILED = TBM_ERROR_BASE | 0x0115,               /**< failed to swap the tbm_bos */
-       TBM_BO_ERROR_DUP_FD_FAILED = TBM_ERROR_BASE | 0x0116,     /**< failed to duplicate fd */
-} tbm_error_e;
-
-/**
- * @brief Enumeration of tbm buffer manager capability.
- * @since_tizen 2.4
- */
-enum TBM_BUFMGR_CAPABILITY {
-       TBM_BUFMGR_CAPABILITY_NONE = 0,                                 /**< Not Support capability*/
-       TBM_BUFMGR_CAPABILITY_SHARE_KEY = (1 << 0),             /**< Support sharing buffer by tbm key */
-       TBM_BUFMGR_CAPABILITY_SHARE_FD = (1 << 1),              /**< Support sharing buffer by tbm fd */
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Functions for buffer manager */
-
-/**
- * @brief Initializes the buffer manager.
- * @details If fd is lower than zero, fd is get drm fd in tbm_bufmgr_init function\n
- * The user can decide the lock type and cache flush type with the environment variables, which are BUFMGR_LOCK_TYPE and BUFMGR_MAP_CACHE.\n
- * \n
- * BUFMGR_LOCK default is once\n
- * once : The previous bo which is locked is unlock when the new bo is trying to be locked\n
- * always : The new bo is locked until the previous bo which is locked is unlocked\n
- * never : Every bo is never locked.\n
- * \n
- * BUFMGR_MAP_CACHE default is true\n
- * true : use map cache flushing\n
- * false : to use map cache flushing
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] fd : file descripter of the system buffer manager
- * @return a buffer manager
- * @retval #tbm_bufmgr
- * @see tbm_bufmgr_deinit();
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-   int bufmgr_fd;
-
-   setenv("BUFMGR_LOCK_TYPE", "once", 1);
-   setenv("BUFMGR_MAP_CACHE", "true", 1);
-
-   tbm_bufmgr bufmgr;
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-
-   ....
-
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_bufmgr tbm_bufmgr_init(int fd);
-
-/**
- * @brief Deinitializes the buffer manager.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bufmgr : the buffer manager
- * @see tbm_bufmgr_init()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_error_e error;
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   if (!bufmgr)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ....
-
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-void tbm_bufmgr_deinit(tbm_bufmgr bufmgr);
-
-/* Functions for bo */
-
-/**
- * @brief Allocates the buffer object.
- * @details This function create tbm_bo and set reference count to 1.\n
- * The user can craete tbm_bo with memory type flag #TBM_BO_FLAGS\n\n
- * #TBM_BO_DEFAULT indecates default memory: it depends on the backend\n
- * #TBM_BO_SCANOUT indecates scanout memory\n
- * #TBM_BO_NONCACHABLE indecates non-cachable memory\n
- * #TBM_BO_WC indecates write-combine memory\n
- * #TBM_BO_VENDOR indecates vendor specific memory: it depends on the tbm backend
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bufmgr : the buffer manager
- * @param[in] size : the size of buffer object
- * @param[in] flags : the flags of memory type
- * @return a buffer object
- * @retval #tbm_bo
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   if (!bo)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ....
-
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_bo tbm_bo_alloc(tbm_bufmgr bufmgr, int size, int flags);
-
-/**
- * @brief Increases the reference count of bo.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @return a buffer object
- * @retval #tbm_bo
- * @see tbm_bo_unref()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   ...
-
-   bo = tbm_bo_ref (bo);
-
-   ....
-
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_bo tbm_bo_ref(tbm_bo bo);
-
-/**
- * @brief Decreases the reference count of bo
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @see tbm_bo_ref()
- * @see tbm_bo_alloc()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-void tbm_bo_unref(tbm_bo bo);
-
-/**
- * @brief Maps the buffer object according to the device type and the option.
- * @details Cache flushing and Locking is executed, while tbm_bo is mapping in the proper condition according to the device type and the access option.\n
- * If the cache flush type of bufmgr set true, the map cache flushing is executed
- * If the lock type of bufmgr set once, the previous bo which is locked is unlock when the new bo is trying to be locked.\n
- * If the lock type of bufmgr set always, the new bo is locked until the previous bo which is locked is unlocked.\n
- * If the lock type of bufmgr set never, Every bo is never locked.\n\n
- * #TBM_DEVICE_DEFAULT indecates the default handle.\n
- * #TBM_DEVICE_2D indecates the 2D memory handle.\n
- * #TBM_DEVICE_3D indecates the 3D memory handle.\n
- * #TBM_DEVICE_CPU indecates the virtual memory handle.\n
- * #TBM_DEVICE_MM indecates the multimedia handle.\n\n
- * #TBM_OPTION_READ indecates the accss option to read.\n
- * #TBM_OPTION_WRITE indecates the access option to write.\n
- * #TBM_OPTION_VENDOR indecates the vendor specific option that depends on the backend.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @param[in] device : the device type to get a handle
- * @param[in] opt : the option to access the buffer object
- * @return the handle of the buffer object
- * @exception #TBM_ERROR_NONE            Success
- * @exception #TBM_ERROR_BO_LOCK_FAILED  tbm_bo lock failed
- * @exception #TBM_ERROR_BO_MAP_FAILED   tbm_bo map failed
- * @retval #tbm_bo
- * @see tbm_bo_unmap()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-   tbm_bo_handle handle;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   ...
-
-   handle = tbm_bo_map (bo, TBM_DEVICE_2D, TBM_OPTION_READ|TBM_OPTION_WRITE);
-   if (handle.ptr == NULL)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unmap (bo);
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_bo_handle tbm_bo_map(tbm_bo bo, int device, int opt);
-
-/**
- * @brief Unmaps the buffer object.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @return 1 if this function succeeds, otherwise 0.
- * @see tbm_bo_map()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo
-   tbm_bo_handle handle;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   ...
-
-   handle = tbm_bo_map (bo, TBM_DEVICE_2D, TBM_OPTION_READ|TBM_OPTION_WRITE);
-
-   ...
-
-   tbm_bo_unmap (bo);
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-int tbm_bo_unmap(tbm_bo bo);
-
-/**
- * @brief Gets the tbm_bo_handle according to the device type.
- * @details The tbm_bo_handle can be get without the map of the tbm_bo.\n
- * In this case, TBM does not guarantee the lock and the cache flush of the tbm_bo.\n\n
- * #TBM_DEVICE_DEFAULT indecates the default handle.\n
- * #TBM_DEVICE_2D indecates the 2D memory handle.\n
- * #TBM_DEVICE_3D indecates the 3D memory handle.\n
- * #TBM_DEVICE_CPU indecates the virtual memory handle.\n
- * #TBM_DEVICE_MM indecates the multimedia handle.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @param[in] device : the device type to get a handle
- * @return the handle of the buffer object
- * @retval #tbm_bo_handle
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-   tbm_bo_handle handle;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   ...
-
-   handle = tbm_bo_get_handle (bo, TBM_DEVICE_2D);
-   if (handle.ptr == NULL)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-  */
-tbm_bo_handle tbm_bo_get_handle(tbm_bo bo, int device);
-
-/**
- * @brief Exports the buffer object by key.
- * @details The tbm_bo can be exported to the anther process with the unique key associated with the the tbm_bo.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @return key associated with the buffer object
- * @retval #tbm_key
- * @see tbm_bo_import()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo;
-   tbm_key key;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   key = tbm_bo_export (bo);
-   if (key == 0)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-  */
-tbm_key tbm_bo_export(tbm_bo bo);
-
-/**
- * @brief Exports the buffer object by fd.
- * @details The tbm_bo can be exported to the anther process with the unique fd associated with the the tbm_bo.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @remarks You must release the fd using close().
- * @param[in] bo : the buffer object
- * @return fd associated with the buffer object
- * @retval #tbm_fd
- * @see tbm_bo_import_fd()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_fd bo_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   bo_fd = tbm_bo_export (bo);
-   if (bo_fd == 0)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-  */
-tbm_fd tbm_bo_export_fd(tbm_bo bo);
-
-/**
- * @brief Imports the buffer object associated with the key.
- * @details The reference count of the tbm_bo is 1.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bufmgr : the buffer manager
- * @param[in] key : the key associated with the buffer object
- * @return a buffer object
- * @retval #tbm_bo
- * @see tbm_bo_export()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   int bo_key;
-   tbm_bufmgr bufmgr;
-   tbm_bo;
-   tbm_error_e error;
-
-   ...
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_import (bufmgr, key);
-   if (bo == NULL)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-  */
-tbm_bo tbm_bo_import(tbm_bufmgr bufmgr, tbm_key key);
-
-/**
- * @brief Imports the buffer object associated with the fd.
- * @details The reference count of the tbm_bo is 1.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @remarks You must release the fd using close().
- * @param[in] bufmgr : the buffer manager
- * @param[in] fd : the fd associated with the buffer object
- * @return a buffer object
- * @retval #tbm_bo
- * @see tbm_bo_export_fd()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_fd bo_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-   tbm_error_e error;
-
-   ...
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_import_fd (bo_fd);
-   if (bo == 0)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-  */
-tbm_bo tbm_bo_import_fd(tbm_bufmgr bufmgr, tbm_fd fd);
-
-/**
- * @brief Gets the size of a bo.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @return 1 if this function succeeds, otherwise 0.
- * @see tbm_bo_alloc()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo;
-   int size;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   size = tbm_bo_size (bo);
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-  */
-int tbm_bo_size(tbm_bo bo);
-
-/**
- * @brief Gets the state where the buffer object is locked.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @return 1 if this bo is locked, otherwise 0.
- * @see tbm_bo_map()
- * @see tbm_bo_unmap()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   ...
-
-   if (tbm_bo_locked (bo))
-   {
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
-*/
-int tbm_bo_locked(tbm_bo bo);
-
-/**
- * @brief Swaps the buffer object.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo1 : the buffer object
- * @param[in] bo2 : the buffer object
- * @return 1 if this function succeeds, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo1;
-   tbm_bo bo2;
-   int ret;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo1 = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   bo2 = tbm_bo_alloc (bufmgr, 256 * 256, TBM_BO_DEFAULT);
-
-   ...
-
-   ret = tbm_bo_swap (bo1, bo2);
-   if (ret == 0)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unref (bo1);
-   tbm_bo_unref (bo2);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-int tbm_bo_swap(tbm_bo bo1, tbm_bo bo2);
-
-/**
- * @brief Called when the user data is deleted in buffer object.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] user_data User_data to be passed to callback function
- * @pre The callback must be registered using tbm_bo_add_user_data().\n
- * tbm_bo_delete_user_data() must be called to invoke this callback.
- * @see tbm_bo_add_user_data()
- * @see tbm_bo_delete_user_data()
- */
-typedef void (*tbm_data_free) (void *user_data);
-
-/**
- * @brief Adds a user_data to the buffer object.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @param[in] key : the key associated with the user_data
- * @param[in] data_free_func : the function pointer to free the user_data
- * @return 1 if this function succeeds, otherwise 0.
- * @post tbm_data_free() will be called under certain conditions, after calling tbm_bo_delete_user_data().
- * @see tbm_data_free()
- * @see tbm_bo_set_user_data()
- * @see tbm_bo_get_user_data()
- * @see tbm_bo_delete_user_data()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   void example_data_free (void *user_data)
-   {
-       char *data = (char*) user_data;
-       free(data);
-   }
-
-   int main()
-   {
-       int bufmgr_fd;
-       tbm_bufmgr bufmgr;
-       tbm_bo bo;
-       char *user_data;
-       char *get_data;
-       int ret;
-
-       bufmgr = tbm_bufmgr_init (bufmgr_fd);
-       bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-       user_data = (char*) malloc (sizeof(char) * 128);
-
-       ...
-
-       tbm_bo_add_user_data (bo, 1, example_data_free);
-       tbm_bo_set_user_data (bo, 1, user_data);
-
-       ...
-
-       ret = tbm_bo_get_user_data (bo, 1, &get_data);
-       tbm_bo_delete_user_data (bo, 1);
-
-       ...
-
-       tbm_bo_unref (bo);
-       tbm_bufmgr_deinit (bufmgr);
-   }
-   @endcode
- */
-
-int tbm_bo_add_user_data(tbm_bo bo, unsigned long key,
-                        tbm_data_free data_free_func);
-
-/**
- * @brief Deletes the user_data in the buffer object.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @param[in] key : the key associated with the user_date
- * @return 1 if this function succeeds, otherwise 0.
- * @see tbm_bo_add_user_data()
- * @see tbm_bo_get_user_data()
- * @see tbm_bo_delete_user_data()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   void example_data_free (void *user_data)
-   {
-       char *data = (char*) user_data;
-       free(data);
-   }
-
-   int main()
-   {
-       int bufmgr_fd;
-       tbm_bufmgr bufmgr;
-       tbm_bo bo;
-       char *user_data;
-       char *get_data;
-       int ret;
-
-       bufmgr = tbm_bufmgr_init (bufmgr_fd);
-       bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-       user_data = (char*) malloc (sizeof(char) * 128);
-
-       ...
-
-       tbm_bo_add_user_data (bo, 1, example_data_free);
-       tbm_bo_set_user_data (bo, 1, user_data);
-
-       ...
-
-       ret = tbm_bo_get_user_data (bo, 1, &get_data);
-       tbm_bo_delete_user_data (bo, 1);
-
-       ...
-
-       tbm_bo_unref (bo);
-       tbm_bufmgr_deinit (bufmgr);
-   }
-   @endcode
- */
-int tbm_bo_delete_user_data(tbm_bo bo, unsigned long key);
-
-/**
- * @brief Sets a user_date to the buffer object.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @param[in] key : the key associated with the user_date
- * @param[in] data : a pointer of the user_data
- * @return 1 if this function succeeds, otherwise 0.
- * @see tbm_bo_add_user_data()
- * @see tbm_bo_set_user_data()
- * @see tbm_bo_delete_user_data()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   void example_data_free (void *user_data)
-   {
-       char *data = (char*) user_data;
-       free(data);
-   }
-
-   int main()
-   {
-       int bufmgr_fd;
-       tbm_bufmgr bufmgr;
-       tbm_bo bo;
-       char *user_data;
-       char *get_data;
-       int ret;
-
-       bufmgr = tbm_bufmgr_init (bufmgr_fd);
-       bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-       user_data = (char*) malloc (sizeof(char) * 128);
-
-       ...
-
-       tbm_bo_add_user_data (bo, 1, example_data_free);
-       tbm_bo_set_user_data (bo, 1, user_data);
-
-       ...
-
-       ret = tbm_bo_get_user_data (bo, 1, &get_data);
-       tbm_bo_delete_user_data (bo, 1);
-
-       ...
-
-       tbm_bo_unref (bo);
-       tbm_bufmgr_deinit (bufmgr);
-   }
-   @endcode
- */
-int tbm_bo_set_user_data(tbm_bo bo, unsigned long key, void *data);
-
-/**
- * @brief Gets a user_data from the buffer object with the key.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bo : the buffer object
- * @param[in] key : the key associated with the user_date
- * @param[out] data : to get the user data
- * @return 1 if this function succeeds, otherwise 0.
- * @see tbm_bo_add_user_data()
- * @see tbm_bo_set_user_data()
- * @see tbm_bo_get_user_data()
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   void example_data_free (void *user_data)
-   {
-       char *data = (char*) user_data;
-       free(data);
-   }
-
-   int main()
-   {
-       int bufmgr_fd;
-       tbm_bufmgr bufmgr;
-       tbm_bo bo;
-       char *user_data;
-       char *get_data;
-       int ret;
-
-       bufmgr = tbm_bufmgr_init (bufmgr_fd);
-       bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-       user_data = (char*) malloc (sizeof(char) * 128);
-
-       ...
-
-       tbm_bo_add_user_data (bo, 1, example_data_free);
-       tbm_bo_set_user_data (bo, 1, user_data);
-
-       ...
-
-       ret = tbm_bo_get_user_data (bo, 1, &get_data);
-       tbm_bo_delete_user_data (bo, 1);
-
-       ...
-
-       tbm_bo_unref (bo);
-       tbm_bufmgr_deinit (bufmgr);
-   }
-   @endcode
- */
-int tbm_bo_get_user_data(tbm_bo bo, unsigned long key, void **data);
-
-/**
- * @brief Gets the latest tbm_error.
- * @since_tizen 2.4
- * @return the latest tbm_error
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo bo;
-   tbm_bo_handle handle;
-   tbm_error_e error;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   if (!bo)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   handle = tbm_bo_map (bo, TBM_DEVICE_2D, TBM_OPTION_READ|TBM_OPTION_WRITE);
-   if (handle.ptr == NULL)
-   {
-      error = tbm_get_last_error ();
-      ...
-   }
-
-   ...
-
-   tbm_bo_unmap (bo);
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_error_e tbm_get_last_error(void);
-
-/**
- * @brief Gets the tbm buffer capability.
- * @since_tizen 2.4
- * @param[in] bufmgr : the buffer manager
- * @return the tbm bufmgr capability
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   unsigned int capability;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-
-   capability = tbm_bufmgr_get_capability (bufmgr);
-
-   tbm_bufmgr_deinit (bufmgr);
-   @endcode
- */
-unsigned int tbm_bufmgr_get_capability(tbm_bufmgr bufmgr);
-
-/**
- * @brief Gets the tbm bo flags.
- * @since_tizen 2.4
- * @param[in] bo : the buffer object
- * @return the tbm bo flags
- * @see TBM_BO_FLAGS
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-
-   int bufmgr_fd;
-   tbm_bufmgr bufmgr;
-   tbm_bo;
-   int flags;
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-   flags = tbm_bo_get_flags (bo);
-
-   ...
-
-   tbm_bo_unref (bo);
-   tbm_bufmgr_deinit (bufmgr);
-
-   @endcode
- */
-int tbm_bo_get_flags(tbm_bo bo);
-
-/**
- * @brief Print out the information of tbm_bos.
- * @since_tizen 3.0
- * @param[in] bufmgr : the buffer manager
- */
-void tbm_bufmgr_debug_show(tbm_bufmgr bufmgr);
-
-/**
- * @brief Print out the trace of tbm_bos.
- * @since_tizen 3.0
- * @param[in] bufmgr : the buffer manager
- * @param[in] onoff : 1 is on, and 0 is off
- */
-void tbm_bufmgr_debug_trace(tbm_bufmgr bufmgr, int onoff);
-
-int tbm_bufmgr_bind_native_display(tbm_bufmgr bufmgr, void *NativeDisplay);
-
-#ifdef __cplusplus
-}
-#endif
-#endif                                                 /* _TBM_BUFMGR_H_ */
diff --git a/utests/stubs/tbm_stubs.cpp b/utests/stubs/tbm_stubs.cpp
deleted file mode 100644 (file)
index c86fabc..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-#include "tbm_stubs.h"
-
-#include <stdlib.h>
-
-int TBM_BUFMGR_DEINIT_CALLED = 0;
-int TBM_BO_GET_USER_DATA_NULL = 0;
-int tbm_surface_queue_release_count;
-int tbm_surface_internal_add_user_data_error;
-int tbm_surface_internal_set_user_data_error;
-void *tbm_surface_internal_get_user_data_ret;
-int tbm_surface_internal_ref_count;
-int tbm_surface_internal_unref_count;
-
-tbm_bufmgr tbm_bufmgr_init(int fd)
-{
-       (void)fd;
-
-       return NULL;
-}
-
-void tbm_bufmgr_deinit(tbm_bufmgr bufmgr)
-{
-       (void)bufmgr;
-
-       TBM_BUFMGR_DEINIT_CALLED = 1;
-}
-
-tbm_bo tbm_surface_internal_get_bo(tbm_surface_h surface, int bo_idx)
-{
-       (void)surface;
-       (void)bo_idx;
-
-       if (!surface) {
-               return NULL;
-       }
-
-       return NULL;
-}
-
-int tbm_bo_get_user_data(tbm_bo bo, unsigned long key, void **data)
-{
-       (void)bo;
-       (void)key;
-       (void)data;
-
-       if (TBM_BO_GET_USER_DATA_NULL) {
-               *data = NULL;
-               return;
-       }
-
-       *data = (void *)"data";
-
-       return 0;
-}
-
-int tbm_bo_add_user_data(tbm_bo bo, unsigned long key,
-                                                       tbm_data_free data_free_func)
-{
-       (void)bo;
-       (void)key;
-       (void)data_free_func;
-
-       return 0;
-}
-
-int tbm_bo_set_user_data(tbm_bo bo, unsigned long key, void *data)
-{
-       (void)bo;
-       (void)key;
-       (void)data;
-
-       return 0;
-}
-
-void tbm_surface_internal_ref(tbm_surface_h surface)
-{
-       (void)surface;
-
-       tbm_surface_internal_ref_count++;
-}
-
-void tbm_surface_internal_unref(tbm_surface_h surface)
-{
-       (void)surface;
-
-       tbm_surface_internal_unref_count++;
-}
-
-tbm_surface_queue_error_e tbm_surface_queue_acquire(
-               tbm_surface_queue_h surface_queue, tbm_surface_h *surface)
-{
-       (void)surface_queue;
-       (void)surface;
-
-       return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
-tbm_surface_queue_error_e tbm_surface_queue_release(
-               tbm_surface_queue_h surface_queue, tbm_surface_h surface)
-{
-       (void)surface_queue;
-       (void)surface;
-
-       tbm_surface_queue_release_count++;
-
-       return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
-tbm_surface_queue_error_e tbm_surface_queue_add_acquirable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb,
-       void *data)
-{
-       (void)surface_queue;
-       (void)acquirable_cb;
-       (void)data;
-
-       return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
-tbm_surface_queue_error_e tbm_surface_queue_add_destroy_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb,
-       void *data)
-{
-       (void)surface_queue;
-       (void)destroy_cb;
-       (void)data;
-
-       return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
-tbm_surface_queue_error_e tbm_surface_queue_remove_acquirable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb,
-       void *data)
-{
-       (void)surface_queue;
-       (void)acquirable_cb;
-       (void)data;
-
-       return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
-tbm_surface_queue_error_e tbm_surface_queue_remove_destroy_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb,
-       void *data)
-{
-       (void)surface_queue;
-       (void)destroy_cb;
-       (void)data;
-
-       return TBM_SURFACE_QUEUE_ERROR_NONE;
-}
-
-int tbm_surface_internal_get_user_data(tbm_surface_h surface, unsigned long key,
-                                          void **data)
-{
-       (void)surface;
-       (void)key;
-
-       if (tbm_surface_internal_get_user_data_ret) {
-               *data = tbm_surface_internal_get_user_data_ret;
-               return 1;
-       }
-
-       *data = NULL;
-
-       return 0;
-}
-
-int tbm_surface_internal_add_user_data(tbm_surface_h surface, unsigned long key,
-                                          tbm_data_free data_free_func)
-{
-       (void)surface;
-       (void)key;
-       (void)data_free_func;
-
-       if (tbm_surface_internal_add_user_data_error)
-               return 0;
-
-       return 1;
-}
-
-int tbm_surface_internal_set_user_data(tbm_surface_h surface, unsigned long key,
-                                          void *data)
-{
-       (void)surface;
-       (void)key;
-       (void)data;
-
-       if (tbm_surface_internal_set_user_data_error)
-               return 0;
-
-       return 1;
-}
-
-int tbm_surface_map(tbm_surface_h surface, int opt, tbm_surface_info_s *info)
-{
-       (void)opt;
-       struct _tbm_surface *s = surface;
-
-       if (s->info.num_planes > 0)
-       {
-               info->format = s->info.format;
-               info->width = s->info.width;
-               info->height = s->info.height;
-               info->num_planes = s->info.num_planes;
-               info->planes[0].ptr = s->info.planes[0].ptr;
-               info->planes[1].ptr = s->info.planes[1].ptr;
-               info->planes[2].ptr = s->info.planes[2].ptr;
-               info->planes[0].stride = s->info.planes[0].stride;
-               info->planes[1].stride = s->info.planes[1].stride;
-               info->planes[2].stride = s->info.planes[2].stride;
-               return 0;
-       }
-       return 1;
-}
-
-int tbm_surface_unmap(tbm_surface_h surface)
-{
-       (void)surface;
-
-       return 0;
-}
-
-void tbm_surface_internal_dump_buffer(tbm_surface_h surface, const char *type)
-{
-       (void)surface;
-       (void)type;
-}
-
-int tbm_surface_internal_delete_user_data(tbm_surface_h surface,
-                                         unsigned long key)
-{
-       (void)surface;
-       (void)key;
-
-       return 0;
-}
-
-int tbm_surface_internal_get_num_bos(tbm_surface_h surface)
-{
-       struct _tbm_surface *s = surface;
-       return s->info.num_planes;
-}
-
-int tbm_surface_get_info(tbm_surface_h surface, tbm_surface_info_s *info)
-{
-
-}
-
-tbm_format tbm_surface_get_format(tbm_surface_h surface)
-{
-
-}
-
-int tbm_surface_get_height(tbm_surface_h surface)
-{
-
-}
-
-void stub_tbm_init()
-{
-       TBM_BUFMGR_DEINIT_CALLED = 0;
-       TBM_BO_GET_USER_DATA_NULL = 0;
-       tbm_surface_queue_release_count = 0;
-       tbm_surface_internal_add_user_data_error = 0;
-       tbm_surface_internal_set_user_data_error = 0;
-       tbm_surface_internal_get_user_data_ret = NULL;
-       tbm_surface_internal_ref_count = 0;
-       tbm_surface_internal_unref_count = 0;
-}
diff --git a/utests/stubs/tbm_stubs.h b/utests/stubs/tbm_stubs.h
deleted file mode 100644 (file)
index e8e1f13..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _TBM_STUBS_H
-#define _TBM_STUBS_H
-
-#include <tbm_type.h>
-#include "tbm_bufmgr.h"
-#include "tbm_surface_queue.h"
-
-extern int TBM_BUFMGR_DEINIT_CALLED;
-extern int TBM_BO_GET_USER_DATA_NULL;
-extern int tbm_surface_queue_release_count;
-extern int tbm_surface_internal_add_user_data_error;
-extern int tbm_surface_internal_set_user_data_error;
-extern void *tbm_surface_internal_get_user_data_ret;
-extern int tbm_surface_internal_ref_count;
-extern int tbm_surface_internal_unref_count;
-
-struct _tbm_surface {
-       int temp;
-       tbm_surface_info_s info;
-};
-
-struct _tbm_surface_queue {
-       int temp;
-};
-
-tbm_bufmgr tbm_bufmgr_init(int fd);
-
-void tbm_bufmgr_deinit(tbm_bufmgr bufmgr);
-
-tbm_bo tbm_surface_internal_get_bo(tbm_surface_h surface, int bo_idx);
-
-int tbm_bo_get_user_data(tbm_bo bo, unsigned long key, void **data);
-
-int tbm_bo_add_user_data(tbm_bo bo, unsigned long key,
-                                                       tbm_data_free data_free_func);
-
-int tbm_bo_set_user_data(tbm_bo bo, unsigned long key, void *data);
-
-void tbm_surface_internal_ref(tbm_surface_h surface);
-
-void tbm_surface_internal_unref(tbm_surface_h surface);
-
-void stub_tbm_init();
-
-#endif /* _TBM_STUBS_H */
diff --git a/utests/stubs/tbm_surface.h b/utests/stubs/tbm_surface.h
deleted file mode 100644 (file)
index 445d421..0000000
+++ /dev/null
@@ -1,742 +0,0 @@
-#ifndef _TBM_SURFACE_H_
-#define _TBM_SURFACE_H_
-
-/**
- * @addtogroup CAPI_UI_TBM_SURFACE_MODULE
- * @{
- */
-
-#include <tbm_type.h>
-#include <tizen.h>
-
-/**
- * \file tbm_surface.h
- * \brief TBM Surface
- */
-
-/**
- * @brief Enumeration for tbm_surface error type.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef enum {
-       TBM_SURFACE_ERROR_NONE = TIZEN_ERROR_NONE,                                                        /**< Successful */
-       TBM_SURFACE_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,  /**< Invalid parameter */
-       TBM_SURFACE_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION,  /**< Invalid Operation */
-} tbm_surface_error_e;
-
-/**
- * @brief Definition for the max number of TBM surface plane.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_SURF_PLANE_MAX 4
-
-/* option to map the tbm_surface */
-/**
- * @brief Definition for the access option to read.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_SURF_OPTION_READ      (1 << 0)
-/**
- * @brief Definition for the access option to write.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_SURF_OPTION_WRITE     (1 << 1)
-
-/**
- * @brief Definition for the TBM plane struct.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef struct _tbm_surface_plane {
-       unsigned char *ptr;       /**< Plane pointer */
-       uint32_t size;            /**< Plane size */
-       uint32_t offset;          /**< Plane offset */
-       uint32_t stride;          /**< Plane stride */
-
-       void *reserved1;          /**< Reserved pointer1 */
-       void *reserved2;          /**< Reserved pointer2 */
-       void *reserved3;          /**< Reserved pointer3 */
-} tbm_surface_plane_s;
-
-/**
- * @brief Definition for the TBM surface information struct.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef struct _tbm_surface_info {
-       uint32_t width;          /**< TBM surface width */
-       uint32_t height;         /**< TBM surface height */
-       tbm_format format;       /**< TBM surface format*/
-       uint32_t bpp;            /**< TBM surface bbp */
-       uint32_t size;           /**< TBM surface size */
-
-       uint32_t num_planes;                                                    /**< The number of planes */
-       tbm_surface_plane_s planes[TBM_SURF_PLANE_MAX]; /**< Array of planes */
-
-       void *reserved4;   /**< Reserved pointer4 */
-       void *reserved5;   /**< Reserved pointer5 */
-       void *reserved6;   /**< Reserved pointer6 */
-} tbm_surface_info_s;
-
-#define __tbm_fourcc_code(a, b, c, d) ((uint32_t)(a) | ((uint32_t)(b) << 8) | \
-                               ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24))
-
-/* color index */
-/**
- * @brief Definition for the TBM surface format C8 ([7:0] C).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_C8       __tbm_fourcc_code('C', '8', ' ', ' ')
-
-/* 8 bpp RGB */
-/**
- * @brief Definition for the TBM surface format RGB322 ([7:0] R:G:B 3:3:2).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGB332   __tbm_fourcc_code('R', 'G', 'B', '8')
-/**
- * @brief Definition for the TBM surface format RGB233 ([7:0] B:G:R 2:3:3).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGR233   __tbm_fourcc_code('B', 'G', 'R', '8')
-
-/* 16 bpp RGB */
-/**
- * @brief Definition for the TBM surface format XRGB4444 ([15:0] x:R:G:B 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XRGB4444 __tbm_fourcc_code('X', 'R', '1', '2')
-/**
- * @brief Definition for the TBM surface format XBRG4444 ([15:0] x:B:G:R 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XBGR4444 __tbm_fourcc_code('X', 'B', '1', '2')
-/**
- * @brief Definition for the TBM surface format RGBX4444 ([15:0] R:G:B:x 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBX4444 __tbm_fourcc_code('R', 'X', '1', '2')
-/**
- * @brief Definition for the TBM surface format BGRX4444 ([15:0] B:G:R:x 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRX4444 __tbm_fourcc_code('B', 'X', '1', '2')
-
-/**
- * @brief Definition for the TBM surface format ARGB4444 ([15:0] A:R:G:B 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ARGB4444 __tbm_fourcc_code('A', 'R', '1', '2')
-/**
- * @brief Definition for the TBM surface format ABGR4444 ([15:0] A:B:G:R 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ABGR4444 __tbm_fourcc_code('A', 'B', '1', '2')
-/**
- * @brief Definition for the TBM surface format RGBA4444 ([15:0] R:G:B:A 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBA4444 __tbm_fourcc_code('R', 'A', '1', '2')
-/**
- * @brief Definition for the TBM surface format BGRA4444 ([15:0] B:G:R:A 4:4:4:4 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRA4444 __tbm_fourcc_code('B', 'A', '1', '2')
-
-/**
- * @brief Definition for the TBM surface format XRGB1555 ([15:0] x:R:G:B 1:5:5:5 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XRGB1555 __tbm_fourcc_code('X', 'R', '1', '5')
-/**
- * @brief Definition for the TBM surface format XBGR1555 ([15:0] x:B:G:R 1:5:5:5 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XBGR1555 __tbm_fourcc_code('X', 'B', '1', '5')
-/**
- * @brief Definition for the TBM surface format RGBX5551 ([15:0] R:G:B:x 5:5:5:1 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBX5551 __tbm_fourcc_code('R', 'X', '1', '5')
-/**
- * @brief Definition for the TBM surface format BGRX5551 ([15:0] B:G:R:x 5:5:5:1 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRX5551 __tbm_fourcc_code('B', 'X', '1', '5')
-
-/**
- * @brief Definition for the TBM surface format ARGB1555 ([15:0] A:R:G:B 1:5:5:5 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ARGB1555 __tbm_fourcc_code('A', 'R', '1', '5')
-/**
- * @brief Definition for the TBM surface format ABGR1555 ([15:0] A:B:G:R 1:5:5:5 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ABGR1555 __tbm_fourcc_code('A', 'B', '1', '5')
-/**
- * @brief Definition for the TBM surface format RGBA5551 ([15:0] R:G:B:A 5:5:5:1 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBA5551 __tbm_fourcc_code('R', 'A', '1', '5')
-/**
- * @brief Definition for the TBM surface format BGRA5551 ([15:0] B:G:R:A 5:5:5:1 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRA5551 __tbm_fourcc_code('B', 'A', '1', '5')
-
-/**
- * @brief Definition for the TBM surface format RGB565 ([15:0] R:G:B 5:6:5 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGB565   __tbm_fourcc_code('R', 'G', '1', '6')
-/**
- * @brief Definition for the TBM surface format BGR565 ([15:0] B:G:R 5:6:5 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGR565   __tbm_fourcc_code('B', 'G', '1', '6')
-
-/* 24 bpp RGB */
-/**
- * @brief Definition for the TBM surface format RGB888 ([23:0] R:G:B little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGB888   __tbm_fourcc_code('R', 'G', '2', '4')
-/**
- * @brief Definition for the TBM surface format BGR888 ([23:0] B:G:R little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGR888   __tbm_fourcc_code('B', 'G', '2', '4')
-
-/* 32 bpp RGB */
-/**
- * @brief Definition for the TBM surface format XRGB8888 ([31:0] x:R:G:B 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XRGB8888 __tbm_fourcc_code('X', 'R', '2', '4')
-/**
- * @brief Definition for the TBM surface format XBGR8888 ([31:0] x:B:G:R 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XBGR8888 __tbm_fourcc_code('X', 'B', '2', '4')
-/**
- * @brief Definition for the TBM surface format RGBX8888 ([31:0] R:G:B:x 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBX8888 __tbm_fourcc_code('R', 'X', '2', '4')
-/**
- * @brief Definition for the TBM surface format BGRX8888 ([31:0] B:G:R:x 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRX8888 __tbm_fourcc_code('B', 'X', '2', '4')
-
-/**
- * @brief Definition for the TBM surface format ARGB8888 ([31:0] A:R:G:B 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ARGB8888 __tbm_fourcc_code('A', 'R', '2', '4')
-/**
- * @brief Definition for the TBM surface format ABGR8888 ([31:0] [31:0] A:B:G:R 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ABGR8888 __tbm_fourcc_code('A', 'B', '2', '4')
-/**
- * @brief Definition for the TBM surface format RGBA8888 ([31:0] R:G:B:A 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBA8888 __tbm_fourcc_code('R', 'A', '2', '4')
-/**
- * @brief Definition for the TBM surface format BGRA8888 ([31:0] B:G:R:A 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRA8888 __tbm_fourcc_code('B', 'A', '2', '4')
-
-/**
- * @brief Definition for the TBM surface format XRGB2101010 ([31:0] x:R:G:B 2:10:10:10 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XRGB2101010  __tbm_fourcc_code('X', 'R', '3', '0')
-/**
- * @brief Definition for the TBM surface format XBGR2101010 ([31:0] x:B:G:R 2:10:10:10 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_XBGR2101010  __tbm_fourcc_code('X', 'B', '3', '0')
-/**
- * @brief Definition for the TBM surface format RGBX1010102 ([31:0] R:G:B:x 10:10:10:2 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBX1010102  __tbm_fourcc_code('R', 'X', '3', '0')
-/**
- * @brief Definition for the TBM surface format BGRX1010102 ([31:0] B:G:R:x 10:10:10:2 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRX1010102  __tbm_fourcc_code('B', 'X', '3', '0')
-
-/**
- * @brief Definition for the TBM surface format ARGB2101010 ([31:0] A:R:G:B 2:10:10:10 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ARGB2101010  __tbm_fourcc_code('A', 'R', '3', '0')
-/**
- * @brief Definition for the TBM surface format ABGR2101010 ([31:0] A:B:G:R 2:10:10:10 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_ABGR2101010  __tbm_fourcc_code('A', 'B', '3', '0')
-/**
- * @brief Definition for the TBM surface format RGBA1010102 ([31:0] R:G:B:A 10:10:10:2 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_RGBA1010102  __tbm_fourcc_code('R', 'A', '3', '0')
-/**
- * @brief Definition for the TBM surface format BGRA1010102 ([31:0] B:G:R:A 10:10:10:2 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_BGRA1010102  __tbm_fourcc_code('B', 'A', '3', '0')  /*  */
-
-/* packed YCbCr */
-/**
- * @brief Definition for the TBM surface format YUYV ([31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YUYV     __tbm_fourcc_code('Y', 'U', 'Y', 'V')
-/**
- * @brief Definition for the TBM surface format YVYU ([31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YVYU     __tbm_fourcc_code('Y', 'V', 'Y', 'U')      /*  */
-/**
- * @brief Definition for the TBM surface format UYVY ([31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_UYVY     __tbm_fourcc_code('U', 'Y', 'V', 'Y')
-/**
- * @brief Definition for the TBM surface format VYUY ([31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_VYUY     __tbm_fourcc_code('V', 'Y', 'U', 'Y')
-
-/**
- * @brief Definition for the TBM surface format AYUV ([31:0] A:Y:Cb:Cr 8:8:8:8 little endian).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_AYUV     __tbm_fourcc_code('A', 'Y', 'U', 'V')
-
-/*
- * 2 plane YCbCr
- * index 0 = Y plane, [7:0] Y
- * index 1 = Cr:Cb plane, [15:0] Cr:Cb little endian
- * or
- * index 1 = Cb:Cr plane, [15:0] Cb:Cr little endian
- */
-/**
- * @brief Definition for the TBM surface format NV12 (2x2 subsampled Cr:Cb plane).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_NV12     __tbm_fourcc_code('N', 'V', '1', '2')
-/**
- * @brief Definition for the TBM surface format NV21 (2x2 subsampled Cb:Cr plane).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_NV21     __tbm_fourcc_code('N', 'V', '2', '1')      /*  */
-/**
- * @brief Definition for the TBM surface format NV16 (2x1 subsampled Cr:Cb plane).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_NV16     __tbm_fourcc_code('N', 'V', '1', '6')
-/**
- * @brief Definition for the TBM surface format NV61 (2x1 subsampled Cb:Cr plane).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_NV61     __tbm_fourcc_code('N', 'V', '6', '1')
-
-/*
- * 3 plane YCbCr
- * index 0: Y plane, [7:0] Y
- * index 1: Cb plane, [7:0] Cb
- * index 2: Cr plane, [7:0] Cr
- * or
- * index 1: Cr plane, [7:0] Cr
- * index 2: Cb plane, [7:0] Cb
- */
-/**
- * @brief Definition for the TBM surface format YUV410 (4x4 subsampled Cb (1) and Cr (2) planes).
- */
-#define TBM_FORMAT_YUV410   __tbm_fourcc_code('Y', 'U', 'V', '9')
-/**
- * @brief Definition for the TBM surface format YVU410 (4x4 subsampled Cr (1) and Cb (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YVU410   __tbm_fourcc_code('Y', 'V', 'U', '9')
-/**
- * @brief Definition for the TBM surface format YUV411 (4x1 subsampled Cb (1) and Cr (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YUV411   __tbm_fourcc_code('Y', 'U', '1', '1')
-/**
- * @brief Definition for the TBM surface format YVU411 (4x1 subsampled Cr (1) and Cb (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YVU411   __tbm_fourcc_code('Y', 'V', '1', '1')
-/**
- * @brief Definition for the TBM surface format YUV420 (2x2 subsampled Cb (1) and Cr (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YUV420   __tbm_fourcc_code('Y', 'U', '1', '2')
-/**
- * @brief Definition for the TBM surface format YVU420 (2x2 subsampled Cr (1) and Cb (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YVU420   __tbm_fourcc_code('Y', 'V', '1', '2')
-/**
- * @brief Definition for the TBM surface format YUV422 (2x1 subsampled Cb (1) and Cr (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YUV422   __tbm_fourcc_code('Y', 'U', '1', '6')
-/**
- * @brief Definition for the TBM surface format YVU422 (2x1 subsampled Cr (1) and Cb (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YVU422   __tbm_fourcc_code('Y', 'V', '1', '6')
-/**
- * @brief Definition for the TBM surface format YUV444 (non-subsampled Cb (1) and Cr (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YUV444   __tbm_fourcc_code('Y', 'U', '2', '4')
-/**
- * @brief Definition for the TBM surface format YVU444 (non-subsampled Cr (1) and Cb (2) planes).
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-#define TBM_FORMAT_YVU444   __tbm_fourcc_code('Y', 'V', '2', '4')
-
-/* 2 plane YCbCr */
-/**
- * @brief Definition for the TBM surface format NV12MT (tiled '64x32' & multi-plane version of NV12).
- * @since_tizen 3.0 @endif
- */
-#define TBM_FORMAT_NV12MT   __tbm_fourcc_code('T', 'M', '1', '2')
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Queries surface format list and number of format supported by the system.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @remarks You must release the formats using free().
- *
- * @param[out] formats  The format array which the system can support \n
- *                      This pointer has to be freed by user.
- * @param[out] num      The number of formats
- *
- * @return  #TBM_SURFACE_ERROR_NONE if this function succeeds,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_NONE               Success
- * @retval #TBM_SURFACE_ERROR_INVALID_OPERATION  Invalid operation
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   uint32_t *formats;
-   uint32_t format_num;
-   int ret, i;
-
-   if (tbm_surface_query_formats (&formats, &format_num))
-   {
-       for( i = 0 ; i < format_num ; i++)
-       {
-           if (formats[i] == TBM_FORMAT_RGB332)
-           {
-
-   ....
-
-   free (formats);
-   @endcode
- */
-int tbm_surface_query_formats(uint32_t **formats, uint32_t *num);
-
-/**
- * @brief Creates the tbm_surface.
- * @details This function creates the tbm_surface with the given width, height, and format.
- *
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @remark The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
- *
- * @param[in] width   The width of surface
- * @param[in] height  The height of surface
- * @param[in] format  The format of surface
- *
- * @return   #tbm_surface_h on success,
- *           otherwise @c NULL
- *
- * @retval #tbm_surface_h  The TBM surface handle
- *
- * @exception #TBM_SURFACE_ERROR_NONE               Success
- * @exception #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- * @exception #TBM_SURFACE_ERROR_INVALID_OPERATION  Invalid operation
- *
- * @see tbm_surface_destroy()
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-tbm_surface_h tbm_surface_create(int width, int height, tbm_format format);
-
-/**
- * @brief Destroys the tbm_surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in] surface  The #tbm_surface_h
- *
- * @return  #TBM_SURFACE_ERROR_NONE on success,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_NONE               Success
- * @retval #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- *
- * @see tbm_surface_create()
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_destroy(tbm_surface_h surface);
-
-/**
- * @brief Maps the tbm_surface according to the access option.
- * @details After mapping tbm_surface, the information of tbm_surface is assigned in #tbm_surface_info_s struct. \n
- *          The information of tbm_surface has width, height, format, bpp, size, number of planes and information of planes. \n
- *          The information of planes has stride, offset, size and pointer of plane. \n
- *          #TBM_SURF_OPTION_READ indicates access option to read. \n
- *          #TBM_SURF_OPTION_WRITE indicates access option to write.
- *
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in]  surface  The #tbm_surface_h
- * @param[in]  opt      The option to access the tbm_surface
- * @param[out] info     The information of the tbm_surface
- *
- * @return  #TBM_SURFACE_ERROR_NONE on success,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_NONE               Success
- * @retval #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- * @retval #TBM_SURFACE_ERROR_INVALID_OPERATION  Invalid operation
- *
- * @see tbm_surface_unmap();
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-   tbm_surface_info_s info;
-   int ret;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-   ret = tbm_surface_map (surface, TBM_SURF_OPTION_WRITE|TBM_SURF_OPTION_READ, &info);
-
-   ...
-
-   tbm_surface_unmap (surface);
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_map(tbm_surface_h surface, int opt, tbm_surface_info_s *info);
-
-/**
- * @brief Unmaps the tbm_surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in] surface  The #tbm_surface_h
- *
- * @return  #TBM_SURFACE_ERROR_NONE on success,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_NONE               Success
- * @retval #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- *
- * @see tbm_surface_map()
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-   tbm_surface_info_s info;
-   int ret;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-   ret = tbm_surface_map (surface, TBM_SURF_OPTION_WRITE|TBM_SURF_OPTION_READ, &info);
-
-   ...
-
-   tbm_surface_unmap (surface);
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_unmap(tbm_surface_h surface);
-
-/**
- * @brief Gets the information of the tbm_surface.
- * @details The information of tbm_surface is assigned in #tbm_surface_info_s struct. \n
- *          The information of tbm_surface has width, height, format, bpp, size, number of planes and information of planes. \n
- *          The information of planes has stride, offset, size and pointer of plane.
- *
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in]   surface  The #tbm_surface_h
- * @param[out]  info     The information of the tbm_surface
- *
- * @return  #TBM_SURFACE_ERROR_NONE on success,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_NONE               Success
- * @retval #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- * @retval #TBM_SURFACE_ERROR_INVALID_OPERATION  Invalid operation
- *
- * @see tbm_surface_map()
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-   tbm_surface_info_s info;
-   int ret;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-   ret = tbm_surface_get_info (surface, &info);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_get_info(tbm_surface_h surface, tbm_surface_info_s *info);
-
-/**
- * @brief Gets the width of the tbm_surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in] surface  The #tbm_surface_h
- *
- * @return  The width of the tbm_surface on success,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-   int width;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-
-   ...
-
-   width = tbm_surface_get_width (surface);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_get_width(tbm_surface_h surface);
-
-/**
- * @brief Gets the height of the tbm_surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @param[in] surface  The #tbm_surface_h
- *
- * @return  The height of the tbm_surface if this function succeeds,
- *          otherwise an error status value
- *
- * @retval #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_h surface;
-   int height;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-
-   ...
-
-   height = tbm_surface_get_height (surface);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_get_height(tbm_surface_h surface);
-
-/**
- * @brief Gets the format of the tbm_surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- *
- * @remark The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
- *
- * @param[in] surface  The #tbm_surface_h
- *
- * @return  The format of the tbm_surface on success,
- *          otherwise @c 0 on failure
- *
- * @retval #tbm_format  The format of surface
- *
- * @exception #TBM_SURFACE_ERROR_NONE               Success
- * @exception #TBM_SURFACE_ERROR_INVALID_PARAMETER  Invalid parameter
- *
- * @par Example
-   @code
-   #include <tbm_surface.h>
-
-   tbm_surface_s surface;
-   tbm_format format;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_RGB332);
-
-   ...
-
-   format = tbm_surface_get_format (surface);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-tbm_format tbm_surface_get_format(tbm_surface_h surface);
-
-#ifdef __cplusplus
-}
-#endif
-/**
-* @}
-*/
-#endif                                                 /* _TBM_SURFACE_H_ */
diff --git a/utests/stubs/tbm_surface_internal.h b/utests/stubs/tbm_surface_internal.h
deleted file mode 100644 (file)
index 6c85b77..0000000
+++ /dev/null
@@ -1,367 +0,0 @@
-#ifndef _TBM_SURFACE_INTERNAL_H_
-#define _TBM_SURFACE_INTERNAL_H_
-
-#include <tbm_bufmgr.h>
-
-
-/**
- * @brief Queries formats which the system can support.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @remarks The formats must be released using free().
- * @param[in] bufmgr : the buffer manager
- * @param[out] *formats : format array which the system can support. This pointer has to be freed by user.
- * @param[out] num : the number of formats.
- * @return a tbm_surface_h if this function succeeds, otherwise NULL
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   tbm_bufmgr bufmgr;
-   uint32_t *formats;
-   uint32_t format_num;
-
-   bufmgr = tbm_bufmgr_create (-1);
-   ret = tbm_surface_internal_query_surpported_foramts (bufmgr, &formats, &format_num);
-
-   ...
-
-   free (foramts);
-   tbm_surface_bufmgr_deinit (bufmgr);
-   @endcode
- */
-int tbm_surface_internal_query_supported_formats(uint32_t **formats,
-                                                uint32_t *num);
-
-/**
- * @brief Creates the tbm_surface with memory type.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @details
- * #TBM_BO_DEFAULT is default memory: it depends on the backend\n
- * #TBM_BO_SCANOUT is scanout memory\n
- * #TBM_BO_NONCACHABLE is non-cachable memory\n
- * #TBM_BO_WC is write-combine memory\n
- * #TBM_BO_VENDOR vendor specific memory: it depends on the tbm backend\n
- * @param[in] bufmgr : the buffer manager
- * @param[in] width  : the width of surface
- * @param[in] height : the height of surface
- * @param[in] format : the format of surface
- * @param[in] flags  : the flags of memory type
- * @return a tbm_surface_h if this function succeeds, otherwise NULL
- * @retval #tbm_surface_h
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   int bufmgr_fd
-   tbm_bufmgr bufmgr;
-   tbm_surface_h surface;
-   uint32_t *format;
-   uint32_t format_num;
-
-   bufmgr = tbm_bufmgr_create (bufmgr_fd);
-   surface = tbm_surface_internal_create_with_flags (128, 128, TBM_FORMAT_YUV420, TBM_BO_DEFAULT);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   tbm_surface_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_surface_h tbm_surface_internal_create_with_flags(int width, int height,
-                                                    int format, int flags);
-
-/**
- * @brief Creates the tbm_surface with buffer objects.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] bufmgr : the buffer manager
- * @param[in] width  : the width of surface
- * @param[in] height : the height of surface
- * @param[in] format : the format of surface
- * @param[in] *bos   : the array pointer of buffer objects
- * @param[in] num    : the number of buffer objects
- * @return a tbm_surface_h if this function succeeds, otherwise NULL
- * @retval #tbm_surface_h
- * @par Example
-   @code
-   #include <tbm_bufmgr.h>
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   int bufmgr_fd
-   tbm_bufmgr bufmgr;
-   tbm_surface_h surface;
-   tbm_surface_info_s info;
-   uint32_t *format;
-   uint32_t format_num;
-   tbm_bo bo[1];
-
-   bufmgr = tbm_bufmgr_init (bufmgr_fd);
-   bo[0] = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
-
-   info.width = 128;
-   info.height = 128;
-   info.format = TBM_FORMAT_ARGB8888;
-   info.bpp = 32;
-   info.size = 65536;
-   info.num_planes = 1;
-   info.planes[0].size = 65536;
-   info.planes[0].offset = 0;
-   info.planes[0].stride = 512;
-
-   surface = tbm_surface_internal_create_with_bos (&info, bo, 1);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   tbm_surface_bufmgr_deinit (bufmgr);
-   @endcode
- */
-tbm_surface_h tbm_surface_internal_create_with_bos(tbm_surface_info_s *info,
-                                                  tbm_bo *bos, int num);
-
-/**
- * @brief Destroy the tbm surface
-    TODO:
- */
-void tbm_surface_internal_destroy(tbm_surface_h surface);
-
-/**
- * @brief reference the tbm surface
-    TODO:
- */
-void tbm_surface_internal_ref(tbm_surface_h surface);
-
-/**
- * @brief unreference the tbm surface
-    TODO:
- */
-void tbm_surface_internal_unref(tbm_surface_h surface);
-
-/**
- * @brief Gets the number of buffer objects associated with the tbm_surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] surface : the tbm_surface_h
- * @return the number of buffer objects associated with the tbm_surface_h, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   tbm_surface_h surface;
-   int num_bos;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_YUV420);
-   num_bos = tbm_surface_internal_get_num_bos (surface);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_internal_get_num_bos(tbm_surface_h surface);
-
-/**
- * @brief Gets the buffor object by the bo_index.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] surface : the tbm_surface_h
- * @param[in] bo_idx : the bo index in the the tbm_surface
- * @return the buffer object, otherwise NULL.
- * @retval #tbm_bo
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   tbm_surface_h surface;
-   int num_bos;
-   tbm_bo bo;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_YUV420);
-   num_bos = tbm_surface_internal_get_num_bos (surface);
-
-   for (i=0 ; i < num_bos ; i++)
-   {
-       bo = tbm_surface_internal_get_bo (surface, i);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-tbm_bo tbm_surface_internal_get_bo(tbm_surface_h surface, int bo_idx);
-
-/**
- * @brief Gets the size of the surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] surface : the tbm_surface_h
- * @return the size of tbm_surface, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   tbm_surface_h surface;
-   int size;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_YUV420);
-   size = tbm_surface_internal_get_size (surface);
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-unsigned int tbm_surface_internal_get_size(tbm_surface_h surface);
-
-/**
- * @brief Gets size, offset and pitch data of plane by the plane_index.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] surface : the tbm_surface_h
- * @param[in] plane_idx : the bo index in the the tbm_surface
- * @param[out] size : the size of plane in tbm_surface
- * @param[out] offset : the offset of plane in tbm_surface
- * @param[out] pitch : the pitch of plane in tbm_surface
- * @return 1 if this function succeeds, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   tbm_surface_h surface;
-   uint32_t size, offset, pitch;
-   int ret;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_YUV420);
-   ret = tbm_surface_internal_get_plane_data (surface, 1, &size, &offset, &pitch);
-
-   ...
-
-   tbm_surface_destroy (surface);
-   @endcode
- */
-int tbm_surface_internal_get_plane_data(tbm_surface_h surface, int plane_idx,
-                                       uint32_t *size, uint32_t *offset, uint32_t *pitch);
-
-/**
- * @brief Gets number of planes by the format.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] format : the format of surface
- * @return number of planes by the format, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   int num;
-
-   num = tbm_surface_internal_get_num_planes (TBM_FORMAT_YUV420);
-
-   ...
-
-   @endcode
- */
-int tbm_surface_internal_get_num_planes(tbm_format format);
-
-/**
- * @brief Gets bpp by the format.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- * @param[in] format : the format of surface
- * @return bpp by the format, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   int bpp;
-
-   bpp = tbm_surface_internal_get_bpp (TBM_FORMAT_YUV420);
-
-   ...
-
-   @endcode
- */
-int tbm_surface_internal_get_bpp(tbm_format format);
-
-/**
- * @brief Gets bo index of plane.
- * @since_tizen 2.4
- * @param[in] surface : the tbm_surface_h
- * @param[in] plane_idx : the bo index in the tbm_surface
- * @return bo index of plane, otherwise 0.
- * @par Example
-   @code
-   #include <tbm_surface.h>
-   #include <tbm_surface_internal.h>
-
-   int bo_idx;
-   tbm_surface_h surface;
-
-   surface = tbm_surface_create (128, 128, TBM_FORMAT_YUV420);
-   bo_idx = tbm_surface_internal_get_plane_bo_idx (surface, 0);
-
-   ...
-
-   @endcode
- */
-int tbm_surface_internal_get_plane_bo_idx(tbm_surface_h surface, int plane_idx);
-
-/**
- * @brief Set the pid to the tbm_surface for debugging.
- * @since_tizen 3.0
- * @param[in] surface : the tbm_surface_h
- * @param[in] pid : the pid
- */
-void tbm_surface_internal_set_debug_pid(tbm_surface_h surface,
-                                       unsigned int pid);
-
-/**
- * @brief Adds a user_data to the tbm surface.
- * @since_tizen 3.0
- * @param[in] surface : the tbm surface.
- * @param[in] key : the key associated with the user_data
- * @param[in] data_free_func : the function pointer to free the user_data
- * @return 1 if this function succeeds, otherwise 0.
- * @post the tbm_surface_data_free() will be called under certain conditions, after calling tbm_surface_internal_delete_user_data().
- * @see tbm_surface_free()
- * @see tbm_surface_set_user_data()
- * @see tbm_surface_get_user_data()
- * @see tbm_surface_delete_user_data()
- */
-int tbm_surface_internal_add_user_data(tbm_surface_h surface, unsigned long key,
-                                      tbm_data_free data_free_func);
-
-/**
- * @brief Sets a user_date to the tbm surface.
- * @since_tizen 3.0
- * @param[in] surface : the tbm surface.
- * @param[in] key : the key associated with the user_date
- * @param[in] data : a pointer of the user_data
- * @return 1 if this function succeeds, otherwise 0.
- */
-int tbm_surface_internal_set_user_data(tbm_surface_h surface, unsigned long key,
-                                      void *data);
-
-/**
- * @brief Gets a user_data from the tbm surface with the key.
- * @since_tizen 3.0
- * @param[in] surface : the tbm surface.
- * @param[in] key : the key associated with the user_date
- * @param[out] data : to get the user data
- * @return 1 if this function succeeds, otherwise 0.
- */
-int tbm_surface_internal_get_user_data(tbm_surface_h surface, unsigned long key,
-                                      void **data);
-
-/**
- * @brief Deletes the user_data in the tbm surface.
- * @since_tizen 3.0
- * @param[in] surface : the tbm surface.
- * @param[in] key : the key associated with the user_date
- * @return 1 if this function succeeds, otherwise 0.
- */
-int tbm_surface_internal_delete_user_data(tbm_surface_h surface,
-                                         unsigned long key);
-
-void tbm_surface_internal_dump_buffer(tbm_surface_h surface, const char *type);
-
-#endif                                                 /* _TBM_SURFACE_INTERNAL_H_ */
diff --git a/utests/stubs/tbm_surface_queue.h b/utests/stubs/tbm_surface_queue.h
deleted file mode 100644 (file)
index a3216d3..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#ifndef _TBM_SURFACE_QUEUE_H_
-#define _TBM_SURFACE_QUEUE_H_
-
-#include <tbm_surface.h>
-
-typedef enum {
-       TBM_SURFACE_QUEUE_ERROR_NONE = 0,                                         /**< Successful */
-       TBM_SURFACE_QUEUE_ERROR_INVALID_SURFACE = -1,
-       TBM_SURFACE_QUEUE_ERROR_INVALID_QUEUE = -2,
-       TBM_SURFACE_QUEUE_ERROR_EMPTY = -3,
-       TBM_SURFACE_QUEUE_ERROR_INVALID_PARAMETER = -4,
-       TBM_SURFACE_QUEUE_ERROR_SURFACE_ALLOC_FAILED = -5,
-} tbm_surface_queue_error_e;
-
-typedef struct _tbm_surface_queue *tbm_surface_queue_h;
-
-typedef void (*tbm_surface_queue_notify_cb) (tbm_surface_queue_h surface_queue,
-               void *data);
-
-typedef tbm_surface_h (*tbm_surface_alloc_cb) (tbm_surface_queue_h surface_queue,
-               void *data);
-
-typedef void (*tbm_surface_free_cb) (tbm_surface_queue_h surface_queue,
-               void *data, tbm_surface_h surface);
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-tbm_surface_queue_error_e tbm_surface_queue_enqueue(
-               tbm_surface_queue_h surface_queue, tbm_surface_h surface);
-
-tbm_surface_queue_error_e tbm_surface_queue_dequeue(
-               tbm_surface_queue_h surface_queue, tbm_surface_h *surface);
-
-tbm_surface_queue_error_e tbm_surface_queue_release(
-               tbm_surface_queue_h surface_queue, tbm_surface_h surface);
-
-tbm_surface_queue_error_e tbm_surface_queue_acquire(
-               tbm_surface_queue_h surface_queue, tbm_surface_h *surface);
-
-int tbm_surface_queue_can_dequeue(tbm_surface_queue_h surface_queue, int wait);
-
-int tbm_surface_queue_can_acquire(tbm_surface_queue_h surface_queue, int wait);
-
-void tbm_surface_queue_destroy(tbm_surface_queue_h surface_queue);
-
-int tbm_surface_queue_get_width(tbm_surface_queue_h surface_queue);
-
-int tbm_surface_queue_get_height(tbm_surface_queue_h surface_queue);
-
-int tbm_surface_queue_get_format(tbm_surface_queue_h surface_queue);
-
-int tbm_surface_queue_get_size(tbm_surface_queue_h surface_queue);
-
-tbm_surface_queue_error_e tbm_surface_queue_reset(
-               tbm_surface_queue_h surface_queue, int width, int height, int format);
-
-tbm_surface_queue_error_e tbm_surface_queue_flush(tbm_surface_queue_h surface_queue);
-
-tbm_surface_queue_error_e tbm_surface_queue_add_reset_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb reset_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_remove_reset_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb reset_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_add_destroy_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_remove_destroy_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_add_dequeuable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeuable_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_remove_dequeuable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeuable_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_add_acquirable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_remove_acquirable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_set_alloc_cb(
-       tbm_surface_queue_h surface_queue,
-       tbm_surface_alloc_cb alloc_cb,
-       tbm_surface_free_cb free_cb,
-       void *data);
-
-/*The functions of queue factory*/
-tbm_surface_queue_h tbm_surface_queue_create(int queue_size, int width,
-               int height, int format, int flags);
-tbm_surface_queue_h tbm_surface_queue_sequence_create(int queue_size, int width,
-               int height, int format, int flags);
-
-
-/*DEPRECATED apis*/
-tbm_surface_queue_error_e tbm_surface_queue_set_destroy_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb destroy_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_set_dequeuable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb dequeuable_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_set_acquirable_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb acquirable_cb,
-       void *data);
-
-tbm_surface_queue_error_e tbm_surface_queue_set_reset_cb(
-       tbm_surface_queue_h surface_queue, tbm_surface_queue_notify_cb reset_cb,
-       void *data);
-#ifdef __cplusplus
-}
-#endif
-#endif                                                 /* _TBM_SURFACE_H_ */
diff --git a/utests/stubs/tbm_type.h b/utests/stubs/tbm_type.h
deleted file mode 100644 (file)
index ff0a705..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _TBM_TYPE_H_
-#define _TBM_TYPE_H_
-
-/**
- * @addtogroup CAPI_UI_TBM_SURFACE_MODULE
- * @{
- */
-
-#include <stdint.h>
-
-/**
- * @brief Definition for the Tizen buffer surface.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef struct _tbm_surface *tbm_surface_h;
-/**
- * @brief Definition for the Tizen buffer surface format.
- * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
- */
-typedef uint32_t tbm_format;
-
-/**
-* @}
-*/
-
-#endif                                                 /* _TBM_TYPE_H_ */
diff --git a/utests/stubs/tdm_backend_module_subs.cpp b/utests/stubs/tdm_backend_module_subs.cpp
deleted file mode 100644 (file)
index c0a38a7..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "tdm_backend.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct _tdm_backend_module_data {
-       int tmp;
-};
-
-struct _tdm_backend_module_output_data {
-       tdm_caps_output caps;
-};
-
-struct _tdm_backend_module_layer_data {
-       int tmp;
-};
-
-typedef struct _tdm_backend_module_data                tdm_backend_module_data;
-typedef struct _tdm_backend_module_output_data         tdm_backend_module_output_data;
-typedef struct _tdm_backend_module_layer_data  tdm_backend_module_layer_data;
-
-tdm_backend_module_data                backend_module_data;
-tdm_backend_module_output_data         backend_module_output[4];
-tdm_backend_module_layer_data  backend_module_layer;
-
-tdm_error
-tdm_backend_module_creat_output(tdm_backend_module_data *backend_module_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-void
-tdm_backend_module_destroy_output(tdm_backend_module_data *backend_module_data)
-{
-       return;
-}
-
-tdm_error
-tdm_backend_module_creat_layer(tdm_backend_module_data *backend_module_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-void
-tdm_backend_module_destroy_layer(tdm_backend_module_data *backend_module_data)
-{
-}
-
-tdm_error
-backend_module_display_get_pp_capability(tdm_backend_data *bdata, tdm_caps_pp *caps)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_display_get_capability(tdm_backend_data *bdata, tdm_caps_display *caps)
-{
-       caps->max_layer_count = 1;
-       return TDM_ERROR_NONE;
-}
-
-tdm_output**
-backend_module_display_get_outputs(tdm_backend_data *bdata, int *count, tdm_error *error)
-{
-       tdm_output** outputs;
-       *count = 4;
-       outputs = calloc(1, sizeof(tdm_backend_module_output_data*) * (4));
-       outputs[0] = &backend_module_output[0];
-       outputs[1] = &backend_module_output[1];
-       outputs[2] = &backend_module_output[2];
-       outputs[3] = &backend_module_output[3];
-       if (error) *error = TDM_ERROR_NONE;
-       return outputs;
-}
-
-tdm_pp*
-backend_module_display_create_pp(tdm_backend_data *bdata, tdm_error *error)
-{
-       return (tdm_pp*)1;
-}
-
-tdm_error
-backend_module_display_get_capture_capability(tdm_backend_data *bdata, tdm_caps_capture *caps)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_capture*
-backend_module_output_create_capture(tdm_output *output, tdm_error *error)
-{
-       return (tdm_capture*)1;
-}
-tdm_capture*
-backend_module_layer_create_capture(tdm_layer *layer, tdm_error *error)
-{
-       return (tdm_capture*)1;
-}
-
-
-tdm_error
-backend_module_output_get_capability(tdm_output *output, tdm_caps_output *caps)
-{
-
-       tdm_backend_module_output_data *backend_output =  (tdm_backend_module_output_data*)output;
-       memcpy(caps, &backend_output->caps, sizeof(tdm_caps_output));
-
-       return TDM_ERROR_NONE;
-}
-
-tdm_layer**
-backend_module_output_get_layers(tdm_output *output, int *count, tdm_error *error)
-{
-       tdm_layer** layers;
-       *count = 1;
-       layers = calloc(*count, sizeof(tdm_layer));
-       layers[0] = &backend_module_layer;
-       if (error) *error = TDM_ERROR_NONE;
-
-       return layers;
-
-}
-
-tdm_error
-backend_module_output_set_property(tdm_output *output, unsigned int id, tdm_value value)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_get_property(tdm_output *output, unsigned int id, tdm_value *value)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_wait_vblank(tdm_output *output, int interval, int sync, void *user_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_set_vblank_handler(tdm_output *output, tdm_output_vblank_handler func)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_commit(tdm_output *output, int sync, void *user_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_set_commit_handler(tdm_output *output, tdm_output_commit_handler func)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_set_dpms(tdm_output *output, tdm_output_dpms dpms_value)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_get_dpms(tdm_output *output, tdm_output_dpms *dpms_value)
-{
-       *dpms_value = TDM_OUTPUT_DPMS_ON;
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_set_mode(tdm_output *output, const tdm_output_mode *mode)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_output_get_mode(tdm_output *output, const tdm_output_mode **mode)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_get_capability(tdm_layer *layer, tdm_caps_layer *caps)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_set_property(tdm_layer *layer, unsigned int id, tdm_value value)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_get_property(tdm_layer *layer, unsigned int id, tdm_value *value)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_set_info(tdm_layer *layer, tdm_info_layer *info)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_get_info(tdm_layer *layer, tdm_info_layer *info)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_error
-backend_module_layer_unset_buffer(tdm_layer *layer)
-{
-       return TDM_ERROR_NONE;
-}
-
-
-void
-tdm_backend_module_deinit(tdm_backend_data *bdata)
-{
-}
-
-void
-backend_module_pp_destroy(tdm_pp *pp)
-{
-}
-tdm_error
-backend_module_pp_set_info(tdm_pp *pp, tdm_info_pp *info)
-{
-       return TDM_ERROR_NONE;
-}
-tdm_error
-backend_module_pp_attach(tdm_pp *pp, tbm_surface_h src, tbm_surface_h dst)
-{
-       return TDM_ERROR_NONE;
-}
-tdm_error
-backend_module_pp_commit(tdm_pp *pp)
-{
-       return TDM_ERROR_NONE;
-}
-tdm_error
-backend_module_pp_set_done_handler(tdm_pp *pp, tdm_pp_done_handler func, void *user_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-//
-void
-backend_module_capture_destroy(tdm_capture *capture)
-{
-}
-tdm_error
-backend_module_capture_set_info(tdm_capture *capture, tdm_info_capture *info)
-{
-       return TDM_ERROR_NONE;
-}
-tdm_error
-backend_module_capture_attach(tdm_capture *capture, tbm_surface_h buffer)
-{
-       return TDM_ERROR_NONE;
-}
-tdm_error
-backend_module_capture_commit(tdm_capture *capture)
-{
-       return TDM_ERROR_NONE;
-}
-tdm_error
-backend_module_capture_set_done_handler(tdm_capture *capture,
-                                                                         tdm_capture_done_handler func, void *user_data)
-{
-       return TDM_ERROR_NONE;
-}
-
-tdm_backend_data*
-tdm_backend_module_init(tdm_display *dpy, tdm_error *error)
-{
-       tdm_func_display backend_module_func_display;
-       tdm_func_output backend_module_func_output;
-       tdm_func_layer backend_module_func_layer;
-       tdm_func_capture func_capture;
-       tdm_func_pp func_pp;
-
-       tdm_error ret;
-
-       if (!dpy) {
-               if (error) *error = TDM_ERROR_BAD_REQUEST;
-               return NULL;
-       }
-
-       backend_module_output[0].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-       backend_module_output[0].caps.type = TDM_OUTPUT_TYPE_DSI;
-       backend_module_output[1].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-       backend_module_output[1].caps.type = TDM_OUTPUT_TYPE_LVDS;
-       backend_module_output[2].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-       backend_module_output[2].caps.type = TDM_OUTPUT_TYPE_HDMIA;
-       backend_module_output[3].caps.status = TDM_OUTPUT_CONN_STATUS_CONNECTED;
-       backend_module_output[3].caps.type = TDM_OUTPUT_TYPE_HDMIB;
-
-       memset(&backend_module_func_display, 0, sizeof(backend_module_func_display));
-       backend_module_func_display.display_get_pp_capability = backend_module_display_get_pp_capability;
-       backend_module_func_display.display_get_capability = backend_module_display_get_capability;
-       backend_module_func_display.display_get_outputs = backend_module_display_get_outputs;
-       backend_module_func_display.display_get_fd = NULL;
-       backend_module_func_display.display_handle_events = NULL;
-
-       backend_module_func_display.display_create_pp = backend_module_display_create_pp;
-       backend_module_func_display.display_get_capture_capability = backend_module_display_get_capture_capability;
-       backend_module_func_output.output_create_capture = backend_module_output_create_capture;
-       backend_module_func_layer.layer_create_capture = backend_module_layer_create_capture;
-
-
-       memset(&backend_module_func_output, 0, sizeof(backend_module_func_output));
-       backend_module_func_output.output_get_capability = backend_module_output_get_capability;
-       backend_module_func_output.output_get_layers = backend_module_output_get_layers;
-       backend_module_func_output.output_set_property = backend_module_output_set_property;
-       backend_module_func_output.output_get_property = backend_module_output_get_property;
-       backend_module_func_output.output_wait_vblank = backend_module_output_wait_vblank;
-       backend_module_func_output.output_set_vblank_handler = backend_module_output_set_vblank_handler;
-       backend_module_func_output.output_commit = backend_module_output_commit;
-       backend_module_func_output.output_set_commit_handler = backend_module_output_set_commit_handler;
-       backend_module_func_output.output_set_dpms = backend_module_output_set_dpms;
-       backend_module_func_output.output_get_dpms = backend_module_output_get_dpms;
-       backend_module_func_output.output_set_mode = backend_module_output_set_mode;
-       backend_module_func_output.output_get_mode = backend_module_output_get_mode;
-
-       memset(&backend_module_func_layer, 0, sizeof(backend_module_func_layer));
-       backend_module_func_layer.layer_get_capability = backend_module_layer_get_capability;
-       backend_module_func_layer.layer_set_property = backend_module_layer_set_property;
-       backend_module_func_layer.layer_get_property = backend_module_layer_get_property;
-       backend_module_func_layer.layer_set_info = backend_module_layer_set_info;
-       backend_module_func_layer.layer_get_info = backend_module_layer_get_info;
-       backend_module_func_layer.layer_set_buffer = backend_module_layer_set_buffer;
-       backend_module_func_layer.layer_unset_buffer = backend_module_layer_unset_buffer;
-
-       memset(&func_capture, 0, sizeof(tdm_func_capture));
-       func_capture.capture_attach = backend_module_capture_attach;
-       func_capture.capture_commit = backend_module_capture_commit;
-       func_capture.capture_destroy = backend_module_capture_destroy;
-       func_capture.capture_set_done_handler = backend_module_capture_set_done_handler;
-       func_capture.capture_set_info = backend_module_capture_set_info;
-
-
-       memset(&func_pp, 0, sizeof(tdm_func_pp));
-       func_pp.pp_attach = backend_module_pp_attach;
-       func_pp.pp_commit = backend_module_pp_commit;
-       func_pp.pp_destroy = backend_module_pp_destroy;
-       func_pp.pp_set_done_handler = backend_module_pp_set_done_handler;
-       func_pp.pp_set_info = backend_module_pp_set_info;
-
-       ret = tdm_backend_register_func_display(dpy, &backend_module_func_display);
-       ret = tdm_backend_register_func_output(dpy, &backend_module_func_output);
-       ret = tdm_backend_register_func_layer(dpy, &backend_module_func_layer);
-       ret = tdm_backend_register_func_pp(dpy, &func_pp);
-       ret = tdm_backend_register_func_capture(dpy, &func_capture);
-
-       if (error)
-               *error = TDM_ERROR_NONE;
-
-       return (tdm_backend_data*) &backend_module_data;
-}
-
-tdm_backend_module tdm_backend_module_stub = {
-       "backend_module_stub",
-       "Samsung",
-       TDM_BACKEND_ABI_VERSION,
-       tdm_backend_module_init,
-       tdm_backend_module_deinit
-};
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/utests/stubs/tdm_event_loop_stubs.h b/utests/stubs/tdm_event_loop_stubs.h
deleted file mode 100644 (file)
index 4869cda..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef _TDM_EVENT_LOOP_STUBS_H_
-#define _TDM_EVENT_LOOP_STUBS_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <tdm.h>
-#include "tdm_private.h"
-
-static tdm_error
-ut_tdm_event_loop_init(tdm_private_display *private_display)
-{
-       return TDM_ERROR_NONE;
-}
-
-static void
-ut_tdm_event_loop_deinit(tdm_private_display *private_display)
-{
-}
-
-static void
-ut_tdm_event_loop_create_backend_source(tdm_private_display *private_display)
-{
-}
-
-static int
-ut_tdm_event_loop_get_fd(tdm_private_display *private_display)
-{
-       return 1;
-}
-
-static tdm_error
-ut_tdm_event_loop_dispatch(tdm_private_display *private_display)
-{
-       return TDM_ERROR_NONE;
-}
-
-
-static void
-ut_tdm_event_loop_flush(tdm_private_display *private_display)
-{
-}
-
-
-static tdm_event_loop_source *
-ut_tdm_event_loop_add_fd_handler(tdm_display *dpy, int fd, tdm_event_loop_mask mask,
-                                                         tdm_event_loop_fd_handler func, void *user_data,
-                                                         tdm_error *error)
-{
-       return (tdm_event_loop_source*)1;
-}
-
-static tdm_error
-ut_tdm_event_loop_source_fd_update(tdm_event_loop_source *source, tdm_event_loop_mask mask)
-{
-       return TDM_ERROR_NONE;
-}
-
-static tdm_event_loop_source *
-ut_tdm_event_loop_add_timer_handler(tdm_display *dpy, tdm_event_loop_timer_handler func,
-                                                                void *user_data, tdm_error *error)
-{
-       return (tdm_event_loop_source*)1;
-}
-
-static tdm_error
-ut_tdm_event_loop_source_timer_update(tdm_event_loop_source *source, unsigned int ms_delay)
-{
-       return TDM_ERROR_NONE;
-}
-
-static void
-ut_tdm_event_loop_source_remove(tdm_event_loop_source *source)
-{
-}
-
-//--------------
-#define tdm_event_loop_init                            ut_tdm_event_loop_init
-#define tdm_event_loop_deinit                  ut_tdm_event_loop_deinit
-#define tdm_event_loop_create_backend_source ut_tdm_event_loop_create_backend_source
-#define tdm_event_loop_get_fd                  ut_tdm_event_loop_get_fd
-#define tdm_event_loop_dispatch                ut_tdm_event_loop_dispatch
-#define tdm_event_loop_flush                   ut_tdm_event_loop_flush
-#define tdm_event_loop_add_fd_handler  ut_tdm_event_loop_add_fd_handler
-#define tdm_event_loop_source_fd_update ut_tdm_event_loop_source_fd_update
-#define tdm_event_loop_add_timer_handler ut_tdm_event_loop_add_timer_handler
-#define tdm_event_loop_source_timer_update ut_tdm_event_loop_source_timer_update
-#define tdm_event_loop_source_remove   ut_tdm_event_loop_source_remove
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TDM_EVENT_LOOP_STUBS_H_ */
diff --git a/utests/stubs/tdm_log.cpp b/utests/stubs/tdm_log.cpp
deleted file mode 100644 (file)
index 8cb4970..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "tdm_log.h"
-
-void
-tdm_log_enable_color(unsigned int enable)
-{
-       (void)enable;
-}
-
-void
-tdm_log_enable_dlog(unsigned int enable)
-{
-       (void)enable;
-}
-
-void
-tdm_log_enable_debug(unsigned int enable)
-{
-       (void)enable;
-}
-
-void
-tdm_log_set_debug_level(int level)
-{
-       (void)level;
-}
-
-void
-tdm_log_print(int level, const char *fmt, ...)
-{
-       (void)level;
-       (void)fmt;
-}
diff --git a/utests/stubs/tdm_server.cpp b/utests/stubs/tdm_server.cpp
deleted file mode 100644 (file)
index 1ec0b9e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <tdm.h>
-#include "tdm_private.h"
-
-tdm_error
-tdm_server_init(tdm_private_loop *private_loop)
-{
-       (void)private_loop;
-
-       return TDM_ERROR_NONE;
-}
-
-void
-tdm_server_deinit(tdm_private_loop *private_loop)
-{
-       (void)private_loop;
-}
diff --git a/utests/stubs/wayland-server-core.h b/utests/stubs/wayland-server-core.h
deleted file mode 100644 (file)
index 3cd7f6d..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef WAYLAND_SERVER_CORE_H
-#define WAYLAND_SERVER_CORE_H
-
-#include <stdint.h>
-
-static int WL_EVENT_LOOP_ADD_FD_ERROR;
-static int WL_EVENT_SOURCE_FD_UPDATE_ERROR;
-static int WL_EVENT_LOOP_ADD_TIMER_ERROR;
-static int WL_EVENT_SOURCE_TIMER_UPDATE_ERROR;
-static int WL_DISPLAY_CREATE_ERROR;
-
-enum {
-       WL_EVENT_READABLE = 0x01,
-       WL_EVENT_WRITABLE = 0x02,
-       WL_EVENT_HANGUP   = 0x04,
-       WL_EVENT_ERROR    = 0x08
-};
-
-struct wl_interface {
-       int a;
-};
-
-struct wl_interface wl_tdm_interface;
-
-struct wl_interface wl_tdm_vblank_interface;
-
-typedef enum {
-       WL_TDM_ERROR_INVALID_NAME,
-       WL_TDM_ERROR_OPERATION_FAILED
-
-} wl_error;
-
-struct wl_display {
-       int a;
-};
-
-struct wl_tdm_interface {
-       void (*_tdm_server_cb_wait_vblank)(struct wl_client *client,
-                                                          struct wl_resource *resource,
-                                                          uint32_t id, const char *name, int32_t interval);
-};
-
-struct wl_event_loop {
-       int temp;
-};
-
-struct wl_event_source {
-       int temp;
-};
-
-wl_display ut_wl_display;
-wl_event_loop ut_wl_event_loop;
-
-static void wl_display_flush_clients(struct wl_display *display)
-{
-       (void)display;
-}
-
-static struct wl_display *wl_display_create()
-{
-       if (WL_DISPLAY_CREATE_ERROR)
-               return NULL;
-       return &ut_wl_display;
-}
-
-static struct wl_event_loop *wl_display_get_event_loop(struct wl_display *display)
-{
-       (void)display;
-
-       return &ut_wl_event_loop;
-}
-
-static void wl_display_destroy(struct wl_display *display)
-{
-       (void)display;
-}
-
-static int wl_event_loop_get_fd(struct wl_event_loop *loop)
-{
-       (void)loop;
-
-       return 0;
-}
-
-typedef void (*wl_global_bind_func_t)(struct wl_client *client, void *data,
-                                                                         uint32_t version, uint32_t id);
-
-static int wl_event_loop_dispatch(struct wl_event_loop *loop, int timeout)
-{
-       (void)loop;
-       (void)timeout;
-
-       return 0;
-}
-
-typedef int (*wl_event_loop_fd_func_t)(int fd, uint32_t wl_mask, void *data);
-
-struct wl_event_source event_source;
-
-static struct wl_event_source *wl_event_loop_add_fd(struct wl_event_loop *loop,
-                                                                                                       int fd, uint32_t mask,
-                                                                                                       wl_event_loop_fd_func_t func,
-                                                                                                       void *data)
-{
-       (void)loop;
-       (void)fd;
-       (void)mask;
-       (void)func;
-       (void)data;
-
-       if (WL_EVENT_LOOP_ADD_FD_ERROR) {
-               return NULL;
-       }
-
-       return &event_source;
-}
-
-static int wl_event_source_fd_update(struct wl_event_source *source, uint32_t mask)
-{
-       (void)source;
-       (void)mask;
-
-       if (WL_EVENT_SOURCE_FD_UPDATE_ERROR) {
-               return -1;
-       }
-
-       return 1;
-}
-
-typedef int (*wl_event_loop_timer_func_t) (void *data);
-
-static struct wl_event_source *wl_event_loop_add_timer(struct wl_event_loop *loop,
-                                                                                               wl_event_loop_timer_func_t func,
-                                                                                               void *data)
-{
-       (void)loop;
-       (void)func;
-       (void)data;
-
-       if (WL_EVENT_LOOP_ADD_TIMER_ERROR) {
-               return NULL;
-       }
-
-       return &event_source;
-}
-
-static int wl_event_source_timer_update(struct wl_event_source *source, int ms_delay)
-{
-       (void)source;
-       (void)ms_delay;
-
-       if (WL_EVENT_SOURCE_TIMER_UPDATE_ERROR) {
-               return -1;
-       }
-
-       return 1;
-}
-
-static int wl_event_source_remove(struct wl_event_source *source)
-{
-       (void)source;
-
-       return 0;
-}
-
-typedef void (*wl_resource_destroy_func_t) (struct wl_resource *resource);
-
-#endif /* WAYLAND_SERVER_CORE_H */
diff --git a/utests/stubs/wayland-tbm-drm-auth-client-protocol.h b/utests/stubs/wayland-tbm-drm-auth-client-protocol.h
deleted file mode 100644 (file)
index 7175fc8..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef TBM_DRM_AUTH_CLIENT_PROTOCOL_H
-#define TBM_DRM_AUTH_CLIENT_PROTOCOL_H
-
-#include <stdint.h>
-#include <stddef.h>
-
-struct wl_client;
-struct wl_resource;
-
-struct wl_tbm_drm_auth;
-
-extern const struct wl_interface wl_tbm_drm_auth_interface;
-
-struct wl_tbm_drm_auth_listener {
-       void (*authentication_info)(void *data,
-                                   struct wl_tbm_drm_auth *wl_tbm_drm_auth,
-                                   const char *device_name,
-                                   uint32_t capabilities,
-                                   int32_t auth_fd);
-};
-
-static inline int
-wl_tbm_drm_auth_add_listener(struct wl_tbm_drm_auth *wl_tbm_drm_auth,
-                            const struct wl_tbm_drm_auth_listener *listener, void *data)
-{
-       (void)wl_tbm_drm_auth;
-       (void)listener;
-       (void)data;
-
-       return 0;
-}
-
-#define WL_TBM_DRM_AUTH_GET_AUTHENTICATION_INFO        0
-
-static inline void
-wl_tbm_drm_auth_set_user_data(struct wl_tbm_drm_auth *wl_tbm_drm_auth, void *user_data)
-{
-       (void)wl_tbm_drm_auth;
-       (void)user_data;
-}
-
-static inline void *
-wl_tbm_drm_auth_get_user_data(struct wl_tbm_drm_auth *wl_tbm_drm_auth)
-{
-       (void)wl_tbm_drm_auth;
-
-       return NULL;
-}
-
-static inline void
-wl_tbm_drm_auth_destroy(struct wl_tbm_drm_auth *wl_tbm_drm_auth)
-{
-       (void)wl_tbm_drm_auth;
-}
-
-static inline void
-wl_tbm_drm_auth_get_authentication_info(struct wl_tbm_drm_auth *wl_tbm_drm_auth)
-{
-       (void)wl_tbm_drm_auth;
-}
-
-#endif