}
}
+
+/* tdm_hwc_get_video_available_properties() */
+TEST_P(TDMHwc, GetAvailableVideoPropertiesFailNull)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ const tdm_prop *props;
+ int count;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_get_video_available_properties(NULL, &props, &count);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+
+ error = tdm_hwc_get_video_available_properties(hwc, NULL, &count);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+
+ error = tdm_hwc_get_video_available_properties(hwc, &props, NULL);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ } else {
+ error = tdm_hwc_get_video_available_properties(hwc, &props, &count);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
+TEST_P(TDMHwc, GetAvailableVideoPropertiesSuccess)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ const tdm_prop *props;
+ int count;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_get_video_available_properties(hwc, &props, &count);
+ ASSERT_TRUE(TDM_ERROR_NONE == error || TDM_ERROR_NOT_IMPLEMENTED == error);
+ } else {
+ error = tdm_hwc_get_video_available_properties(hwc, &props, &count);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
+/* tdm_hwc_get_capabilities() */
+TEST_P(TDMHwc, GetAvailableCapabilitiesFailNull)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ tdm_hwc_capability hwc_caps;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_get_capabilities(NULL, &hwc_caps);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+
+ error = tdm_hwc_get_capabilities(hwc, NULL);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ } else {
+ error = tdm_hwc_get_capabilities(hwc, &hwc_caps);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
+TEST_P(TDMHwc, GetAvailableCapabilitiesSuccess)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ tdm_hwc_capability hwc_caps;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_get_capabilities(hwc, &hwc_caps);
+ ASSERT_TRUE(TDM_ERROR_NONE == error || TDM_ERROR_NOT_IMPLEMENTED == error);
+ } else {
+ error = tdm_hwc_get_capabilities(hwc, &hwc_caps);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
/* tdm_hwc_get_available_properties() */
TEST_P(TDMHwc, GetAvailablePropertiesFailNullWin)
{
}
}
+/* tdm_hwc_set_property() */
+TEST_P(TDMHwc, SetPropertyFailNull)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ tdm_value value;
+
+ value.u32 = 0;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_set_property(NULL, 0, value);
+ ASSERT_EQ(TDM_ERROR_INVALID_PARAMETER, error);
+ } else {
+ error = tdm_hwc_set_property(hwc, 0, value);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
+TEST_P(TDMHwc, SetPropertySuccess)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ const tdm_prop *props;
+ int count;
+ tdm_value value;
+
+ value.u32 = 0;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_get_available_properties(hwc, &props, &count);
+ ASSERT_TRUE(TDM_ERROR_NONE == error || TDM_ERROR_NOT_IMPLEMENTED == error);
+
+ if (count == 0) {
+ error = tdm_hwc_set_property(hwc, 0, value);
+ ASSERT_TRUE(TDM_ERROR_NONE == error || TDM_ERROR_NOT_IMPLEMENTED == error);
+ } else {
+ error = tdm_hwc_set_property(hwc, props[0].id, value);
+ ASSERT_EQ(TDM_ERROR_NONE, error);
+ }
+ } else {
+ error = tdm_hwc_set_property(hwc, 0, value);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
+/* tdm_hwc_get_property() */
+TEST_P(TDMHwc, GetPropertyFailNull)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ tdm_value value;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+ if (hwc) {
+ error = tdm_hwc_get_property(NULL, 0, &value);
+ ASSERT_EQ(TDM_ERROR_INVALID_PARAMETER, error);
+ } else {
+ error = tdm_hwc_get_property(hwc, 0, &value);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
+TEST_P(TDMHwc, GetPropertySuccess)
+{
+ TDM_UT_SKIP_FLAG(has_outputs);
+
+ tdm_hwc *hwc = NULL;
+ tdm_error error = TDM_ERROR_NONE;
+ const tdm_prop *props;
+ int count;
+ tdm_value value;
+
+ for (int o = 0; o < output_count; o++) {
+ hwc = tdm_output_get_hwc(outputs[o], &error);
+
+ if (hwc) {
+ error = tdm_hwc_get_available_properties(hwc, &props, &count);
+ ASSERT_TRUE(TDM_ERROR_NONE == error || TDM_ERROR_NOT_IMPLEMENTED == error);
+
+ if (count == 0) {
+ error = tdm_hwc_get_property(hwc, 0, &value);
+ ASSERT_TRUE(TDM_ERROR_NONE == error || TDM_ERROR_NOT_IMPLEMENTED == error);
+ } else {
+ error = tdm_hwc_get_property(hwc, props[0].id, &value);
+ ASSERT_EQ(TDM_ERROR_NONE, error);
+ }
+ } else {
+ error = tdm_hwc_get_property(hwc, 0, &value);
+ ASSERT_NE(TDM_ERROR_NONE, error);
+ }
+ }
+}
+
#ifdef TDM_UT_TEST_WITH_PARAMS
INSTANTIATE_TEST_CASE_P(TDMHwcParams,
TDMHwc,
Values(TDM_DEFAULT_MODULE));
#endif
-/* LCOV_EXCL_END */
\ No newline at end of file
+/* LCOV_EXCL_END */