linux下LTP测试环境使用说明.docx

上传人:b****6 文档编号:4202638 上传时间:2022-11-28 格式:DOCX 页数:52 大小:76.73KB
下载 相关 举报
linux下LTP测试环境使用说明.docx_第1页
第1页 / 共52页
linux下LTP测试环境使用说明.docx_第2页
第2页 / 共52页
linux下LTP测试环境使用说明.docx_第3页
第3页 / 共52页
linux下LTP测试环境使用说明.docx_第4页
第4页 / 共52页
linux下LTP测试环境使用说明.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

linux下LTP测试环境使用说明.docx

《linux下LTP测试环境使用说明.docx》由会员分享,可在线阅读,更多相关《linux下LTP测试环境使用说明.docx(52页珍藏版)》请在冰豆网上搜索。

linux下LTP测试环境使用说明.docx

linux下LTP测试环境使用说明

LTP工具说明

1LTP测试套件3

1.1简介3

1.2源目录结构3

2LTP安装4

2.1下载4

2.2编译4

2.3安装说明6

3LTP测试套件结构说明6

3.1概述6

3.2目录介绍6

3.3LTP执行原理7

4LTP测试套件测试内容7

4.1LTP测试套件测试内容7

4.1.1commands7

4.1.2kernel8

4.1.3kdump8

4.1.4network8

4.1.5realtime8

4.1.6open_posix_testsuite9

4.1.7misc9

4.2测试方法说明9

4.2.1commands模块内容描述及实现方法9

4.2.2kernel11

4.2.3network16

4.2.4open_posix_testsuite18

4.2.5realtime20

5LTP测试套件配置详细22

5.1networktests.sh脚本配置22

5.2networkstress.sh配置26

5.3open_posix_testsuite测试套件30

5.4realtime配置31

5.5mm脚本的配置32

5.6io脚本配置32

5.7filecaps的配置32

5.8tpm_tools的配置33

5.9tcore的配置33

5.10io_floppy的配置34

5.11io_cd的配置34

5.12cpuhotplug的配置34

5.13adp.sh的配置35

5.14autofs1.sh和autofs4.sh的配置36

5.15exportfs.sh的配置36

5.16isofs.sh的配置37

5.17ltpdmmapper.sh的配置37

5.18ltpfslvm.sh的配置及要求38

5.19ltpfsnolvn.sh的配置及要求39

5.20ltp-scsi_debug.sh的配置及要求39

5.21sysfs.sh的配置及要求39

5.22rpctirpc的配置及要求40

5.23test_selinux.sh的配置及要求42

5.24smack的配置和要求43

5.25perfcounters的配置及要求43

5.26can的配置及要求44

5.27test_robind.sh的配置44

6LTP测试套件使用说明45

6.1概述45

6.2初始测试47

6.2.1runltp使用说明47

6.2.2runalltests.sh脚本说明48

 

1LTP测试套件

1.1简介

LTP(LinuxTestProject)是SGI、IBM、OSDL和Bull合作的项目,目的是为开源社区提供一个测试套件,用来验证Linux系统可靠性、健壮性和稳定性。

LTP测试套件是测试Linux内核和内核相关特性的工具的集合。

该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量。

LTP提供了验证linux系统稳定性的标准,设计标准的压力场景,通过对linux系统进行压力测试,对系统的功能、性能进行分析,并以此确定linux系统的可靠性、健壮性和稳定性。

1.2源目录结构

如表1,是对LTP源包目录结构的描述:

INSTALL

LTP安装配置指导文档

README

LTP介绍

CREDITS

记录对LTP有很大贡献的人

COPYING

GNUPublicLicense

ChangeLog

描述版本变化

ltpmenu

规划执行LTP的图形化界面接口

Makefile

LTP顶层目录的Makefile,负责编译安装pan、testcases和tools

runalltests.sh

顺序运行全部测试例程并且报告结果的脚本

