1 /* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include <iostream> 17 #include <gtest/gtest.h> 18 #include "plugin_manager.h" 19 #include "video_processing_engine.h" 20 #include "vpe_errors.h" 21 22 using namespace std; 23 using namespace testing::ext; 24 25 namespace OHOS { 26 namespace Media { 27 namespace VideoProcessingEngine { 28 class VPEFrameworkUnitTest : public testing::Test { 29 public: SetUpTestCase(void)30 static void SetUpTestCase(void) {}; TearDownTestCase(void)31 static void TearDownTestCase(void) {}; SetUp()32 void SetUp() {}; TearDown()33 void TearDown() {}; 34 }; 35 36 /** 37 * tc.number desc 38 * |01|01|01| 39 * ClassNo ------| | |------ FuncTestNo 40 * | 41 * FuncNo 42 */ 43 44 /** 45 * @tc.number : 010101 46 * @tc.name : PluginManager_Init 47 * @tc.desc : Test for PluginManager Init 48 */ 49 HWTEST_F(VPEFrameworkUnitTest, PluginManager_Init_010101, TestSize.Level1) 50 { 51 std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>(); 52 ASSERT_EQ(VPE_ERR_OK, pluginManager->Init()); 53 } 54 55 /** 56 * @tc.number : 010201 57 * @tc.name : PluginManager_FindColorSpaceConverterPlugin 58 * @tc.desc : Test for PluginManager FindColorSpaceConverterPlugin 59 */ 60 HWTEST_F(VPEFrameworkUnitTest, PluginManager_FindColorSpaceConverterPlugin_010201, TestSize.Level1) 61 { 62 std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>(); 63 ASSERT_EQ(VPE_ERR_OK, pluginManager->Init()); 64 65 ColorSpaceDescription inputDesc = {}, outputDesc = {}; 66 auto ret = pluginManager->FindColorSpaceConverterPlugin(inputDesc, outputDesc); 67 std::cout << "Find plugin " << (ret == nullptr ? "false" : "successfully"); 68 } 69 70 /** 71 * @tc.number : 010301 72 * @tc.name : PluginManager_FindColorSpaceConverterDisplayPlugin 73 * @tc.desc : Test for PluginManager FindColorSpaceConverterDisplayPlugin 74 */ 75 HWTEST_F(VPEFrameworkUnitTest, PluginManager_FindColorSpaceConverterDisplayPlugin_010301, TestSize.Level1) 76 { 77 std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>(); 78 ASSERT_EQ(VPE_ERR_OK, pluginManager->Init()); 79 80 auto ret = pluginManager->FindColorSpaceConverterDisplayPlugin(); 81 std::cout << "Find plugin " << (ret.empty() ? "false" : "successfully") << endl; 82 } 83 84 /** 85 * @tc.number : 010401 86 * @tc.name : PluginManager_FindMetadataGeneratorPlugin 87 * @tc.desc : Test for PluginManager FindMetadataGeneratorPlugin 88 */ 89 HWTEST_F(VPEFrameworkUnitTest, PluginManager_FindMetadataGeneratorPlugin_010401, TestSize.Level1) 90 { 91 std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>(); 92 ASSERT_EQ(VPE_ERR_OK, pluginManager->Init()); 93 94 ColorSpaceDescription inputDesc = {}; 95 auto ret = pluginManager->FindMetadataGeneratorPlugin(inputDesc); 96 std::cout << "Find plugin " << (ret == nullptr ? "false" : "successfully") << endl; 97 } 98 99 /** 100 * @tc.number : 020101 101 * @tc.name : VideoProcessingEngine_CreateColorSpaceConverter 102 * @tc.desc : Test for VideoProcessingEngine CreateColorSpaceConverter 103 */ 104 HWTEST_F(VPEFrameworkUnitTest, VideoProcessingEngine_CreateColorSpaceConverter_020101, TestSize.Level1) 105 { 106 int ret = 0; 107 auto &vpe = VideoProcessingEngine::GetInstance(); 108 109 ColorSpaceDescription inputDesc = {}, outputDesc = {}; 110 auto impl = vpe.CreateColorSpaceConverter(inputDesc, outputDesc); 111 if (impl == nullptr) { 112 ret = -1; 113 } 114 cout << "Create ColorSpaceConverter " << (impl == nullptr ? "failed" : "successfully") << endl; 115 EXPECT_EQ(ret, 0); 116 } 117 118 /** 119 * @tc.number : 020201 120 * @tc.name : VideoProcessingEngine_CreateColorSpaceConverterDisplay 121 * @tc.desc : Test for VideoProcessingEngine CreateColorSpaceConverterDisplay 122 */ 123 HWTEST_F(VPEFrameworkUnitTest, VideoProcessingEngine_CreateColorSpaceConverterDisplay_020201, TestSize.Level1) 124 { 125 int ret = 0; 126 auto &vpe = VideoProcessingEngine::GetInstance(); 127 128 auto ret = vpe.CreateColorSpaceConverterDisplay(); 129 if (ret.empty()) { 130 ret = -1; 131 } 132 cout << "Create CreateColorSpaceConverterDisplay " << (ret.empty() ? "failed" : "successfully") << endl; 133 EXPECT_EQ(ret, 0); 134 } 135 136 /** 137 * @tc.number : 020301 138 * @tc.name : VideoProcessingEngine_CreateMetadataGenerator 139 * @tc.desc : Test for VideoProcessingEngine CreateMetadataGenerator 140 */ 141 HWTEST_F(VPEFrameworkUnitTest, VideoProcessingEngine_CreateMetadataGenerator_020301, TestSize.Level1) 142 { 143 int ret = 0; 144 auto &vpe = VideoProcessingEngine::GetInstance(); 145 146 ColorSpaceDescription inputDesc = {}; 147 auto impl = vpe.CreateMetadataGenerator(inputDesc); 148 if (impl == nullptr) { 149 ret = -1; 150 } 151 cout << "Create CreateMetadataGenerator " << (impl == nullptr ? "failed" : "successfully") << endl; 152 EXPECT_EQ(ret, 0); 153 } 154 } // namespace VideoProcessingEngine 155 } // namespace Media 156 } // namespace OHOS