• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  *
4  * HDF is dual licensed: you can use it either under the terms of
5  * the GPL, or the BSD license, at your option.
6  * See the LICENSE file in the root of this repository for complete details.
7  */
8 
9 #include "audio_platform_base_test.h"
10 #include "audio_stream_dispatch.h"
11 #include "audio_platform_base.h"
12 #include "audio_driver_log.h"
13 
14 #define HDF_LOG_TAG audio_dsp_base_test
15 
PlatformDataFromCardTest(void)16 int32_t PlatformDataFromCardTest(void)
17 {
18     struct AudioCard card;
19     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
20 
21     if (PlatformDataFromCard(NULL) != NULL) {
22         return HDF_FAILURE;
23     }
24 
25     if (PlatformDataFromCard(&card) != NULL) {
26         return HDF_FAILURE;
27     }
28     return HDF_SUCCESS;
29 }
30 
AudioBytesToFramesTest(void)31 int32_t AudioBytesToFramesTest(void)
32 {
33     if (AudioBytesToFrames(0, 0) != 0) {
34         return HDF_FAILURE;
35     }
36 
37     if (AudioBytesToFrames(1, 1) != 1) {
38         return HDF_FAILURE;
39     }
40     return HDF_SUCCESS;
41 }
42 
AudioDataBigEndianChangeTest(void)43 int32_t AudioDataBigEndianChangeTest(void)
44 {
45     const int dataLen = 96; // test data lenth
46     char test[dataLen];
47     (void)memset_s(test, dataLen, 1, dataLen);
48 
49     if (AudioDataBigEndianChange(NULL, 0, 0) == HDF_SUCCESS) {
50         return HDF_FAILURE;
51     }
52 
53     if (AudioDataBigEndianChange(test, dataLen, DATA_BIT_WIDTH8) != HDF_SUCCESS) {
54         return HDF_FAILURE;
55     }
56 
57     if (AudioDataBigEndianChange(test, dataLen, DATA_BIT_WIDTH24) != HDF_SUCCESS) {
58         return HDF_FAILURE;
59     }
60 
61     if (AudioDataBigEndianChange(test, dataLen, DATA_BIT_WIDTH16) != HDF_SUCCESS) {
62         return HDF_FAILURE;
63     }
64 
65     return HDF_SUCCESS;
66 }
67 
AudioFramatToBitWidthTest(void)68 int32_t AudioFramatToBitWidthTest(void)
69 {
70     unsigned int bitWidth = 0;
71 
72     if (AudioFramatToBitWidth(1, NULL) == HDF_SUCCESS) {
73         return HDF_FAILURE;
74     }
75 
76     if (AudioFramatToBitWidth(AUDIO_FORMAT_PCM_16_BIT, &bitWidth) != HDF_SUCCESS) {
77         return HDF_FAILURE;
78     }
79 
80     if (bitWidth != DATA_BIT_WIDTH16) {
81         return HDF_FAILURE;
82     }
83 
84     bitWidth = 0;
85     if (AudioFramatToBitWidth(AUDIO_FORMAT_PCM_24_BIT, &bitWidth) != HDF_SUCCESS) {
86         return HDF_FAILURE;
87     }
88 
89     if (bitWidth != DATA_BIT_WIDTH24) {
90         return HDF_FAILURE;
91     }
92 
93     if (AudioFramatToBitWidth(AUDIO_FORMAT_AAC_HE_V1, &bitWidth) == HDF_SUCCESS) {
94         return HDF_FAILURE;
95     }
96 
97     return HDF_SUCCESS;
98 }
99 
AudioSetPcmInfoTest(void)100 int32_t AudioSetPcmInfoTest(void)
101 {
102     struct PlatformData platformData;
103     struct AudioPcmHwParams param;
104     (void)memset_s(&platformData, sizeof(struct PlatformData), 0, sizeof(struct PlatformData));
105     (void)memset_s(&param, sizeof(struct AudioPcmHwParams), 0, sizeof(struct AudioPcmHwParams));
106 
107     if (AudioSetPcmInfo(NULL, NULL) == HDF_SUCCESS) {
108         return HDF_FAILURE;
109     }
110 
111     if (AudioSetPcmInfo(&platformData, &param) != HDF_SUCCESS) {
112         ADM_LOG_DEBUG("AudioSetPcmInfo fail");
113     }
114     return HDF_SUCCESS;
115 }
116 
AudioSetRenderBufInfoTest(void)117 int32_t AudioSetRenderBufInfoTest(void)
118 {
119     struct PlatformData data;
120     struct AudioPcmHwParams param;
121     (void)memset_s(&data, sizeof(struct PlatformData), 0, sizeof(struct PlatformData));
122     (void)memset_s(&param, sizeof(struct AudioPcmHwParams), 0, sizeof(struct AudioPcmHwParams));
123 
124     if (AudioSetRenderBufInfo(NULL, NULL) == HDF_SUCCESS) {
125         return HDF_FAILURE;
126     }
127 
128     if (AudioSetRenderBufInfo(&data, &param) == HDF_SUCCESS) {
129         return HDF_FAILURE;
130     }
131 
132     return HDF_SUCCESS;
133 }
134 
AudioSetCaptureBufInfoTest(void)135 int32_t AudioSetCaptureBufInfoTest(void)
136 {
137     struct PlatformData data;
138     struct AudioPcmHwParams param;
139     (void)memset_s(&data, sizeof(struct PlatformData), 0, sizeof(struct PlatformData));
140     (void)memset_s(&param, sizeof(struct AudioPcmHwParams), 0, sizeof(struct AudioPcmHwParams));
141 
142     if (AudioSetCaptureBufInfo(NULL, NULL) == HDF_SUCCESS) {
143         return HDF_FAILURE;
144     }
145 
146     if (AudioSetCaptureBufInfo(&data, &param) == HDF_SUCCESS) {
147         return HDF_FAILURE;
148     }
149 
150     return HDF_SUCCESS;
151 }
152 
AudioPcmWriteTest(void)153 int32_t AudioPcmWriteTest(void)
154 {
155     struct AudioCard card;
156     struct AudioTxData txData;
157     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
158     (void)memset_s(&txData, sizeof(struct AudioTxData), 0, sizeof(struct AudioTxData));
159 
160     if (AudioPcmWrite(NULL, NULL) == HDF_SUCCESS) {
161         return HDF_FAILURE;
162     }
163 
164     if (AudioPcmWrite(&card, &txData) == HDF_SUCCESS) {
165         return HDF_FAILURE;
166     }
167 
168     return HDF_SUCCESS;
169 }
170 
AudioPcmReadTest(void)171 int32_t AudioPcmReadTest(void)
172 {
173     struct AudioCard card;
174     struct AudioRxData rxData;
175     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
176     (void)memset_s(&rxData, sizeof(struct AudioRxData), 0, sizeof(struct AudioRxData));
177 
178     if (AudioPcmRead(NULL, NULL) == HDF_SUCCESS) {
179         return HDF_FAILURE;
180     }
181 
182     if (AudioPcmRead(&card, &rxData) == HDF_SUCCESS) {
183         return HDF_FAILURE;
184     }
185     return HDF_SUCCESS;
186 }
187 
AudioPcmMmapWriteTest(void)188 int32_t AudioPcmMmapWriteTest(void)
189 {
190     struct AudioCard card;
191     struct AudioMmapData txMmapData;
192     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
193     (void)memset_s(&txMmapData, sizeof(struct AudioMmapData), 0, sizeof(struct AudioMmapData));
194 
195     if (AudioPcmMmapWrite(NULL, NULL) == HDF_SUCCESS) {
196         return HDF_FAILURE;
197     }
198 
199     if (AudioPcmMmapWrite(&card, &txMmapData) == HDF_SUCCESS) {
200         return HDF_FAILURE;
201     }
202     return HDF_SUCCESS;
203 }
204 
AudioPcmMmapReadTest(void)205 int32_t AudioPcmMmapReadTest(void)
206 {
207     struct AudioCard card;
208     struct AudioMmapData rxMmapData;
209     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
210     (void)memset_s(&rxMmapData, sizeof(struct AudioMmapData), 0, sizeof(struct AudioMmapData));
211 
212     if (AudioPcmMmapRead(NULL, NULL) == HDF_SUCCESS) {
213         return HDF_FAILURE;
214     }
215 
216     if (AudioPcmMmapRead(&card, &rxMmapData) == HDF_SUCCESS) {
217         return HDF_FAILURE;
218     }
219     return HDF_SUCCESS;
220 }
221 
AudioRenderOpenTest(void)222 int32_t AudioRenderOpenTest(void)
223 {
224     struct AudioCard card;
225     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
226 
227     if (AudioRenderOpen(NULL) == HDF_SUCCESS) {
228         return HDF_FAILURE;
229     }
230 
231     if (AudioRenderOpen(&card) == HDF_SUCCESS) {
232         return HDF_FAILURE;
233     }
234     return HDF_SUCCESS;
235 }
236 
AudioCaptureOpenTest(void)237 int32_t AudioCaptureOpenTest(void)
238 {
239     struct AudioCard card;
240     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
241 
242     if (AudioCaptureOpen(NULL) == HDF_SUCCESS) {
243         return HDF_FAILURE;
244     }
245 
246     if (AudioCaptureOpen(&card) == HDF_SUCCESS) {
247         return HDF_FAILURE;
248     }
249     return HDF_SUCCESS;
250 }
251 
AudioRenderCloseTest(void)252 int32_t AudioRenderCloseTest(void)
253 {
254     struct AudioCard card;
255     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
256 
257     if (AudioRenderClose(NULL) == HDF_SUCCESS) {
258         return HDF_FAILURE;
259     }
260 
261     if (AudioRenderClose(&card) == HDF_SUCCESS) {
262         return HDF_FAILURE;
263     }
264     return HDF_SUCCESS;
265 }
266 
AudioPcmPointerTest(void)267 int32_t AudioPcmPointerTest(void)
268 {
269     uint32_t pointer = 0;
270     struct AudioCard card;
271     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
272 
273     if (AudioPcmPointer(NULL, NULL, 0) == HDF_SUCCESS) {
274         return HDF_FAILURE;
275     }
276 
277     if (AudioPcmPointer(&card, &pointer, AUDIO_RENDER_STREAM) == HDF_SUCCESS) {
278         return HDF_FAILURE;
279     }
280     return HDF_SUCCESS;
281 }
282 
AudioCaptureCloseTest(void)283 int32_t AudioCaptureCloseTest(void)
284 {
285     struct AudioCard card;
286     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
287 
288     if (AudioCaptureClose(NULL) == HDF_SUCCESS) {
289         return HDF_FAILURE;
290     }
291 
292     if (AudioCaptureClose(&card) == HDF_SUCCESS) {
293         return HDF_FAILURE;
294     }
295     return HDF_SUCCESS;
296 }
297 
AudioHwParamsTest(void)298 int32_t AudioHwParamsTest(void)
299 {
300     struct AudioCard card;
301     struct AudioPcmHwParams param;
302     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
303     (void)memset_s(&param, sizeof(struct AudioPcmHwParams), 0, sizeof(struct AudioPcmHwParams));
304 
305     if (AudioHwParams(NULL, NULL) == HDF_SUCCESS) {
306         return HDF_FAILURE;
307     }
308 
309     if (AudioHwParams(&card, &param) == HDF_SUCCESS) {
310         return HDF_FAILURE;
311     }
312 
313     return HDF_SUCCESS;
314 }
315 
AudioRenderPrepareTest(void)316 int32_t AudioRenderPrepareTest(void)
317 {
318     struct AudioCard card;
319     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
320 
321     if (AudioRenderPrepare(NULL) == HDF_SUCCESS) {
322         return HDF_FAILURE;
323     }
324 
325     if (AudioRenderPrepare(&card) == HDF_SUCCESS) {
326         return HDF_FAILURE;
327     }
328 
329     return HDF_SUCCESS;
330 }
331 
AudioCapturePrepareTest(void)332 int32_t AudioCapturePrepareTest(void)
333 {
334     struct AudioCard card;
335     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
336 
337     if (AudioCapturePrepare(NULL) == HDF_SUCCESS) {
338         return HDF_FAILURE;
339     }
340 
341     if (AudioCapturePrepare(&card) == HDF_SUCCESS) {
342         return HDF_FAILURE;
343     }
344 
345     return HDF_SUCCESS;
346 }
347 
AudioRenderTriggerTest(void)348 int32_t AudioRenderTriggerTest(void)
349 {
350     struct AudioCard card;
351     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
352 
353     if (AudioRenderTrigger(NULL, AUDIO_DRV_PCM_IOCTL_RENDER_START) == HDF_SUCCESS) {
354         return HDF_FAILURE;
355     }
356 
357     if (AudioRenderTrigger(&card, AUDIO_DRV_PCM_IOCTL_RENDER_START) == HDF_SUCCESS) {
358         return HDF_FAILURE;
359     }
360 
361     if (AudioRenderTrigger(&card, AUDIO_DRV_PCM_IOCTL_RENDER_STOP) == HDF_SUCCESS) {
362         return HDF_FAILURE;
363     }
364 
365     if (AudioRenderTrigger(&card, AUDIO_DRV_PCM_IOCTL_RENDER_PAUSE) == HDF_SUCCESS) {
366         return HDF_FAILURE;
367     }
368 
369     if (AudioRenderTrigger(&card, AUDIO_DRV_PCM_IOCTL_RENDER_RESUME) == HDF_SUCCESS) {
370         return HDF_FAILURE;
371     }
372 
373     return HDF_SUCCESS;
374 }
375 
AudioCaptureTriggerTest(void)376 int32_t AudioCaptureTriggerTest(void)
377 {
378     struct AudioCard card;
379     (void)memset_s(&card, sizeof(struct AudioCard), 0, sizeof(struct AudioCard));
380 
381     if (AudioCaptureTrigger(NULL, AUDIO_DRV_PCM_IOCTL_CAPTURE_START) == HDF_SUCCESS) {
382         return HDF_FAILURE;
383     }
384 
385     if (AudioCaptureTrigger(&card, AUDIO_DRV_PCM_IOCTL_CAPTURE_START) == HDF_SUCCESS) {
386         return HDF_FAILURE;
387     }
388 
389     if (AudioCaptureTrigger(&card, AUDIO_DRV_PCM_IOCTL_CAPTURE_STOP) == HDF_SUCCESS) {
390         return HDF_FAILURE;
391     }
392 
393     if (AudioCaptureTrigger(&card, AUDIO_DRV_PCM_IOCTL_CAPTURE_PAUSE) == HDF_SUCCESS) {
394         return HDF_FAILURE;
395     }
396 
397     if (AudioCaptureTrigger(&card, AUDIO_DRV_PCM_IOCTL_CAPTURE_RESUME) == HDF_SUCCESS) {
398         return HDF_FAILURE;
399     }
400     return HDF_SUCCESS;
401 }
402