カスタム動的分析ツールを CDashに統合しようとしています。KWStyle、CppCheck、Visual Leak Detector など。
DynamicAnalysis.xml ファイルを生成し、CTest スクリプトから CDash に送信する必要があることがわかりました。
外部ツールを ctest スクリプトの一部として実行する方法を知っていると思います。
これらの変数を使用して ctest_memcheck() の動作
を
変更
する
または execute_process() コマンドからツールを実行します。
でも、どれを使えばいいのかわからない。
私が抱えている主な問題は、カスタム ツールの出力からエラーを抽出し、その情報を DynamicAnalysis.xml に含めて送信するにはどうすればよいかということです。
私が見る極端な解決策は、有効な DynamicAnalysis.xml ファイルを生成するプログラムを作成する必要があるということです。
しかし問題は、XML ファイルの DefectList 要素の構文がわからないことです。Google からの回答は見つかりませんでした。そのファイルの XML スキーマでさえ役に立ちません。
編集:
これを見る:
http://www.cdash.org/CDash/viewDynamicAnalysis.php?buildid=987149
私の注意を引くのは、ラベル、特に空のラベルです。これらが DynamicAnalysis.xml ファイルからどのように得られるかわかりません。たぶん、これまでに登場したレーベルを追跡しているのでしょうか?どうにかして独自のカスタム ラベルを作成できますか?
ツールの種類に応じて、CDash は自動的にラベルを作成しますか? これはカスタム欠陥タイプをブロックしますか?
ここで推測しているだけなので、質問は次のとおりです。DynamicAnalysis.xml ファイルを生成するだけで、カスタム ツールのカスタム ラベルを作成できますか?
たとえば、valgrind と比較して、CppCheck (静的コード分析) からのさまざまなエラーの量が膨大であることがわかりました。動的分析を使用する必要があるかどうかはわかりません。カスタム ビルド タイプ (Continuous / Experimental / Nightly) の方がうまくいくかもしれません。このように:
http://www.cdash.org/CDash/buildSummary.php?buildid=930174
これを行う方法がわかりません。CDash コードをいじる必要があると思いますか?
どちらがうまくいくでしょうか?