tc: add tcs for tbm_surface_internal_export/import 71/258171/1
authorSooChan Lim <sc1.lim@samsung.com>
Mon, 10 May 2021 12:50:14 +0000 (21:50 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 10 May 2021 12:50:14 +0000 (21:50 +0900)
Change-Id: Id65e71408a5a165db99d693325f118c2d22c54b0

haltests/tc_tbm_surface_internal.cpp

index ceacb27..c8e98e8 100644 (file)
@@ -682,4 +682,72 @@ TEST_F(TBMSurfaceInternal, DeleteUserDataSuccess)
        EXPECT_EQ(tbm_data_free_is_called, 1);
        EXPECT_EQ(tbm_surface_internal_set_user_data(surface, key_ud, &tbm_data_free_is_called), 0);
        EXPECT_STREQ(tbm_error_str(tbm_get_last_error()), tbm_error_str(TBM_ERROR_INVALID_PARAMETER));
-}
\ No newline at end of file
+}
+
+TEST_F(TBMSurfaceInternal, ExportNegative_InvalidParameters)
+{
+       tbm_error_e error = TBM_ERROR_NONE;
+
+       // invalid surface test
+       EXPECT_EQ(tbm_surface_internal_export(invalid_surface, &error), nullptr);
+       EXPECT_STREQ(tbm_error_str(error), tbm_error_str(TBM_ERROR_INVALID_PARAMETER));
+}
+
+TEST_F(TBMSurfaceInternal, ExportPositive_Success)
+{
+       tbm_error_e error = TBM_ERROR_NONE;
+       tbm_surface_buffer_data *buffer_data = NULL;
+       unsigned int i;
+
+       EXPECT_NE((buffer_data = tbm_surface_internal_export(surface, &error)), nullptr);
+       EXPECT_STREQ(tbm_error_str(error), tbm_error_str(TBM_ERROR_NONE));
+
+       // verify the member variables of tbm_surface_buffer_data
+       if (buffer_data) {
+               EXPECT_GT(buffer_data->num_fds, 0);
+               for (i = 0; i < buffer_data->num_fds; i++) {
+                       EXPECT_GT(buffer_data->fds[i], -1);
+               }
+       }
+}
+
+TEST_F(TBMSurfaceInternal, ImportNegative_InvalidParameters)
+{
+       tbm_error_e error = TBM_ERROR_NONE;
+       tbm_surface_h surface1 = NULL;
+
+       EXPECT_EQ((surface1 = tbm_surface_internal_import(NULL, NULL, &error)), nullptr);
+       EXPECT_STREQ(tbm_error_str(error), tbm_error_str(TBM_ERROR_INVALID_PARAMETER));
+}
+
+TEST_F(TBMSurfaceInternal, ImportPositive_Success)
+{
+       tbm_error_e error = TBM_ERROR_NONE;
+       tbm_surface_buffer_data *buffer_data = NULL;
+       tbm_surface_info_s surface_info;
+       tbm_surface_h surface1 = NULL;
+       unsigned int i;
+
+       // export surface_data
+       EXPECT_NE((buffer_data = tbm_surface_internal_export(surface, &error)), nullptr);
+       EXPECT_STREQ(tbm_error_str(error), tbm_error_str(TBM_ERROR_NONE));
+
+       // verify the member variables of tbm_surface_buffer_data
+       if (buffer_data) {
+               EXPECT_GT(buffer_data->num_fds, 0);
+               for (i = 0; i < buffer_data->num_fds; i++) {
+                       EXPECT_GT(buffer_data->fds[i], -1);
+               }
+       }
+
+       // get surface_info
+       error = (tbm_error_e)tbm_surface_get_info(surface, &surface_info);
+       EXPECT_EQ(TBM_SURFACE_ERROR_NONE, error);
+       EXPECT_STREQ(tbm_error_str(error), tbm_error_str(TBM_ERROR_NONE));
+
+       // import surface_data
+       EXPECT_NE((surface1 = tbm_surface_internal_import(&surface_info, buffer_data, &error)), nullptr);
+       EXPECT_STREQ(tbm_error_str(error), tbm_error_str(TBM_ERROR_NONE));
+
+       tbm_surface_internal_destroy(surface1);
+}