summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2026-06-18 21:51:38 +0700
committerGitHub <[email protected]>2026-06-18 21:51:38 +0700
commit3f3fbbb623660c48ae1df58ff1b51d81414f33da (patch)
treeab0a3d5cf94709f5517ed0db602a9b02fbf0648d
parent17b38ffc2ad70e1c722df5b3dc5a8c49f7addefc (diff)
parentd9dc891ee2aaedb733da4c0f2fee5a68be001ee7 (diff)
Merge pull request #3713 from hathach/claude/hil-audio-require-alsa
test/hil: fail audio test on missing alsa-utils instead of skipping
-rw-r--r--examples/device/audio_test_freertos/sdkconfig.defaults3
-rwxr-xr-xtest/hil/hil_test.py9
-rw-r--r--test/hil/tinyusb.json3
3 files changed, 7 insertions, 8 deletions
diff --git a/examples/device/audio_test_freertos/sdkconfig.defaults b/examples/device/audio_test_freertos/sdkconfig.defaults
index 83871619e..6e7a1cf52 100644
--- a/examples/device/audio_test_freertos/sdkconfig.defaults
+++ b/examples/device/audio_test_freertos/sdkconfig.defaults
@@ -1,3 +1,6 @@
CONFIG_IDF_CMAKE=y
+# 1000 Hz tick: the UAC iso IN endpoint must be serviced every 1 ms frame;
+# ESP-IDF's default 100 Hz starves the audio task -> host capture fails (arecord EIO).
+CONFIG_FREERTOS_HZ=1000
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
diff --git a/test/hil/hil_test.py b/test/hil/hil_test.py
index 8ae9ee0dc..055618e3c 100755
--- a/test/hil/hil_test.py
+++ b/test/hil/hil_test.py
@@ -22,7 +22,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
-# Host setup:
+# Host setup (required: a missing tool fails its test rather than skipping it):
# - System packages: sudo apt install mtools libmtp9 alsa-utils iperf
# mtools - read_disk_file (device/cdc_msc, device/msc_dual_lun)
# libmtp9 - pymtp ctypes load (device/mtp); Debian 13 uses libmtp9t64
@@ -51,7 +51,6 @@ import serial
import subprocess
import json
import glob
-import shutil
from multiprocessing import Pool, Lock
from multiprocessing import TimeoutError as MpTimeoutError
import hashlib
@@ -1380,10 +1379,6 @@ def test_device_audio_test_freertos(board):
if os.name == 'nt':
return 'skipped'
- arecord = shutil.which('arecord')
- if arecord is None:
- return 'skipped'
-
pcm = None
timeout = ENUM_TIMEOUT
while timeout > 0:
@@ -1397,7 +1392,7 @@ def test_device_audio_test_freertos(board):
raw_path = f'/tmp/tinyusb_audio_{uid}.raw'
cmd = [
- arecord,
+ 'arecord',
'-D', pcm,
'-q',
'-f', 'S16_LE',
diff --git a/test/hil/tinyusb.json b/test/hil/tinyusb.json
index 41d94bc00..a534f2601 100644
--- a/test/hil/tinyusb.json
+++ b/test/hil/tinyusb.json
@@ -132,6 +132,7 @@
"device": true,
"host": false,
"dual": true,
+ "skip": ["device/audio_test_freertos"],
"dev_attached": [
{
"vid_pid": "067b_2303",
@@ -139,7 +140,7 @@
"is_cdc": true
}
],
- "comment": "pl23x"
+ "comment": "pl23x; audio_test_freertos skipped: samd51 iso-IN capture fails (arecord EIO)"
},
"flasher": {
"name": "jlink",