1

キャプチャされたコマンドと stdout は次のとおりです。

$perlcritic --gentle . | nl -nln | sed 's/\(.*source OK\)$/ok \1/' | sed '/source OK$/!s/^.*$/not ok &/' | tee perlcritic_tap.results.1

出力:

not ok 1        Bareword file handle opened at line 184, column 17.  See pages 202,204 of PBP.  (Severity: 5)
not ok 2        Two-argument "open" used at line 184, column 17.  See page 207 of PBP.  (Severity: 5)
not ok 3        Bareword file handle opened at line 311, column 9.  See pages 202,204 of PBP.  (Severity: 5)
not ok 4        Two-argument "open" used at line 311, column 9.  See page 207 of PBP.  (Severity: 5)
not ok 5        Bareword file handle opened at line 371, column 12.  See pages 202,204 of PBP.  (Severity: 5)
not ok 6        Two-argument "open" used at line 371, column 12.  See page 207 of PBP.  (Severity: 5)
not ok 7        Bareword file handle opened at line 390, column 13.  See pages 202,204 of PBP.  (Severity: 5)
not ok 8        Two-argument "open" used at line 390, column 13.  See page 207 of PBP.  (Severity: 5)
not ok 9        Bareword file handle opened at line 522, column 5.  See pages 202,204 of PBP.  (Severity: 5)
not ok 10       Two-argument "open" used at line 522, column 5.  See page 207 of PBP.  (Severity: 5)
not ok 11       Bareword file handle opened at line 615, column 10.  See pages 202,204 of PBP.  (Severity: 5)
not ok 12       Two-argument "open" used at line 615, column 10.  See page 207 of PBP.  (Severity: 5)

ファイルの内容を確認します。

more perlcritic_tap.results.1 

not ok 1        Bareword file handle opened at line 184, column 17.  See pages 202,204 of PBP.  (Severity: 5)
not ok 2        Two-argument "open" used at line 184, column 17.  See page 207 of PBP.  (Severity: 5)
not ok 3        Bareword file handle opened at line 311, column 9.  See pages 202,204 of PBP.  (Severity: 5)
not ok 4        Two-argument "open" used at line 311, column 9.  See page 207 of PBP.  (Severity: 5)
not ok 5        Bareword file handle opened at line 371, column 12.  See pages 202,204 of PBP.  (Severity: 5)
not ok 6        Two-argument "open" used at line 371, column 12.  See page 207 of PBP.  (Severity: 5)
not ok 7        Bareword file handle opened at line 390, column 13.  See pages 202,204 of PBP.  (Severity: 5)
not ok 8        Two-argument "open" used at line 390, column 13.  See page 207 of PBP.  (Severity: 5)
not ok 9        Bareword file handle opened at line 522, column 5.  See pages 202,204 of PBP.  (Severity: 5)
not ok 10       Two-argument "open" used at line 522, column 5.  See page 207 of PBP.  (Severity: 5)
not ok 11       Bareword file handle opened at line 615, column 10.  See pages 202,204 of PBP.  (Severity: 5)
not ok 12       Two-argument "open" used at line 615, column 10.  See page 207 of PBP.  (Severity: 5)

次に、TAP 形式の先頭部分を追加します。

echo 1.. `wc -l < perlcritic_tap.results.1` | cat - perlcritic_tap.results.1  > perlcritic_tap.results

perlcritic_tap.results:

1.. 12
not ok 1        Bareword file handle opened at line 184, column 17.  See pages 202,204 of PBP.  (Severity: 5)
not ok 2        Two-argument "open" used at line 184, column 17.  See page 207 of PBP.  (Severity: 5)
not ok 3        Bareword file handle opened at line 311, column 9.  See pages 202,204 of PBP.  (Severity: 5)
not ok 4        Two-argument "open" used at line 311, column 9.  See page 207 of PBP.  (Severity: 5)
not ok 5        Bareword file handle opened at line 371, column 12.  See pages 202,204 of PBP.  (Severity: 5)
not ok 6        Two-argument "open" used at line 371, column 12.  See page 207 of PBP.  (Severity: 5)
not ok 7        Bareword file handle opened at line 390, column 13.  See pages 202,204 of PBP.  (Severity: 5)
not ok 8        Two-argument "open" used at line 390, column 13.  See page 207 of PBP.  (Severity: 5)
not ok 9        Bareword file handle opened at line 522, column 5.  See pages 202,204 of PBP.  (Severity: 5)
not ok 10       Two-argument "open" used at line 522, column 5.  See page 207 of PBP.  (Severity: 5)
not ok 11       Bareword file handle opened at line 615, column 10.  See pages 202,204 of PBP.  (Severity: 5)
not ok 12       Two-argument "open" used at line 615, column 10.  See page 207 of PBP.  (Severity: 5)

しかし、Jenkins に TAP ファイル形式を認識させることができず、エラーが発生します。

Found matching files but did not find any TAP results.
4

3 に答える 3

4

プラグインのバグです。別のファイル拡張子を指定したにもかかわらず、*.tap が検索されます (プラグイン開発者はおそらく酔ってそのコードを書きました)。この の問題を記入しましたが、次の手順を実行することで、現在のバージョン (1.6) の TAP プラグインで結果を機能させることができます。

1)あなたが言及したように、TAPプランのスペースを削除します(つまり、1..12ではなく1..12)。

2) perlcritic_tap.results を書き込む代わりに、perlcritic_tap.tap を使用します。

このためのパッチを準備しており、数時間以内にリリースする予定です。更新サイトが Jenkins で同期されるまでにはしばらく時間がかかりますが、月曜日までに職場でプラグインを問題なく使用できるようになることを願っています。

何か必要な場合はお知らせください。私はここではまったく新しいので、さらにリンクを追加するのに十分な Karma を持っていませんが、Jenkins JIRA の問題に TAP ファイルを使用するプラグインのスクリーン ショットを添付しました ;-)

よろしくお願いします-kinow

于 2012-10-20T21:21:24.243 に答える
3

私はそれがあなたの計画の余分なスペースだと思います. 代わりに 1..12 を試してください。(..の後にスペースはありません)

Jenkins JUnit プラグインを次のように使用しました。

--formatter=TAP::Formatter::JUnit を証明する

于 2012-10-13T00:43:56.753 に答える
1

テストを Jenkins に取り込む際に、 JUnit TAP ハーネスで成功しました。最新バージョンでは、環境変数を介してテストをパッケージにグループ化することもできます。

export JUNIT_OUTPUT_FILE="$WORKSPACE/junit_app.xml"
export JUNIT_PACKAGE="app"
cd $WORKSPACE/Offer; prove -I ./lib -v --harness=TAP::Harness::JUnit

メンテナーは反応が良いようです (パッケージ env-var は私が実装した小さなパッチでした) ので、制限がある場合は修正できるはずです。

于 2012-10-12T15:10:07.300 に答える