100 fav されたので MacBook Air 11インチ を買ったら spell がなくてxt/podspell.t がコケた

Mac に戻ってくるのはもう6~7年ぶりなのか、当時は Intel Mac なんて無くて PowerPC でした。全体的な UI は昔からさほど変わった感じはしないですね。

さっそく環境を整えていたら github から持ってきたモジュールのテストがコケる。
こんな感じのテストを使っていたんですが、 spell は OSX には無いらしく、今まで Linux でしか作業してなかったのでだいぶ嵌りました。

podspell.t

use Test::More;
eval q{ use Test::Spelling };
plan skip_all => "Test::Spelling is not installed." if $@;
add_stopwords(map { split /[\s\:\-]/ } <DATA>);
$ENV{LANG} = 'C';
all_pod_files_spelling_ok('lib');
__DATA__

spell がないと怒られます。

sh: spell: command not found

はてどうしたものかと CPAN モジュールを漁って見ると、各々思い思いの方法で podspell.t を書いているようでした。

そこで参考にしたのは、いろいろな環境の開発者がいて xt/ が多く走っていそうな Plack のテストを参考にしてみました。aspell が存在する場合には aspell を使い、ない場合には spell を使う方法が良さそうです。

Plack-0.9973/xt/podspell.t

use Test::More;
eval q{ use Test::Spelling };
plan skip_all => "Test::Spelling is not installed." if $@;
add_stopwords(map { split /[\s\:\-]+/ } <DATA>);
$ENV{LANG} = 'C';
set_spell_cmd("aspell -l en list") if `which aspell`;
all_pod_files_spelling_ok('lib');

__DATA__