haltest/hwc: Remove duplicate code 84/277184/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 1 Jul 2022 08:36:19 +0000 (17:36 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 7 Jul 2022 10:07:16 +0000 (19:07 +0900)
Change-Id: I277f74abb85ecc4eb29e1259a4fde7f67a19d90f

haltests/src/tc_tdm_hwc.cpp

index c8b3210..7917b69 100644 (file)
@@ -504,6 +504,44 @@ TEST_P(TDMHwc, AcceptChangesFailNoHwc)
        }
 }
 
+static bool
+_tc_tdm_hwc_prepare_commit(tdm_hwc *hwc, tdm_hwc_window **hwc_wnds)
+{
+       tdm_error error = TDM_ERROR_NONE;
+       tdm_hwc_window **changed_hwc_window = NULL;
+       tdm_hwc_window_composition *composition_types = NULL;
+       uint32_t num_types;
+       uint32_t get_num = 0;
+
+       for (int w = 0; w < HWC_WIN_NUM; w++) {
+               hwc_wnds[w] = tdm_hwc_create_window(hwc, &error);
+               TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+               error = tdm_hwc_window_set_composition_type(hwc_wnds[w], TDM_HWC_WIN_COMPOSITION_DEVICE);
+               TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+       }
+
+       error = tdm_hwc_validate(hwc, hwc_wnds, HWC_WIN_NUM, &num_types);
+       TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+
+       if (num_types > 0) {
+               changed_hwc_window = (tdm_hwc_window **)calloc(num_types, sizeof(tdm_hwc_window *));
+               composition_types = (tdm_hwc_window_composition *)calloc(num_types, sizeof(tdm_hwc_window_composition));
+
+               get_num = num_types;
+               error = tdm_hwc_get_changed_composition_types(hwc, &get_num, changed_hwc_window, composition_types);
+               TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+               TDM_UT_RETURN_FALSE_IF_FAIL(get_num == num_types);
+
+               error = tdm_hwc_accept_validation(hwc);
+               TDM_UT_RETURN_FALSE_IF_FAIL(error == TDM_ERROR_NONE);
+
+               free(composition_types);
+               free(changed_hwc_window);
+       }
+
+       return true;
+}
+
 TEST_P(TDMHwc, AcceptChangesSuccessful)
 {
        TDM_UT_SKIP_FLAG(has_outputs);
@@ -511,10 +549,6 @@ TEST_P(TDMHwc, AcceptChangesSuccessful)
        tdm_hwc *hwc = NULL;
        tdm_error error = TDM_ERROR_NONE;
        tdm_hwc_window *hwc_wnds[HWC_WIN_NUM];
-       tdm_hwc_window **changed_hwc_window = NULL;
-       tdm_hwc_window_composition *composition_types = NULL;
-       uint32_t num_types;
-       uint32_t get_num = 0;
 
        for (int o = 0; o < output_count; o++) {
                if (tc_tdm_output_is_connected(outputs[o]) == false)
@@ -522,31 +556,7 @@ TEST_P(TDMHwc, AcceptChangesSuccessful)
                EXPECT_EQ(tc_tdm_output_prepare(dpy, outputs[o], true), true);
                hwc = tdm_output_get_hwc(outputs[o], &error);
                if (hwc) {
-                       for (int w = 0; w < HWC_WIN_NUM; w++) {
-                               hwc_wnds[w] = tdm_hwc_create_window(hwc, &error);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-                               error = tdm_hwc_window_set_composition_type(hwc_wnds[w], TDM_HWC_WIN_COMPOSITION_DEVICE);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-                       }
-
-                       error = tdm_hwc_validate(hwc, hwc_wnds, HWC_WIN_NUM, &num_types);
-                       EXPECT_EQ(TDM_ERROR_NONE, error);
-
-                       if (num_types > 0) {
-                               changed_hwc_window = (tdm_hwc_window **)calloc(num_types, sizeof(tdm_hwc_window *));
-                               composition_types = (tdm_hwc_window_composition *)calloc(num_types, sizeof(tdm_hwc_window_composition));
-
-                               get_num = num_types;
-                               error = tdm_hwc_get_changed_composition_types(hwc, &get_num, changed_hwc_window, composition_types);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-                               EXPECT_EQ(get_num, num_types);
-
-                               error = tdm_hwc_accept_validation(hwc);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-
-                               free(composition_types);
-                               free(changed_hwc_window);
-                       }
+                       EXPECT_EQ(_tc_tdm_hwc_prepare_commit(hwc, hwc_wnds), true);
 
                        for (int w = 0; w < HWC_WIN_NUM; w++)
                                tdm_hwc_window_destroy(hwc_wnds[w]);
@@ -572,10 +582,6 @@ TEST_P(TDMHwc, CommitSuccessful)
        tdm_hwc *hwc = NULL;
        tdm_error error = TDM_ERROR_NONE;
        tdm_hwc_window *hwc_wnds[HWC_WIN_NUM];
-       tdm_hwc_window **changed_hwc_window = NULL;
-       tdm_hwc_window_composition *composition_types = NULL;
-       uint32_t num_types;
-       uint32_t get_num = 0;
 
        for (int o = 0; o < output_count; o++) {
                if (tc_tdm_output_is_connected(outputs[o]) == false)
@@ -583,31 +589,7 @@ TEST_P(TDMHwc, CommitSuccessful)
                EXPECT_EQ(tc_tdm_output_prepare(dpy, outputs[o], true), true);
                hwc = tdm_output_get_hwc(outputs[o], &error);
                if (hwc) {
-                       for (int w = 0; w < HWC_WIN_NUM; w++) {
-                               hwc_wnds[w] = tdm_hwc_create_window(hwc, &error);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-                               error = tdm_hwc_window_set_composition_type(hwc_wnds[w], TDM_HWC_WIN_COMPOSITION_DEVICE);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-                       }
-
-                       error = tdm_hwc_validate(hwc, hwc_wnds, HWC_WIN_NUM, &num_types);
-                       EXPECT_EQ(TDM_ERROR_NONE, error);
-
-                       if (num_types > 0) {
-                               changed_hwc_window = (tdm_hwc_window **)calloc(num_types, sizeof(tdm_hwc_window *));
-                               composition_types = (tdm_hwc_window_composition *)calloc(num_types, sizeof(tdm_hwc_window_composition));
-
-                               get_num = num_types;
-                               error = tdm_hwc_get_changed_composition_types(hwc, &get_num, changed_hwc_window, composition_types);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-                               EXPECT_EQ(get_num, num_types);
-
-                               error =  tdm_hwc_accept_validation(hwc);
-                               EXPECT_EQ(TDM_ERROR_NONE, error);
-
-                               free(composition_types);
-                               free(changed_hwc_window);
-                       }
+                       EXPECT_EQ(_tc_tdm_hwc_prepare_commit(hwc, hwc_wnds), true);
 
                        error = tdm_hwc_commit(hwc, 0, _tc_tdm_hwc_commit_cb, NULL);
                        EXPECT_EQ(TDM_ERROR_NONE, error);