私は毎夜のソフトウェアテストを自動化するために Jenkinsというツールを使っています.今回は,valgrind を使ってメモリーリークのテストを自動化することにし ました.その際,エラーの数の結果をグラフとして表そうと思って,Plot plugin を使うことにしました.
Plot plugin の例図からは,複数のデータラインを描くことができるのは明らかなのですが,どうやったらいいのかは参照のページや,例としてあった Perl script,plugin 中の help からは私にはよくわからなかったのです.
ここで重要な考えは,それぞれのデータラインにはそれぞれの出力ファイルが必要ということでした.私はこれを誤解していました.
例として,ビルドの時に次の property データファイルを出力します.それぞれのファイルが1つのデータラインを表します.
それぞれのデータの中身は1行のデータ点です.たとえば,valgrind_trunk_result.definitely.property ファイルの中身は次のような1行
です.
YVALUE=0
このファイルを ${WORKSPACE} ディレクトリ以下に出力します.ここで,"WORKSPACE" は jenkins が提供する環境変数です.
図1が私の plot plugin の設定を示しています.これは jenkins の config 画面です.3つの data series があって,それぞれにデータファイルがあります.
図2が結果です.複数の線が描かれているのがわかります.(実際には 3 本の線がありますが,最初の線と2番目の線が同じデータなので,重ねって見えません.)
Plot plugin の例図からは,複数のデータラインを描くことができるのは明らかなのですが,どうやったらいいのかは参照のページや,例としてあった Perl script,plugin 中の help からは私にはよくわからなかったのです.
ここで重要な考えは,それぞれのデータラインにはそれぞれの出力ファイルが必要ということでした.私はこれを誤解していました.
例として,ビルドの時に次の property データファイルを出力します.それぞれのファイルが1つのデータラインを表します.
- valgrind_trunk_result.definitely.property
- valgrind_trunk_result.indirectly.property
- valgrind_trunk_result.possibly.property
それぞれのデータの中身は1行のデータ点です.たとえば,valgrind_trunk_result.definitely.property ファイルの中身は次のような1行
です.
YVALUE=0
このファイルを ${WORKSPACE} ディレクトリ以下に出力します.ここで,"WORKSPACE" は jenkins が提供する環境変数です.
図1が私の plot plugin の設定を示しています.これは jenkins の config 画面です.3つの data series があって,それぞれにデータファイルがあります.
Figure 1: Plot plugin configuration in Jenkins |
図2が結果です.複数の線が描かれているのがわかります.(実際には 3 本の線がありますが,最初の線と2番目の線が同じデータなので,重ねって見えません.)
Fugure 2: Plot data with multiple data lines |
Comments
Post a Comment