1.LTP安装
(1) 更新系统
sudo apt update
讯享网
(2)安装编译环境
讯享网sudo apt-get install -y make autoconf gcc linux-headers-$(uname -r)
(3)安装需要的软件包
sudo apt-get install -y libcap-dev libssl-dev libselinux1-dev libaio-dev libexplain-dev libacl1-dev libtirpc-dev freebsd-glue bison libkeyutils-dev libmm-dev libsctp-dev
(4)解压ltp软件包
讯享网ltp软件包下载链接:https://github.com/linux-test-project/ltp/releases/tag/ tar jxvf ltp-full-.tar.bz2 cd ltp-full-
(5)创建目录
make autotools
(6)配置
讯享网sudo ./configure
(7)编译
sudo make
(8)编译安装
讯享网sudo make install
2.目录结构
2.1 源码包
2.1.1 LTP源码包目录结构
| 名称 |
说明 |
| INSTALL |
LTP安装配置指导文档 |
| README |
LTP介绍 |
| CREDITS |
记录对LTP有很大贡献的人 |
| COPYING |
GNU公开许可证 |
| ChangeLog |
描述版本变化 |
| ltpmenu |
规划执行LTP的图形化界面接口 |
| Makefile |
LTP顶层目录的Makefile,负责编译安装pan、testcases和tools |
| runalltests.sh/runltp |
按顺序运行全部测试用例并且报告结果的脚本 |
| doc/* |
工程文档包含工具和库函数使用手册,描述各种测试 |
| include/* |
通用的头文件目录,定义了LTP自身的数据结构和函数结构 |
| lib/* |
通用的函数目录,定义了LTP自身的各种函数 |
| testcases/* |
包含在LTP下运行和bin目录下的所有测试用例和链接 |
| testscripts/* |
存储可执行的测试脚本,不同方面的测试脚本的集合 |
| runtest/* |
目录中的每个文件都是要执行的测试用例的命令集合,每个文件针对测试的不同方面(用于链接testscripts内的测试脚本和testcases测试项目) |
| pan/* |
测试的驱动装置,具备随机和并行测试的能力 |
| scratch/* |
存放零碎测试 |
| tools/* |
存放自动化测试脚本和辅助工具 |
2.1.2 LTP测试套件包含的内容
| 名称 |
说明 |
| commands |
常用命令测试 |
| kernel |
内核模块及其相关模块 (主要对系统的文件系统、进程通信、模块管理、内存、系统调用、系统调度、磁盘读写、安全等进行功能和压力测试) |
| kdump |
内核崩溃转储测试 |
| network |
网络测试 |
| realtime |
系统实时性测试 |
| open_posix_testsuite |
posix标准测试 |
| misc |
崩溃、核心转出、浮点运算等测试 |
2.2 安装包
| 名称 |
说明 |
| bin |
存放LTP测试的一些辅助脚本 |
| results |
测试结果默认存储目录 |
| testcases |
测试项集 |
| output |
测试日志默认存储目录 |
| share |
脚本使用说明目录 |
| runtest |
测试驱动(用于链接testscripts内的测试脚本和testcases测试项目) |
| testscripts/* |
存储可执行的测试脚本,不同方面的测试脚本的集合 |
3.测试执行
3.1 初始测试
(1)整体测试
可以测试所有的测试集,直接运行runltp命令将测试ltp-full-/scenario_groups/default 中的所有测试集,一次测试约4小时。
测试命令:
cd /opt/ltp, sudo ./runltp
或者cd /opt/ltp, sudo ./runltp -t 24h -p
或者sudo ./runltp -t 24h |tee ~/runltp_test.log
-t:指定测试的持续时间:
-t 60s = 60 seconds
-t 45m = 45 minutes
-t 24h = 24 hour
-t 2d = 2 days
|tee ~/runltp_test.log:把测试日志打印在终端和result下的runltp_test.log
(2)测试集测试
可以只测试某个测试集,测试集可以在ltp/runtest/下查看。测试某个测试集时,runltp需要指定-f参数。
eg:测试内存 sudo ./runltp -f mm
(3)单独测试一个脚本
①安装包测试
测试某个测试时,runltp 需要指定-s参数。
eg:cd /opt/ltp/
sudo ./runltp -s access01
eg:sudo ./runltp -f mm -s ksm06 执行测试集mm中的一个脚本ksm06
②源码包测试
eg:cd ~/ltp-full-/testcases/kernel/syscalls/access/
sudo ./access01
4.测试结果
| 输出类型 |
|
| BROK |
程序执行中途发生错误而使测试遭到破坏 |
| CONF |
测试环境不满足而跳过执行 |
| WARN |
测试中途发生异常 |
| INFO |
输出通用测试信息 |
| PASS |
测试成功 |
| FAIL |
测试失败 |
4.1 初始测试
(1)测试集测试


(2)单独测试

(3)整体测试

附件1:测试命令合集
附件1:测试命令合集 1../runltp –f commands(测试常规命令) 2../runltp –f admin_tools(测试常用管理工具是否正常稳定运行) 3../runltp –f dio(测试直接IO是否正常稳定) 4../runltp –f mm(测试mm) 5../runltp –f dma_thread_diotest(测试直接存储器访问线程直接IO是否正常稳定) 6../runltp –f fcntl-locktests(测试NFS网络文件系统锁是否正常稳定) 7../runltp –f filecaps(测试filecaps是否正常) 预制条件:在/etc/sysctl.conf文件中加一行:CONFIG_SECURITY_FILE_CAPABILITIES=y后重启电脑. 8../runltp –f fs(测试文件系统是否正常) 9../runltp –f fs_bind(测试fs_bind是否正常) 10../runltp –f fs_ext4(测试fs_ext4是否正常) 11../runltp –f fs_perms_simple(简单测试文件系统权限) 12../runltp –f fs_readonly(测试文件系统只读) 13../runltp –f fsx(对文件系统进行压力测试) 14../runltp –f hyperthreading(CPU超线程技术测试) 15../runltp –f io(异步IO测试) 16../runltp –f io_cd(对CD光驱进行压力测试) 预制条件:将光盘放入光驱 17../runltp –f io_floppy(对软盘进行压力测试) 预制条件:将软盘放入软驱中 18../runltp –f lvm.part1(测试文件系统MSDOS、Reiserfs、EXT2、NFS、Ram Disk、MINIX) 19../runltp –f math(数学库测试) 20../runltp –f nfs(nfs网络文件系统测试) 预制条件:在本机配置nfs文件系统服务 21../runltp –f lvm.part2(测试EXT3、JFS文件系统是否正常使用) 预制条件:安装EXT3、JFS文件系统 22../runltp –f pipes(对管道进行压力测试) 23../runltp –f syscalls(测试内核系统调用) 24../runltp –f syscalls-ipc(进程间通信测试) 25../runltp –f can(测试控制器区域网络的稳定性) 26../runltp –f connectors(测试Netlink Connector的功能性及稳定性) 27../runltp –f ipv6(测试IPv6环境下的基本网络功能) 28../runltp –f ipv6_lib(IPv6环境网络开发共享库) 预制条件:内核支持IPv6 29../runltp –f multicast( 测试多播的稳定性) 预制条件: (1)设置环境变量export RHOST=<多播目标地址> (2)/root/.rhosts,/home/user/.rhosts 添加内容:多播目标主机地址,多播目标主机用户,有多少多播目标主机就写多少条。 30../runltp –f network_commands ( 测试ftp和ssh的稳定性) 预制条件:开启ftp和ssh 31../runltp –f network_stress.whole( 网络各个功能的压力性测试 ) 预制条件: (1)部署一台服务器 (2)服务器上运行的服务: ssh DNS http ftp 32../runltp –f nptl( 测试本地POSIX线程库的稳定性 ) 预制条件:内核支持POSIX本地线程库 33../runltp –f nw_under_ns(测试网络命名空间的稳定性) 34../runltp –f power_management_tests(电源管理模块的稳定性) 预制条件:内核版本2.6.31以上 35../runltp –f pty(测试虚拟终端稳定性) 预制条件:内核支持VT console 36../runltp –f quickhit(测试系统调用的稳定性) 37../runltp –f rpc 和 ./runltp –f rpc_test(测试远程过程调用稳定性) 预制条件:内核支持远程过程调用 38../runltp –f scsi_debug.part1(测试SCSI的稳定性) 39../runltp –f sctp(测试SCTP协议的稳定性) 预制条件:内核支持SCTP协议 40../runltp –f tcp_cmds_expect(TCP命令的可用性和稳定性) 预制条件:内核支持TCP/IP协议 41../runltp –f controllers(内核资源管理的稳定性测试) 预制条件:内核版本必须等于或者高于2.6.24 42../runltp –f cap_bounds(POSIX功能绑定设置可用性) 预制条件:内核版本2.6.25以上 43../runltp –f containers(命名空间资源稳定性) 44../runltp –f cpuacct(测试不同cpu acctount控制器的特点) 45../runltp –f cpuhotplug(测试cpu热插拔功能的稳定性) 46../runltp –f crashme(测试crashme) 预制条件:做测试前,先备份系统 47../runltp –f hugetlb(测试 hugetlb) 48../runltp –f ima(测试ima) 49../runltp –f ipc(测试ipc) 50../runltp –f Kernel_misc(测试 Kernel_misc) 51../runltp –f ltp-aiodio.part1(测试 ltp-aiodio.part1) 52../runltp –f Ltp-aiodio.part2(测试 Ltp-aiodio.part2) 53../runltp –f ltp-aiodio.part3(测试 ltp-aiodio.part3) 54../runltp –f ltp-aiodio.part4(测试 ltp-aiodio.part4) 55../runltp –f ltp-aio-stress.part1(测试 io stress) 56../runltp –f ltp-aio-stress.part2(测试 io stress) 57../runltp –f modules(测试内核模块) 58../runltp –f tracing(跟踪测试) 59../runltp –f numa(测试非统一内存访问) 60../runltp –f sched(测试调度压力) 61../runltp –f securebits(测试securebits) 62../runltp –f smack(smack安全模块测试) 63../runltp –f timers(测试posix计时器) 64../runltp –f tirpc_tests(测试Tirpc_tests) 65../runltp –f tpm_tools(测试 tpm_tools)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/56229.html