doc/*

工程文档包含工具和库函数使用手册,描述各种测试

include/*

通用的头文件目录

lib/*

通用的库函数目录

testcases/*

包含在LTP下运行和bin目录下的所有测试用例和链接

testscripts/*

存放分组的测试脚本

runtest/*

为自动测试提供命令列表

pan/*

测试的驱动装置。

具备随即和并行测试的能力

scratch/*

存放零碎测试的东西

tools/*

存放自动化测试脚本和辅助工具

表1LTP源代码结构

2LTP安装

2.1下载

LTP是一项动态工程,LTP源包命名方式一般为:

ltp-yyyymmdd。

目前版本为ltp-20110228。

以下均为ltp-20110228版本的配置,官网地址为:

http:

/

2.2编译

从官方网站下载最新的LTP测试套件包,解压后进入ltp源目录。

按照表2方法进行快速安装,在编译成功后会自动安装到/opt/ltp目录下。

[root@server20ltp]#./configure

[root@server20ltp]#make

[root@server20ltp]#makeinstall

IDcheck.sh

检查系统是否缺

少执行LTP测试套件所需的用户和用户组,如果缺少则为LTP测试套件创建所需的用户和用户组。

runltplite.sh

这个脚本用来测试LTP安装,也可用来对测试套件的子项目进行测试。

详情参阅脚本。

runltp

这个脚本能够测试LTP测试套件主要项目。

其中包括:

-硬盘I/O测试。

-内存管理压力测试。

-IPC压力测试。

-SCHED测试。

-命令功能的验证测试。

-系统调用功能的验证测试。

ver_linux

这个脚本是获取硬件、软件、环境信息。

runalltests.sh

测试内容同runltp,不同点在于runltp可以指定测试项进行组合测试,而runalltests.sh则会全部执行。

testscripts

列举了所有的子系统测试脚本,脚本说明见下文。

adp_children.sh

sysfs.sh

ltp-aiodio.sh

ltpstress.sh

runpan.sh

networkstress.sh

adp.sh

adp.sh

autofs1.sh

autofs4.sh

diskio.sh

exportfs.sh

fs_ro_tests

isofs.sh

load_stress_all_kernel_modules.sh

ltpdmmapper.sh

ltpfslvm.sh

ltpfslvm.sh

ltp-scsi_debug.sh

math.sh

networktests.sh

runEALtests.sh

runpan.sh

syscall.sh

tet_containers.sh

test_filecaps.sh

test_fs_bind.sh

test_realtime.sh

test_robind.sh

test_selinux.sh

runpan.sh

 

表2编译

2.3安装说明

在安装编译ltp之前,需要确定linux系统“make”版本,ltp编译需要“make”版本最低要求为“make3.80”,优先使用“make3.81”版本。

为了编译和使用ltp-scanner,linux系统需要安装bison/yacc和flex包。

详细安装方法可参照说安装说明文件INSTALL(源包目录)。

3LTP测试套件结构说明

3.1概述

LTP编译成功后,包含三大部分:

测试案例、测试脚本、测试驱动。

测试案例目录为testcases/,testcases/包含了测试案例和案例脚本;测试脚本主要目录为testscripts/,里面包含了文件系统,磁盘,内核,内存等测试脚本;测试驱动目录为bin/,该目录存放了ltp各种驱动脚本,如ltp-pan,ltp-scanner等。

3.2目录介绍

表3描述了ltp编译后各目录存储的内容和功能:

目录名

功能

bin

存放LTP测试的一些辅助脚本

results

测试结果默认存储目录

testcases

测试项集

output

测试日志默认存储目录

share

脚本使用说明目录

runtest

测试驱动(用于链接testscripts内的测试脚本和testcases测试项目)

lib

通用的库函数目录

表3目录描述

3.3LTP执行原理

从一个测试命令文件(或脚本)中读取所测条目需要执行的命令行,然后等待该项测试的结束,并记录详细的测试输出。

默认状态下pan会随机的选择一个命令行来运行,可以指定在同一时间要执行测试的次数。

pan会记录测试产生的详细的格式复杂的输出,但它不进行数据的整理和统计,数据整理统计的工作由scanner来完成,scanner是一个测试结果分析工具,它会理解pan的输出格式,并通过表格的形式总结测试passed或failed的情况。

简单地说,LTP测试套件通过执行测试脚本runalltests.sh(或runltp或runltplite.sh)或testscripts内的测试脚本,调用驱动程序pan执行testcases内的测试项目,输出测试结果,并利用scanner整理数据。

4LTP测试套件测试内容

4.1LTP测试套件测试内容

以ltp-20110228版本为例(目前是最新)。

ltp-20110228测试内容主要包括以下几大部分:

commands(常用命令测试),kernel(内核模块及其相关模块,如文件系统,磁盘读写等),kdump(内核转储),network(网络),realtime(系统实时性)open_posix_testsuite(posix标准),misc(崩溃,核心转储,浮点运算等)。

以下是具体内容:

4.1.1commands

cpio

mv

eject

mkdir

gzip

ln

mail

cp

su

size

at

objdump

cron

nm

logroate

ldd

tar

ld

unzip

file

ar

表4commands

4.1.2kernel

这个模块主要对系统的文件系统、进程通信、模块管理、内存、系统调用、系统调度、磁盘读写、安全等进行功能和压力测试。

详细内容如表5所示:

fs

connectors

Ipc

module

pty

timers

containers

hotplug

numa

sched

tracing

controlers

include

mce-test

performance_counters

security

device-drivers

io

mem

power_management

syscalls

表5kernel相关测试内容

4.1.3kdump

kdump是系统崩溃转储功能,这个模块是对kdump工具实现崩溃转储的测试。

4.1.4network

network功能点非常多,包括dhcp,nfs,rpc,iproute等,具体如表6所示:

can

iproute

rpc

tcp_cmds

datafiles

iptables

multicast

sctp

traceroute

dhcpd

lib6

nfs

sockets

xinetd

nfsv4

stress

表6network

4.1.5realtime

realtime测试套件是对linux系统实时性进行测试。

4.1.6open_posix_testsuite

open_posix_testsuite测试套件是对linux系统open_posix符合性进行测试。

4.1.7misc

misc包括系统crash,f00f,math,tcore_patch_test_suites测试。

4.2测试方法说明

4.2.1commands模块内容描述及实现方法

序号

测试内容

子测试点

内容含义

脚本说明

1

ade

ar

可以用来创建、修改库,也可以从库中提出单个模块

用来测试该系统命令的文件是runtest/commands,可以通过runltp脚本调用。

例子:

./runltp-fcommands

file

辨识文件类型

ld

一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用

ldd

用来查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题

nm

显示目标文件的符号表

objdump

显示二进制文件信息

size

显示文件大小

2

at

任务规划工具。

测试内容为/etc/at.allow和/etc/at.deny功能

测试脚本在testcases/bin/at.allow和testcases/bin/at.deny中

3

cpio

存取归档包中的文件

用来测试该系统命令的文件是runtest/commands,可以通过runltp脚本调用。

例子:

./runltp-fcommands

4

cron

在一定的时间间隔调度一些命令的执行

5

eject

退出抽取式设备

测试脚本为:

testcases/bin/

eject-test.sh

6

fileutils

cp

复制命令

用来测试改系统命令的文件是runtest/commands,可以通过runltp脚本调用。

例子:

./runltp-fcommands

ln

符号链接命令

mkdir

创建目录

mv

移动或重命名

7

gzip

解压缩命令

8

logrotate

管理记录文件

9

mail

收发邮件管理

10

su

变更用户

测试脚本为testcases/bin/su01,但在执行改脚本之前,系统需要安装有expect命令

11

tar

对文件目录进行打包备份

用来测试该系统命令的文件是runtest/commands,可以通过runltp脚本调用。

例子:

./runltp-fcommands

12

tpm-tools

tpm-tools是TPM芯片的管理工具。

对tpm-tools进行测试,需要确定系统安装有TPM芯片,且系统为Linux。

TPM实际上是一个含有密码运算部件和存储部件的小芯片上的系统,由CPU、存储器、

I/O、密码运算器、随机数产生器和嵌入式操作系统等部件组成。

此功能在runtest中的tpm_tools中,可以使用runltp脚本加上tpm_tools参数执行,也可以在testscripts中调用tpm_tools脚本执行

13

unzip

解压缩zip文件

用来测试该系统命令的文件是runtest/commands,可以通过runltp脚本调用。

例子:

./runltp-fcommands

表7commands实现方法

4.2.2kernel

编号

测试项

子测试项

对应脚本以及说明

含义

1

connectors

./runltp-fconnecors

网络连接器测试

2

fs

acl

测试方法:

testcases/bin/tar_tests.sh

测试ACL(访问控制列表)和ExcentAttribute

备注:

内核支持loop设备;一个大于100M的磁盘分区;内核支持ACL功能

3

acls

测试方法:

tescases/bin/acl_test01

测试扩展的acls

需求:

同上

4

dmapi

dmapi功能验证测试

备注:

ltp默认没有编译此功能需要到源目录执行,参照dmapi目录下的README

5

doio

testcases/bin/growfile

doio和读写测试

6

ext4-new-features

./runltp-ffs_ext4

ext4文件系统测试

7

fs-bench

testcases/bin/test.sh

文件系统的压力测试

8

fs_bind

/testscripts/test_fs_bind.sh

测试LINUX内核的绑定安装和共享子树的能力

9

fs_di

./runltp-ffs

文件系统的数据完整性

10

fs_inod

./runltp-ffs

在后台运行多个进程来快速创建和删除文件,用户可以指定创建的目录、文件数等

11

fs_maim

backbeat

maimparts

partbeat

fs_maim是存储管理工具压力测试集合

备注:

因为fs_maim执行会损坏数据,因此并没有编译。

详情参找源目录下到fs_maim目录

12

fs_perms

测试脚本:

./runltp-ffs_perms_simple

这个脚本是测试文件执行到权限,群组和用户组

13

fsstress

testcases/bin/fsstres;详细用法可以参照该脚本

文件系统压力测试

备注:

文件系统压力测试默认添加到脚本testscripts/ltpstress.sh或runltp或runalltests

14

fsx-linux

./runltp-ffs

fsx文件系统的压力测试

15

ftest

./runltp-ffs

16

inode

./runltp-ffs

17

lftest

./runltp-ffs

18

linktest

./runltp-ffs

回归测试文件的连接,常见一个硬链接和一定数目的软链接

19

mongo

testcases/bin/test.sh和testcases/bin/run_mongo和testcases/bin/mongo.pl

mongo文件测试

备注:

测试mongo文件可能会擦除以前的内容,会损坏文件。

详细配置见源目录下的mongo目录

20

openfile

./runltp-ffs

21

proc

testscripts/adp.sh

在proc文件系统上执行自动数据处理的压力测试

22

quote_remount

./runltp-ffs

测试内核是否支持重新挂载额定的大小文件

23

racer

./runltp-ffs

文件操作测试如:

创建文件,删除等操作

24

scsi

/testscripts/ltp-scsi_debug.sh

测试SCSI模块

25

stream

./runltp-ffs

文件流写入测试

26

module

/testscripts/load_

stress_all_kernel_modules.sh或

./runltp-fmodules

对内核模块进行测试

27

ipc

Ipc_stresss

./runltp-fipc

进程间通信压力测试

28

pipeio

./runltp-fpipes

ipc的管道压力

29

semaphore

./runltp-fipc

信号量测试

30

pty

./runltp-fpty

终端类型的压力

31

timers

./runltp-ftimers

posix计时器测试

32

containers

./runltp-fcontainers或testscripts-ftest_containers.sh

命名空间资源

32

hotplug

cpu_hotplug

/runtest/cpuhotplug

验证cpu的热插拔功能

33

memory_hotplug

testcases/bin/memtoy

验证内存的热插拔功能

备注:

需要numa支持

34

numa

./runltp-fnuma

非统一内存访问

35

sched

./runltp-fsched

调度压力测试

36

tracing

./runltp-f/tracing

跟踪测试

备注:

内核版本需要2.6.34以上

37

controllers

./runltp-fcontrollers

资源管理测试

备注:

内核版本2.6.29以上

38

performance_counters

./runltp-fperfcounters

测试基本的性能计数

39

mce-test

LINUX内核mce的处理功能的测试脚本和工具集。

这是一个测试mce的测试套件需要编译。

具体详情见该目录下的doc目录

40

security

securebits

./runltp-fsecurebits

备注:

这个功能需要至少2.6.32版本到内核,并且需要/usr/include/linux/securebits.h和libcapv2/usr/include/linux/securebits.h被安装

41

cap_bound

./runltp-fcap_bounds

POSIX功能绑定设置

42

integrity

./runltp-fima

测试体系结构的完整性(ima)

备注:

需要内核支持

CONFIG_IMA=y

CONFIG_IMA_MEASURE_PCR_IDX=10

CONFIG_IMA_AUDIT=y

CONFIG_IMA_LSM_RULES=y

43

mmc_security

testcases/bin/ask_password.sh&&

testcases/bin/change_password.sh&&testcases/bin/assign_password.sh&&testcases/bin/force_erase.sh&&testcases/binremove_password.sh

用户界面的mmc密码保护支持

备注:

需要安装keyutils包,在测试mmc之前需要配置keyutils

44

smack

./runltp-fsmack

测试smack安全模块

45

filecaps

./runltp-ffilecaps或

testscripts/test_filecaps.sh

基于安全的文件功能测试套件

46

p9auth

./runltp-fp9auth

安全策略测试,如

openssl,caphash,capuse

47

selinux-testsuite

./runltp-fselinux

测试SELINUX安全模块

48

tomoyo

testcases/bin/testall.sh

tomoyo安全测试

备注:

需要安装tomoyo包,并配置详情见源目

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1