linux下LTP的安装和配置

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/20230516

tar jxvf ltp-full-20230516.tar.bz2
cd ltp-full-20230516

(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-20230516/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-20230516/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)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值