LTP(Linux Test Project)

Linux Test Project 是由SGI、OSDL和Bull开发和维护的一个项目,由IBM、思科、富士通、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

其他说明

最早ltp的源码在sourceforge上:http://ltp.sourceforge.net/

当然目前已经移到github上了:https://github.com/linux-test-project/ltp

警告

测试一定要小心

不要在生产系统上运行它们。Growfiles、doio和iogen会对系统的I/O功能造成特殊的压力,虽然它们不会在功能正常的系统上造成问题,但是他们的目的就是为了寻找(或触发)问题。

快速测试方法

安装

如果您系统上安装的有git、autoconf、automake、m4、linux头文件和通用开发包,直接执行下面的命令即可。
比如:我当前测试的环境是CentOS 7.4,安装的有kernel-headers和kernel-devel包,还有一下安装原则是,报什么依赖错误,直接安装对应的rpm即可。

# git clone https://github.com/linux-test-project/ltp.git
# cd ltp
# make autotools
# ./configure
# make
# make install

默认LTP会安装在/opt/ltp目录下。

测试

运行所有测试用例

# cd /opt/ltp
# ./runltp

需要使用root用户执行,原因是一些测试用例需要root权限。

运行一个特定的测试套件

# ./runltp -f syscalls
# ./runltp -f syscalls -s madvise

当然也可以看帮助:

# ./runltp --help