依頼されて MediaWiki::Bot 5.006002 をインストール中なわけですが、t/18-is_blocked.tとt/29-get_log.tが自動テストに失敗する。で、まずはt/18-is_blocked.tの調査。
元ソースは以下。
https://github.com/MediaWiki-Bot/MediaWiki-Bot/blob/master/t/18-is_blocked.t
問題の箇所(line 38)は、先行する line 31で決定された$resultの評価をしており、どうやらブロックされたユーザーについてAPIで問い合わせ、「ブロックされているぞ!」という答えを期待しているらしい。
line 31; my $result = $bot->is_blocked('User:Hiwhispees');
しかし、問い合わせに行っている test.wikipedia.org には “Hiwhispees” というユーザーは見当たらず、代わりに “Hiwhispees~testwiki” がいらっしゃる。しかもブロックされて。
…こっちぢゃねぇの…?
MediaWiki::Botのソースを読んで本来呼び出していると思われるURLを特定し、APIをじかにひっぱたいて見ると、やっぱり “Hiwhispees” だと結果が空、"Hiwhispees~testwiki" だと中身がある。
で。
t/18-is_blocked.t のline 31を “Hiwhispees~testwiki” に変えて make test してみたところ、あっさり通りましたとさ。
ぐぬぬ。