Linux测试项目
Linux Test Project是由SGI,OSDL和Bull发起的联合项目,由IBM,Cisco,Fujitsu,SUSE,Red Hat,Oracle等开发和维护。该项目的目标是向开源社区提供测试,以验证Linux的可靠性,健壮性和稳定性。
LTP测试套件包含用于测试Linux内核和相关功能的工具的集合。我们的目标是通过将测试自动化引入测试工作来改进Linux内核和系统库。鼓励有兴趣的开源贡献者加入。
项目页面位于:http : //linux-test-project.github.io/
最新的映像始终可以在以下位置获得:https : //github.com/linux-test-project/ltp/releases
关于该项目的讨论发生在ltp邮件列表中:http : //lists.linux.it/listinfo/ltp
git存储库位于GitHub上:https : //github.com/linux-test-project/ltp
修补程序实例位于:https : //patchwork.ozlabs.org/project/ltp/list/
警告!
这些测试要小心!
不要在生产系统上运行它们。生长文件,doio和iogen特别强调系统的I / O功能,尽管它们不应在正常运行的系统上引起问题,但它们旨在发现(或引起)问题。
运行测试的快速指南
如果您安装了git,autoconf,automake,m4,pkgconf / pkg-config,libc头文件,linux内核头文件和其他常见的开发软件包(请参阅INSTALL和travis / *。sh),则可能会发生以下情况:
$ git clone https://github.com/linux-test-project/ltp.git
$ cd ltp
$ make autotools
$ ./configure
现在,您可以继续编译和运行单个测试,也可以继续编译和安装整个测试套件。
对于可选的库依赖关系,请查看travis/
目录中主要发行版的脚本 。您还可以使用./build.sh
脚本构建整个LTP 。
运行单个测试的快捷方式
如果您需要执行一个测试,则实际上不需要编译整个LTP,如果要运行syscall测试用例,则应该可以进行以下工作。
$ cd testcases/kernel/syscalls/foo
$ make
$ PATH=$PATH:$PWD ./foo01
Shell测试用例要复杂一些,因为它们需要一个指向Shell库以及已编译的二进制帮助程序的路径,但通常情况下,应该可以使用。
$ cd testcases/lib
$ make
$ cd ../commands/foo
$ PATH=$PATH:$PWD:$PWD/../../lib/ ./foo01.sh
Open Posix Testsuite拥有自己的构建系统,需要首先生成Makefile,然后编译也应在子目录中进行。
$ cd testcases/open_posix_testsuite/
$ make generate-makefiles
$ cd conformance/interfaces/foo
$ make
$ ./foo_1-1.run-test
编译并安装所有测试用例
$ make
$ make install
这会将LTP安装到/opt/ltp
。
- 如果您有问题,请参阅
doc/mini-howto-building-ltp-from-git.txt
。 - 如果仍有问题,请参阅
INSTALL
和./configure --help
。 - 如果失败,请在邮件列表或Github上寻求帮助。
如果配置脚本找不到其构建依赖项,则将禁用某些测试。
- 如果
TCONF
由于缺少组件而导致测试返回,请检查./configure
输出。 - 如果由于缺少用户或组而导致测试失败,请参阅的“快速入门”部分
INSTALL
。
运行测试
运行所有测试套件
$ cd /opt/ltp
$ ./runltp
请注意,许多测试用例必须以root用户身份执行。
运行特定的测试套件
$ ./runltp -f syscalls
要与运行所有测试madvise
的名称
$ ./runltp -f syscalls -s madvise
另请参阅
$ ./runltp --help
测试套件(例如syscalls)在runtest目录中定义。每个文件均包含简单格式的测试用例列表,请参阅doc / ltp-run-files.txt。
每个测试用例都有自己的可执行文件或脚本,可以直接执行
$ testcases/bin/abort01
有些人有争论
$ testcases/bin/fork13 -i 37
绝大多数测试用例都接受-h(帮助)开关
$ testcases/bin/ioctl01 -h
许多要求设置某些环境变量
$ LTPROOT=/opt/ltp PATH="$PATH:$LTPROOT/testcases/bin" testcases/bin/wc01.sh
最常见的是,需要设置path变量,也需要设置LTPROOT
,但是还有许多其他变量,runltp
通常会为您设置这些变量。
请注意,所有shell脚本都需要PATH
设置。但是,这不仅限于shell脚本,许多基于C的测试也需要环境变量。
有关更多信息,请参见https://github.com/linux-test-project/ltp/wiki/User-Guidelinesdoc/user-guide.txt
或在线获取 。
网络测试
网络测试需要进行某些设置,如testcases/network/README.md
(在https://github.com/linux-test-project/ltp/tree/master/testcases/network上在线描述)和中所述INSTALL
。