Logical Rabbit.

さくらのVPS

MediaWiki:: Botのテストが失敗する件 (t/18-is_blocked.t)

依頼されて 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 してみたところ、あっさり通りましたとさ。

ぐぬぬ。