1 /*
2 * Copyright (c) 2021 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 "audio_internal.h"
17 #include <gmock/gmock.h>
18 #include <gtest/gtest.h>
19
20 using namespace std;
21 using namespace testing::ext;
22 namespace {
23 class AudioAdapterTest : public testing::Test {
24 public:
25 static void SetUpTestCase();
26 static void TearDownTestCase();
27 };
28
SetUpTestCase()29 void AudioAdapterTest::SetUpTestCase()
30 {
31 }
32
TearDownTestCase()33 void AudioAdapterTest::TearDownTestCase()
34 {
35 }
36
37 HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenAdapterIsNull, TestSize.Level0)
38 {
39 struct AudioAdapter *adapter = nullptr;
40 const struct AudioDeviceDescriptor *desc = new AudioDeviceDescriptor;
41 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
42 struct AudioRender *render;
43 int32_t ret = AudioAdapterCreateRender(adapter, desc, attrs, &render);
44 EXPECT_EQ(HDF_FAILURE, ret);
45 delete(desc);
46 desc = nullptr;
47 delete(attrs);
48 attrs = nullptr;
49 }
50
51 HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenDescIsNull, TestSize.Level0)
52 {
53 struct AudioAdapter *adapter = new AudioAdapter;
54 const struct AudioDeviceDescriptor *desc = nullptr;
55 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
56 struct AudioRender *render;
57 int32_t ret = AudioAdapterCreateRender(adapter, desc, attrs, &render);
58 EXPECT_EQ(HDF_FAILURE, ret);
59 delete(adapter);
60 adapter = nullptr;
61 delete(attrs);
62 attrs = nullptr;
63 }
64
65 HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenAttrsIsNull, TestSize.Level0)
66 {
67 struct AudioAdapter *adapter = new AudioAdapter;
68 const struct AudioDeviceDescriptor *desc = new AudioDeviceDescriptor;
69 const struct AudioSampleAttributes *attrs = nullptr;
70 struct AudioRender *render;
71 int32_t ret = AudioAdapterCreateRender(adapter, desc, attrs, &render);
72 EXPECT_EQ(HDF_FAILURE, ret);
73 delete(adapter);
74 adapter = nullptr;
75 delete(desc);
76 desc = nullptr;
77 }
78
79 HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenRenderIsNull, TestSize.Level0)
80 {
81 struct AudioAdapter *adapter = new AudioAdapter;
82 const struct AudioDeviceDescriptor *desc = new AudioDeviceDescriptor;
83 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
84 struct AudioRender **render = nullptr;
85 int32_t ret = AudioAdapterCreateRender(adapter, desc, attrs, render);
86 EXPECT_EQ(HDF_FAILURE, ret);
87 delete(adapter);
88 adapter = nullptr;
89 delete(desc);
90 desc = nullptr;
91 delete(attrs);
92 attrs = nullptr;
93 }
94
95 HWTEST_F(AudioAdapterTest, AudioAdapterCreateRenderWhenParamIsVaild, TestSize.Level0)
96 {
97 struct AudioManager *managerFuncs = GetAudioManagerFuncs();
98 struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor;
99 desc->adapterName = "usb";
100 struct AudioAdapter *adapter;
101 managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
102 struct AudioDeviceDescriptor *desc1 = new AudioDeviceDescriptor;
103 desc1->pins = PIN_OUT_SPEAKER;
104 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
105 struct AudioRender *render;
106 int32_t ret = AudioAdapterCreateRender(adapter, desc1, attrs, &render);
107 EXPECT_EQ(HDF_SUCCESS, ret);
108 delete(desc);
109 desc = nullptr;
110 delete(desc1);
111 desc1 = nullptr;
112 delete(attrs);
113 attrs = nullptr;
114 }
115
116 HWTEST_F(AudioAdapterTest, AudioAdapterDestroyRenderWhenAdapterIsNull, TestSize.Level0)
117 {
118 struct AudioAdapter *adapter = nullptr;
119 struct AudioRender *render = new AudioRender;
120 int32_t ret = AudioAdapterDestroyRender(adapter, render);
121 EXPECT_EQ(HDF_FAILURE, ret);
122 delete(render);
123 render = nullptr;
124 }
125
126 HWTEST_F(AudioAdapterTest, AudioAdapterDestroyRenderWhenRenderIsNull, TestSize.Level0)
127 {
128 struct AudioAdapter *adapter = new AudioAdapter;
129 struct AudioRender *render = nullptr;
130 int32_t ret = AudioAdapterDestroyRender(adapter, render);
131 EXPECT_EQ(HDF_FAILURE, ret);
132 delete(adapter);
133 adapter = nullptr;
134 }
135
136 HWTEST_F(AudioAdapterTest, AudioAdapterDestroyRenderWhenParamIsVaild, TestSize.Level0)
137 {
138 struct AudioAdapter *adapter = new AudioAdapter;
139 struct AudioRender *render = new AudioRender;
140 int32_t ret = AudioAdapterDestroyRender(adapter, render);
141 EXPECT_EQ(HDF_SUCCESS, ret);
142 delete(adapter);
143 adapter = nullptr;
144 delete(render);
145 render = nullptr;
146 }
147
148 HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenAdapterIsNull, TestSize.Level0)
149 {
150 struct AudioAdapter *adapter = nullptr;
151 const struct AudioDeviceDescriptor *desc = new AudioDeviceDescriptor;
152 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
153 struct AudioCapture *capture;
154 int32_t ret = AudioAdapterCreateCapture(adapter, desc, attrs, &capture);
155 EXPECT_EQ(HDF_FAILURE, ret);
156 delete(desc);
157 desc = nullptr;
158 delete(attrs);
159 attrs = nullptr;
160 }
161
162 HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenDescIsNull, TestSize.Level0)
163 {
164 struct AudioAdapter *adapter = new AudioAdapter;
165 const struct AudioDeviceDescriptor *desc = nullptr;
166 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
167 struct AudioCapture *capture;
168 int32_t ret = AudioAdapterCreateCapture(adapter, desc, attrs, &capture);
169 EXPECT_EQ(HDF_FAILURE, ret);
170 delete(adapter);
171 adapter = nullptr;
172 delete(attrs);
173 attrs = nullptr;
174 }
175
176 HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenAttrsIsNull, TestSize.Level0)
177 {
178 struct AudioAdapter *adapter = new AudioAdapter;
179 const struct AudioDeviceDescriptor *desc = new AudioDeviceDescriptor;
180 const struct AudioSampleAttributes *attrs = nullptr;
181 struct AudioCapture *capture;
182 int32_t ret = AudioAdapterCreateCapture(adapter, desc, attrs, &capture);
183 EXPECT_EQ(HDF_FAILURE, ret);
184 delete(adapter);
185 adapter = nullptr;
186 delete(desc);
187 desc = nullptr;
188 }
189
190 HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenCaptureIsNull, TestSize.Level0)
191 {
192 struct AudioAdapter *adapter = new AudioAdapter;
193 const struct AudioDeviceDescriptor *desc = new AudioDeviceDescriptor;
194 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
195 struct AudioCapture **capture = nullptr;
196 int32_t ret = AudioAdapterCreateCapture(adapter, desc, attrs, capture);
197 EXPECT_EQ(HDF_FAILURE, ret);
198 delete(adapter);
199 adapter = nullptr;
200 delete(desc);
201 desc = nullptr;
202 delete(attrs);
203 attrs = nullptr;
204 }
205
206 HWTEST_F(AudioAdapterTest, AudioAdapterCreateCaptureWhenParamIsVaild, TestSize.Level0)
207 {
208 struct AudioManager *managerFuncs = GetAudioManagerFuncs();
209 struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor;
210 desc->adapterName = "usb";
211 struct AudioAdapter *adapter;
212 managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
213 struct AudioDeviceDescriptor *desc1 = new AudioDeviceDescriptor;
214 desc1->pins = PIN_IN_MIC;
215 const struct AudioSampleAttributes *attrs = new AudioSampleAttributes;
216 struct AudioCapture *capture;
217 int32_t ret = AudioAdapterCreateCapture(adapter, desc1, attrs, &capture);
218 EXPECT_EQ(HDF_SUCCESS, ret);
219 delete(desc);
220 desc = nullptr;
221 delete(desc1);
222 desc1 = nullptr;
223 delete(attrs);
224 attrs = nullptr;
225 }
226
227 HWTEST_F(AudioAdapterTest, AudioAdapterDestroyCaptureWhenAdapterIsNull, TestSize.Level0)
228 {
229 struct AudioAdapter *adapter = nullptr;
230 struct AudioCapture *capture = new AudioCapture;
231 int32_t ret = AudioAdapterDestroyCapture(adapter, capture);
232 EXPECT_EQ(HDF_FAILURE, ret);
233 delete(capture);
234 capture = nullptr;
235 }
236
237 HWTEST_F(AudioAdapterTest, AudioAdapterDestroyCaptureWhenCaptureIsNull, TestSize.Level0)
238 {
239 struct AudioAdapter *adapter = new AudioAdapter;
240 struct AudioCapture *capture = nullptr;
241 int32_t ret = AudioAdapterDestroyCapture(adapter, capture);
242 EXPECT_EQ(HDF_FAILURE, ret);
243 delete(adapter);
244 adapter = nullptr;
245 }
246
247 HWTEST_F(AudioAdapterTest, AudioAdapterDestroyCaptureWhenParamIsVaild, TestSize.Level0)
248 {
249 struct AudioAdapter *adapter = new AudioAdapter;
250 struct AudioCapture *capture = new AudioCapture;
251 int32_t ret = AudioAdapterDestroyCapture(adapter, capture);
252 EXPECT_EQ(HDF_SUCCESS, ret);
253 delete(adapter);
254 adapter = nullptr;
255 delete(capture);
256 capture = nullptr;
257 }
258 }
259