烤机测试
4 Dec 2024
Read time: 2 minute(s)
烤机测试适用于长时间的老化测试场景。 支持下列特性:
注: 仅 Luban V1.2.4
及以上版本才支持烤机测试功能。
-
不需要重新烧写镜像,省去量产环境的镜像文件管理麻烦
-
只需准备一个存有测试数据的 SD 卡、或者 U 盘,即插即测
-
超过一个月的测试周期
-
支持增加自定义的其他测试项
目前已内置的测试项包括:
-
视频文件的循环播放
烤机测试详细操作流程如下:
-
准备测试数据,以视频播放的测试为例,准备一个 U 盘、或者 SD 卡。
-
在根目录中创建文件夹 aic_test/video,并将要测试的视频文件拷贝至当前目录中。
如果需要保存自定义测试项的测试数据,也可存放在 aic_test 中,方便访问。
-
添加自定义的测试项。如不需要添加自定义测试项,则可忽略此步骤。
-
将需要添加的测试项写成一个 Linux Shell 脚本,并以 test_*.sh 格式命名。
测试脚本 test_*.sh 的返回值必须要准确的反映测试结果,返回值的定义规则如下:# Define the return value RT_NO_RESOURCE=100 RT_NO_DEV=101 RT_NO_TOOL=102 RT_FAILED=119 RT_OK=0
- 将返回值定义拷贝到 test_*.sh 开始位置,并在返回处引用返回值的定义。RTC 的测试脚本示例:
#!/bin/sh # Define the return value RT_NO_RESOURCE=100 RT_NO_DEV=101 RT_NO_TOOL=102 RT_FAILED=119 RT_OK=0 if [ ! -c "/dev/rtc0" ]; then echo "Need enable RTC in Linux menuconfig and DTS" exit $RT_NO_RESOURCE fi which hwclock if [ $? -ne 0 ]; then echo "Need enable hwclock in Busybox menuconfig" exit $RT_NO_DEV fi hwclock -wu if [ $? -ne 0 ]; then echo "Failed to set RTC time" exit $RT_FAILED fi date && hwclock -u if [ $? -ne 0 ]; then echo "Failed to get RTC time" exit $RT_FAILED fi echo Sleep 10 sec ... sleep 10 exit $RT_OK
注: 测试脚本被调用时,当前路径是 aic_test/。
-
-
将 U 盘、或者 SD 卡插到板子上,然后重启板子。
重启后,板子会自动进入烤机测试,持续的循环执行包括播放视频的所有测试项。注: 如果测试过程中出现错误,烤机测试将会终止,不再执行后续的其他用例。 - 查看测试结果。所有测试项的测试结果保存在 /tmp/aic_test_*.log 中,格式如下:
# cat /tmp/aic_test_2024-05-31_16-30.log ---------------- Burn-in test report ---------------- Test Time: 2024-05-31_16-30 1/50000 The test result of Multimedia ----------------------------------------------------- 1) MPP is Ignored [2024-05-31_16:30:09] 1/50000 The test result of Custom ----------------------------------------------------- test_rtc.sh is OK 1) CUSTOM is OK [2024-05-31_16:30:19] 2/50000 The test result of Multimedia ----------------------------------------------------- 1) MPP is Ignored [2024-05-31_16:30:19] 2/50000 The test result of Custom ----------------------------------------------------- test_rtc.sh is OK 1) CUSTOM is OK [2024-05-31_16:30:29]
注: 其中 Ignored 的原因一般是缺少资源文件,相应的测试用例所以被忽略。