PerlのTest(prove)結果をSlackに通知する

proveの結果をslackに通知したかったので、安易ですが以下のような感じにしてみました。

まず、以前書いたように(App::Prove::Plugin::HarrietでTest::mysqldを起動する)Harrietを使って、t/harriet/の下にutil.plを追加してみました。

my $result = '';

use Tie::STDOUT print => sub {
    if ( $_[0] =~ /^Result/ ) {
        $result .= $_[0];
    }
    print $_[0];
};

END {
    # ここで、$resultをslackに送る処理
}

Tie::STDOUTで、printされたtextを拾っていくんですが、proveのResultだけが欲しかったので、とりあえず上記のような感じで。
これで、標準出力に出てきたproveの結果の中から、Resultの行だけを取得できたので、あとはSlackに送るだけですね。
まぁ、こんなのJenkinsでやれよって感じですが。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください