1. 程式人生 > >linux下LTP工具說明

linux下LTP工具說明

LTP工具說明

1      LTP測試套件

1.1     簡介

LTP(LinuxTest Project)是SGI、IBM、OSDL和Bull合作的專案,目的是為開源社群提供一個測試套件,用來驗證Linux系統可靠性、健壯性和穩定性。LTP測試套件是測試Linux核心和核心相關特性的工具的集合。該工具的目的是通過把測試自動化引入到Linux核心測試,提高Linux的核心質量。LTP提供了驗證linux系統穩定性的標準,設計標準的壓力場景,通過對linux系統進行壓力測試,對系統的功能、效能進行分析,並以此確定linux系統的可靠性、健壯性和穩定性。

   如表1,是對LTP源包目錄結構的描述:

INSTALL

LTP安裝配置指導文件

README

LTP介紹

CREDITS

記錄對LTP有很大貢獻的人

COPYING

GNU Public License

ChangeLog

描述版本變化

ltpmenu

規劃執行LTP的圖形化介面介面

Makefile

LTP頂層目錄的Makefile,負責編譯安裝pan、testcases和tools

runalltests.sh

順序執行全部測試例程並且報告結果的指令碼

doc/*

工程文件包含工具和庫函式使用手冊,描述各種測試

include/*

通用的標頭檔案目錄

lib/*

通用的庫函式目錄

testcases/*

包含在LTP下執行和bin目錄下的所有測試用例和連結

testscripts/*

存放分組的測試指令碼

runtest/*

為自動測試提供命令列表

pan/*

測試的驅動裝置。具備隨即和並行測試的能力

scratch/*

存放零碎測試的東西

tools/*

存放自動化測試指令碼和輔助工具

表1  LTP原始碼結構

2      LTP安裝

2.1     下載

    LTP是一項動態工程,LTP源包命名方式一般為:ltp-yyyymmdd。目前版本為ltp-20110228。以下均為ltp-20110228版本的配置,官網地址為:http:/ltp.sourceforge.net/。

2.2     編譯

   從官方網站下載最新的LTP測試套件包,解壓後進入ltp源目錄。按照表2方法進行快速安裝,在編譯成功後會自動安裝到/opt/ltp目錄下。

[[email protected] ltp]#./configure

[[email protected] ltp]# make

[[email protected] ltp]# make install

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 編譯

在安裝編譯ltp之前,需要確定linux系統“make”版本,ltp編譯需要“make”版本最低要求為“make 3.80”,優先使用“make 3.81”版本。為了編譯和使用ltp-scanner,linux系統需要安裝bison/yacc和flex包。詳細安裝方法可參照說安裝說明檔案INSTALL(源包目錄)。

3      LTP測試套件結構說明

3.1     概述

   LTP編譯成功後,包含三大部分:測試案例、測試指令碼、測試驅動。測試案例目錄為testcases/,testcases/包含了測試案例和案例指令碼;測試指令碼主要目錄為testscripts/,裡面包含了檔案系統,磁碟,核心,記憶體等測試指令碼;測試驅動目錄為bin/,該目錄存放了ltp各種驅動指令碼,如ltp-pan,ltp-scanner等。

    表3 描述了ltp編譯後各目錄儲存的內容和功能:

目錄名

功能

bin

存放LTP測試的一些輔助指令碼

results

測試結果預設儲存目錄

testcases

測試項集

output

測試日誌預設儲存目錄

share

指令碼使用說明目錄

runtest

測試驅動(用於連結testscripts內的測試指令碼和testcases測試專案)

lib

通用的庫函式目錄

表3 目錄描述

從一個測試命令檔案(或指令碼)中讀取所測條目需要執行的命令列,然後等待該項測試的結束,並記錄詳細的測試輸出。預設狀態下pan會隨機的選擇一個命令列來執行,可以指定在同一時間要執行測試的次數。pan會記錄測試產生的詳細的格式複雜的輸出,但它不進行資料的整理和統計,資料整理統計的工作由scanner來完成,scanner是一個測試結果分析工具,它會理解pan的輸出格式,並通過表格的形式總結測試passed或failed的情況。簡單地說,LTP測試套件通過執行測試指令碼runalltests.sh(或runltp或runltplite.sh)或testscripts內的測試指令碼,呼叫驅動程式pan執行testcases內的測試專案,輸出測試結果,並利用scanner整理資料。

4      LTP測試套件測試內容

以ltp-20110228版本為例(目前是最新)。ltp-20110228測試內容主要包括以下幾大部分:commands(常用命令測試),kernel(核心模組及其相關模組,如檔案系統,磁碟讀寫等),kdump(核心轉儲),network(網路),realtime(系統實時性)open_posix_testsuite(posix標準),misc(崩潰,核心轉儲,浮點運算等)。以下是具體內容:

cpio

mv

eject

mkdir

gzip

ln

mail

cp

su

size

at

objdump

cron

nm

logroate

ldd

tar

ld

unzip

file

ar

表4 commands

    這個模組主要對系統的檔案系統、程序通訊、模組管理、記憶體、系統呼叫、系統排程、磁碟讀寫、安全等進行功能和壓力測試。詳細內容如表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

表5 kernel相關測試內容

4.1.3   kdump

     kdump是系統崩潰轉儲功能,這個模組是對kdump工具實現崩潰轉儲的測試。

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

can

iproute

rpc

tcp_cmds

datafiles

iptables

multicast

sctp

traceroute

dhcpd

lib6

nfs

sockets

xinetd

nfsv4

stress

表6 network

realtime測試套件是對linux系統實時性進行測試。

     open_posix_testsuite測試套件是對linux系統open_posix符合性進行測試。

4.1.7   misc

misc包括系統crash,f00f,math,tcore_patch_test_suites測試。

4.2.1   commands模組內容描述及實現方法

序號

測試內容

子測試點

內容含義

指令碼說明

1

ade

ar

可以用來建立、修改庫,也可以從庫中提出單個模組

用來測試該系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands

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 -f commands

4

cron

在一定的時間間隔排程一些命令的執行

5

eject

退出抽取式裝置

測試指令碼為:

testcases/bin/

eject-test.sh

6

fileutils

cp

複製命令

用來測試改系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands

ln

符號連結命令

mkdir

建立目錄

mv

移動或重新命名

7

gzip

解壓縮命令

8

logrotate

管理記錄檔案

9

mail

收發郵件管理

10

su

變更使用者

測試指令碼為testcases/bin/su01,但在執行改指令碼之前,系統需要安裝有expect命令

11

tar

對檔案目錄進行打包備份

用來測試該系統命令的檔案是runtest/commands,可以通過runltp指令碼呼叫。例子:./runltp -f commands

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 -f commands

表7 commands實現方法

編號

測試項

子測試項

對應指令碼以及說明

含義

1

connectors

./runltp -f connecors

網路聯結器測試

2

fs

acl

測試方法:

testcases/bin/tar_tests.sh

 測試ACL(訪問控制列表)和Excent Attribute

備註:核心支援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 -f fs_ext4

ext4檔案系統測試

7

fs-bench

testcases/bin/test.sh

檔案系統的壓力測試

8

fs_bind

/testscripts/test_fs_bind.sh

測試LINUX核心的繫結安裝和共享子樹的能力

9

fs_di

./runltp -f fs

檔案系統的資料完整性

10

fs_inod

./runltp -f fs

在後臺執行多個程序來快速建立和刪除檔案,使用者可以指定建立的目錄、檔案數等

11

fs_maim

backbeat

maimparts

partbeat

fs_maim是儲存管理工具壓力測試集合

備註:因為fs_maim執行會損壞資料,因此並沒有編譯。詳情參找源目錄下到fs_maim目錄

12

fs_perms

測試指令碼:

./runltp -f fs_perms_simple

這個指令碼是測試檔案執行到許可權,群組和使用者組

13

fsstress

testcases/bin/fsstres;詳細用法可以參照該指令碼

檔案系統壓力測試

備註:檔案系統壓力測試預設新增到指令碼testscripts/ltpstress.sh或runltp或runalltests

14

fsx-linux

./runltp -f fs

fsx檔案系統的壓力測試

15

ftest

./runltp -f fs

16

inode

./runltp -f fs

17

lftest

./runltp -f fs

18

linktest

./runltp -f fs

迴歸測試檔案的連線,常見一個硬連結和一定數目的軟連結

19

mongo

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

mongo檔案測試

備註:測試mongo檔案可能會擦除以前的內容,會損壞檔案。詳細配置見源目錄下的mongo目錄

20

openfile

./runltp -f fs

21

proc

testscripts/adp.sh

在proc檔案系統上執行自動資料處理的壓力測試

22

quote_remount

./runltp -f fs

測試核心是否支援重新掛載額定的大小檔案

23

racer

./runltp -f fs

檔案操作測試如:建立檔案,刪除等操作

24

scsi

/testscripts/ltp-scsi_debug.sh

測試SCSI模組

25

stream

./runltp -f fs

檔案流寫入測試

26

module

/testscripts/load_

stress_all_kernel_modules.sh或

./runltp  -f modules

對核心模組進行測試

27

ipc

Ipc_stresss

./runltp  -f ipc

程序間通訊壓力測試

28

pipeio

./runltp  -f pipes

ipc的管道壓力

29

semaphore

./runltp  -f ipc

訊號量測試

30

pty

./runltp  -f pty

終端型別的壓力

31

timers

相關推薦

linuxLTP工具說明

LTP工具說明

Linux同步工具inotify+rsync使用詳解

server linux 通道 主機 Linux下同步工具inotify+rsync使用詳解 Posted on 2014-12-12 | In Linux | 9 | Visitors 4381. rsync1.1 什麽是rsyncrsync是一個遠程數據同步工具,可通過LAN/WAN

linuxDOS工具

site 使用 說明 -s 壓力 inux and linux下 tcp/ip 1.Hping3/Nping   TCP/IP數據包生成工具,用於壓力測試,安全審計 2.使用hping進行DOS攻擊 命令:hping3 -c 10000 -d 120 -S -w 64

Linux應急工具

rac reserve mar req contact system cal kthread smi Linux下的應急工具 在Linux下,應急的查看點無非那個幾個,一是看表現(宕機、高CPU、高內存、高IO、高網絡通信),二看連接、三看進程、四看日誌、五看文件(Lin

kail linux nc工具的基本使用(安全牛視頻)

效果 設計 思路 all 可靠 加密方法 了解 一個 網站 一、簡介 nc是netcat的簡寫,有著網絡界的瑞士×××美譽。因為它短小精悍、功能實用,被設計為一個簡單、可靠的網絡工具。 nc 常用的命令有兩個: 1、-v 輸出詳細的交互或者出錯信息 2、-n 如果後面是ip

Linux實用工具

音訊錄製:Audacity 串列埠除錯:cutecom HTTP_post/get:Postman 磁碟管理工具:gparted linux下第三方庫: jsoncpp(json解析)/*json.h和原始檔不能在用以目錄,原因未知*/ opencv(影象處理/只用到拍照)

linuxxclock工具沒有安裝的處理

我們在輸入xclock時,報找不到命令: [[email protected]dbserver ~]$ xclock -bash: xclock: command not found   如果排除了路徑找不到的問題,那麼,一般是

詳解Linuxauto工具製作Makefile原始碼包(製作篇)

收藏於 2012-03-25 遷移自個人的百度空間 -------------------------------- 一、 概述 為了更好的製作configure與Makefile,我先把製作流程給寫在這裡,好讓大夥都有個心理準備。這裡只說流程,不做解釋。(附圖供參考) 1

詳解Linuxauto工具製作Makefile原始碼包(工具安裝篇)

收藏於 2012-03-25 遷移自個人的百度空間 ------------------------------- 一、引子 咱們都知道make好用,但是大型的軟體make是很麻煩的,為了解決這個問題,先人們就發明了autoconf與automake工具,用這些工具可以非常方便的製作

linux程式設計工具推薦和配置-vim

工欲善其事,必先利其器 從網上找的兩個比較強大的程式碼編輯和工程開發工具,沉下心來,好好配置一下,畢竟程式碼是陪伴程式設計師一生最長久的夥伴,值得好好打理一下。 為了方便大家下載使用,我把它

Linux開發工具備註

編輯器-Vim 都知道vim是Linux下的編輯器之神,當然還有emacs也是特別NB的,個人在Linux下比較常用的也就是Vim了,接下來說說vim的一些配置技巧: 配置常見的程式碼模板 func Setfilehead() call append(0

Linux 防毒工具 clamav

 clamav 防毒工具;Linux下的防毒工具; 下載地址; 最新 包 0.101 官網下載地址:http://www.clamav.net/downloads最新包地址: https://clamav-site.s3.amazonaws.com/production/release_f

MonjaDB—MongoDB ubuntu linux管理工具 客戶端管理工具 mongovue的替換者

MonjaDB 是一個 MongoDB 的 GUI 客戶端工具,提供直觀的 MongoDB 資料管理的功能,支援 Windows/Mac/Linux. MonjaDB 是一個 Eclipse 外掛,必須先安裝 Eclipse。 主要特點: 易用WYSIWYG 編輯 JSO

linuxPing工具的C語言實現

前言:     ping命令是用來檢視網路上另一個主機系統的網路連線是否正常的一個工具     ping命令的工作原理是:向網路上的另一個主機系統傳送ICMP報文,如果指定系統得到了報文,它將把報文一模一樣地傳回給傳送者 ping實現的九大步驟:       第一步:建立i

linuxplink工具完全命令列遠端批量關機

轉自http://19793580.blog.hexun.com/78309198_d.html 我的作業系統是centos6.4 作業系統:rhel 6.2 x86_64 下載並安裝putty軟體包,本人下載了putty-0.62-1.el6.rf.x86_64.rp

linuxnmap工具的使用

 原貼:http://www.mscto.com/Unix_Linux/24680105.htmlMap,也就是Network Mapper,是Linux下的網路掃描和嗅探工 具包,其基本功能有三個,一是探測一組主機是否線上;其次是 掃描主機埠,嗅探所提供的網路服務;還可以推

Linuxpython工具不顯示圖形介面的解決方案

一、命令列輸入jupyter-notebook沒反應那是因為需要到圖形介面下開啟瀏覽器輸入http://localhost:8888/tree才可以,第一次登陸的時候還需要填寫一個token,在命令列有提示二、命令列輸入Spyder沒反應Linux 下給Spyder建立桌面快

Linux常用工具

solaris 10下快速部署samba服務作者:田逸([email protected]) 版權所有,未經本人許可,不得以任何方式轉載或傳播 samba服務是linux與windows共享檔案的一種方式,從某種意義上講,samba服務屬於檔案伺服器的一種。下面,我

Linuxcut工具的使用

cut命令從檔案的每一行剪下位元組、字元和欄位,並寫至標準輸出,如果不指定file引數cut命令將讀取標準輸入,使用cut命令時必須指定-b、-c或-f之一。 常用選項: 1、-b 選項:以位元組為

linuxadb工具的安裝

從別處轉來的,沒有看到原文連線,這裡特此宣告,如果原文作者有看到,請告知 第一步:啟動開發板,進入android系統後,在linux終端輸入lsusb命令查詢USB總線上的裝置,比如我這裡查詢結果如下: Bus 005 Device 001: ID 1d6b:0001