LTPとは
LTP(Linux Test Project)とはLinuxの信頼性、堅牢性、および安定性を検証するテストスイートを提供するオープンソースソフトウェア。
公式サイト:http://ltp.sourceforge.net/
Githubページ:https://github.com/linux-test-project/ltp
インストール
本記事執筆時の最新リリース版(20130904)をインストールする
$ wget https://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20130904/ltp-full-20130904.tar.xz
$ tar Jxvf ltp-full-20130904.tar.xz
$ cd ltp-full-20130904/
$ ./configure
$ make
# make install
上記手順により/opt/ltpに
インストールされる
※今回のインストール環境はUbuntu 12.04 LTS 64bit on Vagrant
LTP実施
$ cd /opt/ltp
# ./runltp
検証結果はresult
やoutput
配下に作成される。
結果に失敗や警告が出たらコンソールログを確認。
しかし、それだけでは分からないことが多々あるので、その時はテストのソースコードなどの確認をする。
カーネルコンフィグやコマンドといった特定の機能の有無を検証していることもあるので、失敗が出たからといってシステムに問題があるとは限らない。
検証項目の指定
何もオプションしてせずにruntlp
を実行するとデフォルで設定されたシステムコールやメモリ周りなどの基本的な検証項目を実施する。
この場合、1500件ぐらい実施し、2時間程度かかるので検証項目を簡略化するときはrunltplite.sh
を実行、または-f
オプション指定で検証項目を指定する。
# ./runltp -f syscalls
検証項目およびそれぞれの項目はruntest配下のファイルが該当する。
各ファイルを開くことでそれぞれの項目で検証される1つ1つのテストを確認することができる。
また、コメントアウトすることで書くテスト実施有無の設定を行うことができる
検証結果をHTML出力する
-g
オプションでファイル名を指定することで、
以下のようなHTML形式の検証結果レポートを出力することができる。
# ./runltp -f syscalls -g syscalls.html
※runltpはbashでの動作を前提としているようで、ubuntuなどの/bin/shがdashにシンボリックリンクされている環境ではレポート出力処理途中でエラーが生じた。
そのような場合はrunltpを編集し、#!/bin/bash
として動作させた。
- その他オプションは
---help
オプションで確認できる。 - ネットワーク周りの検証項目は対向機の設定が必要となる。