TI源码
简介
LTP-DDT通过TI验证linux的测试应用。基于LTP。LTP验证许多内核区域,像一些 存储管理、调度器和系统调用。LTP-DDT扩展LTP的内核测试,验证TI的Kernel驱动开发。LTP-DDT致力于嵌入式设备驱动测试。包括了成千上万的测试验证设备驱动的功能和性能。LTP-DDT也包括了测试系统用例和系统的稳定性。
LTP-DDT使用LTP的测试用例。例如
1.测试执行驱动(PAN)
2. 顶层测试脚本(例如 runltp)
3. 相同的文件夹层次结构和测试用例定义格式
相对于LTP,主要增加和提高LTP-DDT有如下:
- 平台文件。LTP-DDT使用平台文件识别平台硬件和软件特征。
- 覆写机制。默认测试用例参数可基于平台的特征重写。
- 原子的脚本。代码重写 鼓励 通过写脚本提高小又良好行为。测试脚本依靠这些原子脚本执行。
- 自动过滤器。测试用例基于测试需求和平台特征过滤。
- 测试用例注释。测试用例文件通过注释接下的注释@name,@desc,@requires 和@setup_requires.@requires和@setup_requires被用来选择测试用例在运行时基于平台特征。
- 全部LTP-DDT测试用例和测试代码基于<testcases-root>/ddt/ 和 <testcode-root>/ddt/各自的文件夹。
LTP-DDT 要点
- 容易使用(自动过滤不适用于平台的测试用例)
- 易于支持新平台
- 测试用例能很快导入或者提高测试管理系统(通过测试用例注释促进这个)
- 高度代码重写(原子脚本和测试脚本能重写和参数能纠正)
测试套件
LTP-DDT 包括测试用例,使用开源工具,如iperf,evtest,rt-tests(cyclictest),lmbench和其他的。
目前可用的测试套件包括以下
alsa
cpu hotplug
crypto
timers
emmc
mmc/sd
ethernet
fbdev
gpio
gstreamer (multimedia)
hdmi
i2c
ipc
latency under different use cases (important for RT kernel)
lmbench
memory tests
mm (ltp’s memory management)
msata
nand
nor
pci
pipes (ltp)
power management
programmable real-time unit (PRU)
pwm
qspi
realtime (ltp)
rng
rtc
sata
scheduler (ltp)
sgx (graphics)
smp
spi
syscalls (ltp)
system (use-cases, e.g. multiple tests running in parallel)
thermal
timers (ltp)
touchscreen
uart
usb host (multiple tests with different classes)
usb device
v4l2
vlan
dwt
wlan
要求
主机平台要求
linux主机要求
编译LTP-DDT
承载 NFS 服务器,以 NFS 作为根文件系统引导 EVM
运行主机工具 -- e.g. iperf
软件软件要求
- ARM的GCC工具链
-串口操作终端应用
- TFTP和NFS服务。NFS服务要求仅NFS启动用例。
- 主机要有iperf工具
目标文件系统要求
LTP-DDT 依赖与其他开源测试工具。能运行LTP-DDT,必须保证下面测试工具在目标文件系统可用。
alsa utilities
evtest
hdparm
iperf
lmbench
rt-tests (cyclictest)
可通过Arago/OE方法,构建一个文件系统镜像 w/ 加以上工具:
- bonnie++
- iozone3
- ltp-ddt
安装
git clone http://git.ti.com/git/test-automation/ltp-ddt.git
说明
在README-DDT文件。
运行测试
使用和转给ltprun程序
运行路径测试文件,运行测试路径(选项-f)和平台(选项-P,目标平台需存在,不选-P,ltprun脚本不会过滤测试用例,可能运行调用测试用例时,该平台不支持。)和过滤测试用例-s选项,测试例子:
./runltp -P j721e-evm -f ddt/lmbench
常见的压力测试有:
-t DURATION: Define duration of the test in s,m,h,d.
-x INSTANCES: Run multiple test instances in parallel.
-c <options>: Run test under additional background CPU load
-D <options>: Run test under additional background load on Secondary storage
-m <options>: Run test under additional background load on Main memory
-i <options>: Run test under additional background load on IO Bus
-n : Run test with network traffic in background.
运行NAND 测试
用法
./runltp -P j721e-evm -s "NAND_S_" -S skiplist
如果有更多的闪存文件系统支持,say,jffs2和ubifs,不详运行jffs2测试用例,需要创建一个叫做’skiplist’的文件,并放跳过的测试用例的标签在这个文件下,这里是个跳过jffs2测试用例子的shiplist的内容。
@cat skiplist
_JFFS2
运行NAND性能测试
./runltp -P j721e-evm -s "NAND_S_" -S skiplist