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 "effect_common.h"
17 #include "hdf_base.h"
18 #include "hdf_log.h"
19 #include "osal_mem.h"
20 #include "v1_0/effect_types.h"
21 #include "v1_0/ieffect_control.h"
22 #include "v1_0/ieffect_model.h"
23 #include <gtest/gtest.h>
24
25 using namespace std;
26 using namespace testing::ext;
27
28 namespace {
29 constexpr bool IS_DIRECTLY_CALL = false;
30 constexpr uint32_t MAX_DESCRIPTOR_NUM = 20;
31
32 class EffectModelTestAdditional : public testing::Test {
33 public:
34 struct IEffectModel *model_ = nullptr;
35 struct ControllerId controllerId_;
36 virtual void SetUp();
37 virtual void TearDown();
38 };
39
SetUp()40 void EffectModelTestAdditional::SetUp()
41 {
42 model_ = IEffectModelGet(IS_DIRECTLY_CALL);
43 ASSERT_NE(nullptr, model_);
44 }
45
TearDown()46 void EffectModelTestAdditional::TearDown()
47 {
48 if (model_ != nullptr) {
49 IEffectModelRelease(model_, IS_DIRECTLY_CALL);
50 }
51 }
52
53 /**
54 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0100
55 * @tc.name testEffectIsSupplyEffectLibs001
56 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
57 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs001, TestSize.Level2)58 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs001, TestSize.Level2)
59 {
60 int32_t ret = model_->IsSupplyEffectLibs(nullptr, nullptr);
61 EXPECT_EQ(ret, HDF_ERR_INVALID_OBJECT);
62 }
63
64 /**
65 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0200
66 * @tc.name testEffectIsSupplyEffectLibs002
67 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
68 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs002, TestSize.Level2)69 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs002, TestSize.Level2)
70 {
71 int32_t ret;
72 for (int i = 0; i < 50; i++) {
73 ret = model_->IsSupplyEffectLibs(nullptr, nullptr);
74 EXPECT_EQ(ret, HDF_ERR_INVALID_OBJECT);
75 }
76 }
77
78 /**
79 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0300
80 * @tc.name testEffectIsSupplyEffectLibs003
81 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
82 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs003, TestSize.Level1)83 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs003, TestSize.Level1)
84 {
85 bool isSupport = true;
86 EXPECT_EQ(HDF_SUCCESS, model_->IsSupplyEffectLibs(model_, &isSupport));
87 }
88
89 /**
90 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0400
91 * @tc.name testEffectIsSupplyEffectLibs004
92 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
93 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs004, TestSize.Level1)94 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs004, TestSize.Level1)
95 {
96 bool isSupport = true;
97 for (int i = 0; i < 50; i++) {
98 EXPECT_EQ(HDF_SUCCESS, model_->IsSupplyEffectLibs(model_, &isSupport));
99 }
100 }
101
102 /**
103 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0500
104 * @tc.name testEffectIsSupplyEffectLibs005
105 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
106 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs005, TestSize.Level2)107 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs005, TestSize.Level2)
108 {
109 bool isSupport = true;
110 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->IsSupplyEffectLibs(nullptr, &isSupport));
111 }
112
113 /**
114 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0600
115 * @tc.name testEffectIsSupplyEffectLibs006
116 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
117 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs006, TestSize.Level2)118 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs006, TestSize.Level2)
119 {
120 bool isSupport = true;
121 for (int i = 0; i < 50; i++) {
122 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->IsSupplyEffectLibs(nullptr, &isSupport));
123 }
124 }
125
126 /**
127 * @tc.number SUB_Driver_Audio_IsSupplyEffectLibs_0700
128 * @tc.name testEffectIsSupplyEffectLibs007
129 * @tc.desc supply indicates the state whether the vendor/OEM supplies effect libraries.
130 */
HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs007, TestSize.Level1)131 HWTEST_F(EffectModelTestAdditional, testEffectIsSupplyEffectLibs007, TestSize.Level1)
132 {
133 bool isSupport = false;
134 int32_t ret = HDF_SUCCESS;
135 for (int32_t i = 0; i < 1000; i++) {
136 ret = model_->IsSupplyEffectLibs(model_, &isSupport);
137 EXPECT_EQ(ret, HDF_SUCCESS);
138 }
139 }
140
141 /**
142 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0100
143 * @tc.name testEffectGetAllEffectDescriptors001
144 * @tc.desc Get descriptors of all supported audio effects.
145 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors001, TestSize.Level2)146 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors001, TestSize.Level2)
147 {
148 uint32_t descsLen = MAX_DESCRIPTOR_NUM;
149 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, &descsLen));
150 }
151
152 /**
153 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0200
154 * @tc.name testEffectGetAllEffectDescriptors002
155 * @tc.desc Get descriptors of all supported audio effects.
156 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors002, TestSize.Level2)157 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors002, TestSize.Level2)
158 {
159 uint32_t descsLen = MAX_DESCRIPTOR_NUM;
160 for (int i = 0; i < 50; i++) {
161 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, &descsLen));
162 }
163 }
164
165 /**
166 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0300
167 * @tc.name testEffectGetAllEffectDescriptors003
168 * @tc.desc Get descriptors of all supported audio effects.
169 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors003, TestSize.Level2)170 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors003, TestSize.Level2)
171 {
172 struct EffectControllerDescriptor descs[MAX_DESCRIPTOR_NUM];
173 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, descs, nullptr));
174 }
175
176 /**
177 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0400
178 * @tc.name testEffectGetAllEffectDescriptors004
179 * @tc.desc Get descriptors of all supported audio effects.
180 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors004, TestSize.Level2)181 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors004, TestSize.Level2)
182 {
183 struct EffectControllerDescriptor descs[MAX_DESCRIPTOR_NUM];
184 for (int i = 0; i < 50; i++) {
185 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, descs, nullptr));
186 }
187 }
188
189 /**
190 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0500
191 * @tc.name testEffectGetAllEffectDescriptors005
192 * @tc.desc Get descriptors of all supported audio effects.
193 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors005, TestSize.Level2)194 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors005, TestSize.Level2)
195 {
196 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, nullptr));
197 }
198
199 /**
200 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0600
201 * @tc.name testEffectGetAllEffectDescriptors006
202 * @tc.desc Get descriptors of all supported audio effects.
203 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors006, TestSize.Level2)204 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors006, TestSize.Level2)
205 {
206 for (int i = 0; i < 50; i++) {
207 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, nullptr));
208 }
209 }
210
211 /**
212 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0700
213 * @tc.name testEffectGetAllEffectDescriptors007
214 * @tc.desc Get descriptors of all supported audio effects.
215 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors007, TestSize.Level2)216 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors007, TestSize.Level2)
217 {
218 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetAllEffectDescriptors(model_, nullptr, nullptr));
219 }
220
221 /**
222 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0800
223 * @tc.name testEffectGetAllEffectDescriptors008
224 * @tc.desc Get descriptors of all supported audio effects.
225 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors008, TestSize.Level2)226 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors008, TestSize.Level2)
227 {
228 for (int i = 0; i < 50; i++) {
229 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetAllEffectDescriptors(model_, nullptr, nullptr));
230 }
231 }
232
233 /**
234 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_0900
235 * @tc.name testEffectGetAllEffectDescriptors009
236 * @tc.desc Get descriptors of all supported audio effects.
237 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors009, TestSize.Level1)238 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors009, TestSize.Level1)
239 {
240 uint32_t descsLen = 0;
241 struct EffectControllerDescriptor descs[1];
242 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetAllEffectDescriptors(model_, descs, &descsLen));
243 }
244
245 /**
246 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1000
247 * @tc.name testEffectGetAllEffectDescriptors010
248 * @tc.desc Get descriptors of all supported audio effects.
249 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors010, TestSize.Level2)250 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors010, TestSize.Level2)
251 {
252 struct EffectControllerDescriptor descs[0];
253 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, descs, nullptr));
254 }
255
256 /**
257 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1100
258 * @tc.name testEffectGetAllEffectDescriptors011
259 * @tc.desc Get descriptors of all supported audio effects.
260 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors011, TestSize.Level2)261 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors011, TestSize.Level2)
262 {
263 struct EffectControllerDescriptor descs[0];
264 for (int i = 0; i < 50; i++) {
265 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, descs, nullptr));
266 }
267 }
268
269 /**
270 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1200
271 * @tc.name testEffectGetAllEffectDescriptors012
272 * @tc.desc Get descriptors of all supported audio effects.
273 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors012, TestSize.Level2)274 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors012, TestSize.Level2)
275 {
276 struct EffectControllerDescriptor descs[100];
277 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, descs, nullptr));
278 }
279
280 /**
281 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1300
282 * @tc.name testEffectGetAllEffectDescriptors013
283 * @tc.desc Get descriptors of all supported audio effects.
284 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors013, TestSize.Level2)285 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors013, TestSize.Level2)
286 {
287 struct EffectControllerDescriptor descs[100];
288 for (int i = 0; i < 50; i++) {
289 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, descs, nullptr));
290 }
291 }
292
293 /**
294 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1400
295 * @tc.name testEffectGetAllEffectDescriptors014
296 * @tc.desc Get descriptors of all supported audio effects.
297 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors014, TestSize.Level2)298 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors014, TestSize.Level2)
299 {
300 uint32_t descsLen = 0;
301 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, &descsLen));
302 }
303
304 /**
305 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1500
306 * @tc.name testEffectGetAllEffectDescriptors015
307 * @tc.desc Get descriptors of all supported audio effects.
308 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors015, TestSize.Level2)309 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors015, TestSize.Level2)
310 {
311 uint32_t descsLen = 0;
312 for (int i = 0; i < 50; i++) {
313 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, &descsLen));
314 }
315 }
316
317 /**
318 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1600
319 * @tc.name testEffectGetAllEffectDescriptors016
320 * @tc.desc Get descriptors of all supported audio effects.
321 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors016, TestSize.Level2)322 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors016, TestSize.Level2)
323 {
324 uint32_t descsLen = 4294967295;
325 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, &descsLen));
326 }
327
328 /**
329 * @tc.number SUB_Driver_Audio_GetAllEffectDescriptors_1700
330 * @tc.name testEffectGetAllEffectDescriptors017
331 * @tc.desc Get descriptors of all supported audio effects.
332 */
HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors017, TestSize.Level2)333 HWTEST_F(EffectModelTestAdditional, testEffectGetAllEffectDescriptors017, TestSize.Level2)
334 {
335 uint32_t descsLen = 4294967295;
336 for (int i = 0; i < 50; i++) {
337 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetAllEffectDescriptors(nullptr, nullptr, &descsLen));
338 }
339 }
340
341 /**
342 * @tc.number SUB_Driver_Audio_CreateEffectController_0100
343 * @tc.name testEffectCreateEffectController001
344 * @tc.desc Create an effect controller which is used to operate the effect instance.
345 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController001, TestSize.Level2)346 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController001, TestSize.Level2)
347 {
348 struct IEffectControl *controller = NULL;
349 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->CreateEffectController(nullptr, nullptr, &controller, &controllerId_));
350 }
351
352 /**
353 * @tc.number SUB_Driver_Audio_CreateEffectController_0200
354 * @tc.name testEffectCreateEffectController002
355 * @tc.desc Create an effect controller which is used to operate the effect instance.
356 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController002, TestSize.Level2)357 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController002, TestSize.Level2)
358 {
359 struct IEffectControl *controller = NULL;
360 for (int i = 0; i < 50; i++) {
361 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
362 model_->CreateEffectController(nullptr, nullptr, &controller, &controllerId_));
363 }
364 }
365
366 /**
367 * @tc.number SUB_Driver_Audio_CreateEffectController_0300
368 * @tc.name testEffectCreateEffectController003
369 * @tc.desc Create an effect controller which is used to operate the effect instance.
370 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController003, TestSize.Level2)371 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController003, TestSize.Level2)
372 {
373 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->CreateEffectController(model_, nullptr, nullptr, &controllerId_));
374 }
375
376 /**
377 * @tc.number SUB_Driver_Audio_CreateEffectController_0400
378 * @tc.name testEffectCreateEffectController004
379 * @tc.desc Create an effect controller which is used to operate the effect instance.
380 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController004, TestSize.Level2)381 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController004, TestSize.Level2)
382 {
383 for (int i = 0; i < 50; i++) {
384 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->CreateEffectController(model_, nullptr, nullptr, &controllerId_));
385 }
386 }
387
388 /**
389 * @tc.number SUB_Driver_Audio_CreateEffectController_0500
390 * @tc.name testEffectCreateEffectController005
391 * @tc.desc Create an effect controller which is used to operate the effect instance.
392 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController005, TestSize.Level2)393 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController005, TestSize.Level2)
394 {
395 struct IEffectControl *controller = NULL;
396 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->CreateEffectController(model_, nullptr, &controller, nullptr));
397 }
398 /**
399 * @tc.number SUB_Driver_Audio_CreateEffectController_0600
400 * @tc.name testEffectCreateEffectController006
401 * @tc.desc Create an effect controller which is used to operate the effect instance.
402 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController006, TestSize.Level2)403 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController006, TestSize.Level2)
404 {
405 struct IEffectControl *controller = NULL;
406 for (int i = 0; i < 50; i++) {
407 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->CreateEffectController(model_, nullptr, &controller, nullptr));
408 }
409 }
410
411 /**
412 * @tc.number SUB_Driver_Audio_CreateEffectController_0700
413 * @tc.name testEffectCreateEffectController007
414 * @tc.desc Create an effect controller which is used to operate the effect instance.
415 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController007, TestSize.Level1)416 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController007, TestSize.Level1)
417 {
418 struct EffectInfo info = {
419 .libName = strdup("libmock_effect_lib"),
420 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
421 .ioDirection = 1,
422 };
423 struct IEffectControl *controller = NULL;
424 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->CreateEffectController(model_, nullptr, nullptr, &controllerId_));
425 EXPECT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
426 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
427 }
428
429 /**
430 * @tc.number SUB_Driver_Audio_CreateEffectController_0800
431 * @tc.name testEffectCreateEffectController008
432 * @tc.desc Create an effect controller which is used to operate the effect instance.
433 */
HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController008, TestSize.Level1)434 HWTEST_F(EffectModelTestAdditional, testEffectCreateEffectController008, TestSize.Level1)
435 {
436 struct EffectInfo info = {
437 .libName = strdup("libmock_effect_lib"),
438 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
439 .ioDirection = 1,
440 };
441 struct IEffectControl *controller = NULL;
442 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->CreateEffectController(nullptr, nullptr, &controller, &controllerId_));
443 EXPECT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
444 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
445 }
446
447 /**
448 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0100
449 * @tc.name : testGetEffectDescriptor001
450 * @tc.desc : Reliability of function(GetEffectDescriptor)
451 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor001, TestSize.Level1)452 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor001, TestSize.Level1)
453 {
454 struct EffectControllerDescriptor desc;
455
456 EXPECT_EQ(HDF_SUCCESS,
457 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
458 }
459 /**
460 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0200
461 * @tc.name : testGetEffectDescriptor002
462 * @tc.desc : Reliability of function(GetEffectDescriptor)
463 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor002, TestSize.Level2)464 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor002, TestSize.Level2)
465 {
466 struct EffectControllerDescriptor desc;
467
468 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
469 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
470 }
471 /**
472 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0300
473 * @tc.name : testGetEffectDescriptor003
474 * @tc.desc : Reliability of function(GetEffectDescriptor)
475 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor003, TestSize.Level2)476 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor003, TestSize.Level2)
477 {
478 struct EffectControllerDescriptor desc;
479
480 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
481 }
482 /**
483 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0400
484 * @tc.name : testGetEffectDescriptor004
485 * @tc.desc : Reliability of function(GetEffectDescriptor)
486 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor004, TestSize.Level2)487 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor004, TestSize.Level2)
488 {
489 EXPECT_EQ(HDF_ERR_INVALID_PARAM,
490 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), nullptr));
491 }
492 /**
493 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0500
494 * @tc.name : testGetEffectDescriptor005
495 * @tc.desc : Reliability of function(GetEffectDescriptor)
496 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor005, TestSize.Level1)497 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor005, TestSize.Level1)
498 {
499 struct EffectControllerDescriptor desc;
500 int32_t i;
501 for (i = 0; i < 50; i++) {
502 EXPECT_EQ(HDF_SUCCESS,
503 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
504 }
505 }
506 /**
507 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0600
508 * @tc.name : testGetEffectDescriptor006
509 * @tc.desc : Reliability of function(GetEffectDescriptor)
510 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor006, TestSize.Level2)511 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor006, TestSize.Level2)
512 {
513 struct EffectControllerDescriptor desc;
514 int32_t i;
515 for (i = 0; i < 50; i++) {
516 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
517 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
518 }
519 }
520 /**
521 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0700
522 * @tc.name : testGetEffectDescriptor007
523 * @tc.desc : Reliability of function(GetEffectDescriptor)
524 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor007, TestSize.Level2)525 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor007, TestSize.Level2)
526 {
527 struct EffectControllerDescriptor desc;
528 int32_t i;
529 for (i = 0; i < 50; i++) {
530 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
531 }
532 }
533 /**
534 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0800
535 * @tc.name : testGetEffectDescriptor008
536 * @tc.desc : Reliability of function(GetEffectDescriptor)
537 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor008, TestSize.Level2)538 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor008, TestSize.Level2)
539 {
540 int32_t i;
541 for (i = 0; i < 50; i++) {
542 EXPECT_EQ(HDF_ERR_INVALID_PARAM,
543 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), nullptr));
544 }
545 }
546
547 /**
548 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_0900
549 * @tc.name : testGetEffectDescriptor009
550 * @tc.desc : Reliability of function(GetEffectDescriptor)
551 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor009, TestSize.Level2)552 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor009, TestSize.Level2)
553 {
554 struct EffectControllerDescriptor desc;
555
556 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
557 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
558 EXPECT_EQ(HDF_SUCCESS,
559 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
560 }
561 /**
562 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1000
563 * @tc.name : testGetEffectDescriptor010
564 * @tc.desc : Reliability of function(GetEffectDescriptor)
565 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor010, TestSize.Level2)566 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor010, TestSize.Level2)
567 {
568 struct EffectControllerDescriptor desc;
569
570 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
571 EXPECT_EQ(HDF_SUCCESS,
572 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
573 }
574 /**
575 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1100
576 * @tc.name : testGetEffectDescriptor011
577 * @tc.desc : Reliability of function(GetEffectDescriptor)
578 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor011, TestSize.Level2)579 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor011, TestSize.Level2)
580 {
581 struct EffectControllerDescriptor desc;
582
583 EXPECT_EQ(HDF_ERR_INVALID_PARAM,
584 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), nullptr));
585 EXPECT_EQ(HDF_SUCCESS,
586 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
587 }
588 /**
589 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1200
590 * @tc.name : testGetEffectDescriptor012
591 * @tc.desc : Reliability of function(GetEffectDescriptor)
592 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor012, TestSize.Level2)593 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor012, TestSize.Level2)
594 {
595 struct EffectControllerDescriptor desc;
596
597 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
598 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
599 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
600 }
601 /**
602 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1300
603 * @tc.name : testGetEffectDescriptor013
604 * @tc.desc : Reliability of function(GetEffectDescriptor)
605 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor013, TestSize.Level2)606 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor013, TestSize.Level2)
607 {
608 struct EffectControllerDescriptor desc;
609
610 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, &desc));
611 EXPECT_EQ(HDF_ERR_INVALID_PARAM,
612 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), nullptr));
613 }
614 /**
615 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1400
616 * @tc.name : testGetEffectDescriptor014
617 * @tc.desc : Reliability of function(GetEffectDescriptor)
618 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor014, TestSize.Level2)619 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor014, TestSize.Level2)
620 {
621 struct EffectControllerDescriptor desc;
622
623 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, nullptr));
624 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
625 }
626 /**
627 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1500
628 * @tc.name : testGetEffectDescriptor015
629 * @tc.desc : Reliability of function(GetEffectDescriptor)
630 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor015, TestSize.Level2)631 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor015, TestSize.Level2)
632 {
633 struct EffectControllerDescriptor desc;
634
635 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
636 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
637 }
638 /**
639 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1600
640 * @tc.name : testGetEffectDescriptor016
641 * @tc.desc : Reliability of function(GetEffectDescriptor)
642 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor016, TestSize.Level2)643 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor016, TestSize.Level2)
644 {
645 struct EffectControllerDescriptor desc;
646
647 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
648 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, &desc));
649 }
650 /**
651 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1700
652 * @tc.name : testGetEffectDescriptor017
653 * @tc.desc : Reliability of function(GetEffectDescriptor)
654 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor017, TestSize.Level2)655 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor017, TestSize.Level2)
656 {
657 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
658 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
659 }
660 /**
661 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1800
662 * @tc.name : testGetEffectDescriptor018
663 * @tc.desc : Reliability of function(GetEffectDescriptor)
664 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor018, TestSize.Level2)665 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor018, TestSize.Level2)
666 {
667 struct EffectControllerDescriptor desc;
668
669 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
670 int32_t i;
671 for (i = 0; i < 50; i++) {
672 EXPECT_EQ(HDF_SUCCESS,
673 model_->GetEffectDescriptor(model_, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
674 }
675 }
676 /**
677 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_1900
678 * @tc.name : testGetEffectDescriptor019
679 * @tc.desc : Reliability of function(GetEffectDescriptor)
680 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor019, TestSize.Level2)681 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor019, TestSize.Level2)
682 {
683 struct EffectControllerDescriptor desc;
684
685 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
686 int32_t i;
687 for (i = 0; i < 50; i++) {
688 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
689 }
690 }
691
692 /**
693 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2000
694 * @tc.name : testGetEffectDescriptor020
695 * @tc.desc : Reliability of function(GetEffectDescriptor)
696 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor020, TestSize.Level2)697 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor020, TestSize.Level2)
698 {
699 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
700 int32_t i;
701 for (i = 0; i < 50; i++) {
702 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
703 }
704 }
705
706 /**
707 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2100
708 * @tc.name : testGetEffectDescriptor021
709 * @tc.desc : Reliability of function(GetEffectDescriptor)
710 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor021, TestSize.Level2)711 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor021, TestSize.Level2)
712 {
713 struct EffectControllerDescriptor desc;
714
715 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
716 int32_t i;
717 for (i = 0; i < 50; i++) {
718 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
719 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), &desc));
720 }
721 }
722
723 /**
724 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2200
725 * @tc.name : testGetEffectDescriptor022
726 * @tc.desc : Reliability of function(GetEffectDescriptor)
727 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor022, TestSize.Level2)728 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor022, TestSize.Level2)
729 {
730 struct EffectControllerDescriptor desc;
731
732 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
733 int32_t i;
734 for (i = 0; i < 50; i++) {
735 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, &desc));
736 }
737 }
738 /**
739 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2300
740 * @tc.name : testGetEffectDescriptor023
741 * @tc.desc : Reliability of function(GetEffectDescriptor)
742 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor023, TestSize.Level2)743 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor023, TestSize.Level2)
744 {
745 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
746 int32_t i;
747 for (i = 0; i < 50; i++) {
748 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
749 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), nullptr));
750 }
751 }
752 /**
753 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2400
754 * @tc.name : testGetEffectDescriptor024
755 * @tc.desc : Reliability of function(GetEffectDescriptor)
756 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor024, TestSize.Level2)757 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor024, TestSize.Level2)
758 {
759 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
760 int32_t i;
761 for (i = 0; i < 50; i++) {
762 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, nullptr));
763 }
764 }
765 /**
766 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2500
767 * @tc.name : testGetEffectDescriptor025
768 * @tc.desc : Reliability of function(GetEffectDescriptor)
769 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor025, TestSize.Level2)770 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor025, TestSize.Level2)
771 {
772 struct EffectControllerDescriptor desc;
773
774 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, &desc));
775 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
776 EXPECT_EQ(HDF_ERR_INVALID_OBJECT,
777 model_->GetEffectDescriptor(nullptr, strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"), nullptr));
778 }
779 /**
780 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2600
781 * @tc.name : testGetEffectDescriptor026
782 * @tc.desc : Reliability of function(GetEffectDescriptor)
783 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor026, TestSize.Level2)784 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor026, TestSize.Level2)
785 {
786 struct EffectControllerDescriptor desc;
787
788 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, &desc));
789 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, &desc));
790 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
791 }
792 /**
793 * @tc.number : SUB_Driver_Audio_GetEffectDescriptor_2700
794 * @tc.name : testGetEffectDescriptor027
795 * @tc.desc : Reliability of function(GetEffectDescriptor)
796 */
HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor027, TestSize.Level2)797 HWTEST_F(EffectModelTestAdditional, testGetEffectDescriptor027, TestSize.Level2)
798 {
799 struct EffectControllerDescriptor desc;
800
801 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, &desc));
802 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->GetEffectDescriptor(nullptr, nullptr, nullptr));
803 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->GetEffectDescriptor(model_, nullptr, nullptr));
804 }
805 /**
806 * @tc.number : SUB_Driver_Audio_DestroyEffectController_0100
807 * @tc.name : testAudioDestroyEffectController001
808 * @tc.desc : Reliability of function(DestroyEffectController)
809 */
HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController001, TestSize.Level2)810 HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController001, TestSize.Level2)
811 {
812 struct EffectInfo info = {
813 .libName = strdup("libmock_effect_lib"),
814 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
815 .ioDirection = 1,
816 };
817
818 struct IEffectControl *controller = NULL;
819 ASSERT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
820 ASSERT_NE(controller, nullptr);
821 int32_t i;
822 for (i = 0; i < 50; i++) {
823 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->DestroyEffectController(nullptr, &controllerId_));
824 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->DestroyEffectController(model_, nullptr));
825 }
826 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
827 }
828 /**
829 * @tc.number : SUB_Driver_Audio_DestroyEffectController_0200
830 * @tc.name : testAudioDestroyEffectController002
831 * @tc.desc : Reliability of function(DestroyEffectController)
832 */
HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController002, TestSize.Level1)833 HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController002, TestSize.Level1)
834 {
835 struct EffectInfo info = {
836 .libName = strdup("libmock_effect_lib"),
837 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
838 .ioDirection = 1,
839 };
840
841 struct IEffectControl *controller = NULL;
842 ASSERT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
843 ASSERT_NE(controller, nullptr);
844 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
845 }
846 /**
847 * @tc.number : SUB_Driver_Audio_DestroyEffectController_0300
848 * @tc.name : testAudioDestroyEffectController003
849 * @tc.desc : Reliability of function(DestroyEffectController)
850 */
HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController003, TestSize.Level1)851 HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController003, TestSize.Level1)
852 {
853 struct EffectInfo info = {
854 .libName = strdup("libmock_effect_lib"),
855 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
856 .ioDirection = 1,
857 };
858
859 struct IEffectControl *controller = NULL;
860 int32_t i;
861 for (i = 0; i < 50; i++) {
862 ASSERT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
863 ASSERT_NE(controller, nullptr);
864 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
865 }
866 }
867 /**
868 * @tc.number : SUB_Driver_Audio_DestroyEffectController_0400
869 * @tc.name : testAudioDestroyEffectController004
870 * @tc.desc : Reliability of function(DestroyEffectController)
871 */
HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController004, TestSize.Level2)872 HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController004, TestSize.Level2)
873 {
874 struct EffectInfo info = {
875 .libName = strdup("libmock_effect_lib"),
876 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
877 .ioDirection = 1,
878 };
879
880 struct IEffectControl *controller = NULL;
881 ASSERT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
882 ASSERT_NE(controller, nullptr);
883
884 EXPECT_EQ(HDF_ERR_INVALID_OBJECT, model_->DestroyEffectController(nullptr, &controllerId_));
885 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
886 }
887 /**
888 * @tc.number : SUB_Driver_Audio_DestroyEffectController_0500
889 * @tc.name : testAudioDestroyEffectController005
890 * @tc.desc : Reliability of function(DestroyEffectController)
891 */
HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController005, TestSize.Level2)892 HWTEST_F(EffectModelTestAdditional, testAudioDestroyEffectController005, TestSize.Level2)
893 {
894 struct EffectInfo info = {
895 .libName = strdup("libmock_effect_lib"),
896 .effectId = strdup("aaaabbbb-8888-9999-6666-aabbccdd9966ff"),
897 .ioDirection = 1,
898 };
899
900 struct IEffectControl *controller = NULL;
901 ASSERT_EQ(HDF_SUCCESS, model_->CreateEffectController(model_, &info, &controller, &controllerId_));
902 ASSERT_NE(controller, nullptr);
903
904 EXPECT_EQ(HDF_ERR_INVALID_PARAM, model_->DestroyEffectController(model_, nullptr));
905 EXPECT_EQ(HDF_SUCCESS, model_->DestroyEffectController(model_, &controllerId_));
906 }
907 } // end of namespace
908