Эх сурвалжийг харах

[utest][audio]:Add standardized documentation for Audio Test

Chuan 1 сар өмнө
parent
commit
5423d43e25

+ 32 - 13
components/drivers/audio/utest/tc_audio_main.c

@@ -6,24 +6,43 @@
  * Change Logs:
  * Date           Author       Notes
  * 2025-05-01     wumingzi     first version
+ * 2025-11-24     ChuanN-sudo  add standardized utest documentation block
  */
 
-/* The file can test the rt-thread audio driver framework including following api via memory
- *  simulation.
+/**
+ * Test Case Name: Audio Test
  *
- *  rt_audio_register
- *  rt_audio_rx_done
- *  rt_audio_tx_complete
+ * Test Objectives:
+ * - Validate RT-Thread audio driver framework registration and data flow mechanisms.
+ * - Verify audio playback (TX) and recording (RX) data transmission correctness.
+ * - Ensure proper buffer management and memory integrity during audio operations.
+ * - Test core APIs: rt_audio_register(), rt_audio_tx_complete(), rt_audio_rx_done()
  *
- *  When audio devices generate or receive new data, the corresponding buffer in device will
- *  receive date from kernel or surroundings. The same phenomenon will also happen at the
- *  application level. Thus we can fill memory to simulate the generation of data then track
- *  and check memory to ensure kernel processing audio data correctly. And this depends on
- *  implementations of audio drivers.
+ * Test Scenarios:
+ * - Locate audio devices using SOUND_PLAYER_DEVICE_NAME and SOUND_MIC_DEVICE_NAME macros.
+ * - Write known byte patterns (0xAA, 0x55) to simulate audio data flow through TX/RX buffers.
+ * - Synchronize player and microphone test execution using audio_fsm_step state machine.
+ * - Test two consecutive block transfers for both TX and RX paths.
  *
- *  Therefore, if the player_test testcase failed, it could mean rt_audio_register or
- *  rt_audio_tx_complete existing bugs. Similarly, if mic_test testcase failed, it could mean
- *  rt_audio_register or rt_audio_rx_done existing bugs.
+ * Verification Metrics:
+ * - Written audio data appears correctly in device TX buffers with exact byte patterns.
+ * - Data read from microphone device matches expected fill patterns (0xAA then 0x55) without corruption.
+ * - Buffer boundaries are respected with no overflow or underflow conditions.
+ * - Device open/close operations complete successfully without resource leaks.
+ *
+ * Dependencies:
+ * - Hardware requirements: QEMU emulator or any hardware platform that supports RT-Thread.
+ * - Software configuration:
+ *     - RT_USING_UTESTCASES must be enabled (select "RT-Thread Utestcases" in menuconfig).
+ *     - RT_USING_AUDIO must be enabled (enable via: RT-Thread Components -> Device Drivers -> Using Audio device drivers).
+ *     - RT_UTEST_USING_AUDIO_DRIVER must be enabled (enable via: RT-Thread Utestcases -> Kernel Components-> Drivers -> Audio Test).
+ * - Environmental Assumptions: Audio devices registered and functional, sufficient memory available.
+ *
+ * Expected Results:
+ * - Final output: "[ PASSED ] [ result ] testcase (components.drivers.audio.tc_audio_main)"
+ * - No memory leaks detected during buffer allocation/deallocation.
+ * - No assertions triggered during test execution.
+ * - Buffer content verification passes for all test patterns.
  */
 
 #include "tc_audio_common.h"