nkf_test.pl で非 ASCII を使っていたのが原因だったようです。 つまり、テスト側の問題でした。 bbb280a で修正しています。
これは、非ASCII が入っているのが問題ではなくて、$ が入っていて、変数として展開されてしまうのが問題のように見えます。私の環境では、ヒアドキュメントの終端文字列指定、<<eom を <<'eom' とシングルクォートで囲むことで変数展開を防げば、文字列はそのままでもテストは通るようになりました。
おぉ、確かに。 で、直接の原因は Makefile で、tarball を作るときに各ファイルのエンコーディングを ISO-2022-JP に変換していました・・・。
nkf 2.1.1 リリース版をコンパイルし、make test を実行したところ、test_data/ruby-dev:39722 の テストが Fail となりました(他のテストはすべて OK)。
make test 時のログの該当部分は以下のようになっています。 テスト環境は PuppyLinux 4.3.1JP、gcc 4.2.2、perl 5.8.8 です。
また、Win32用のバイナリ(mingw32 の gcc 4.4.0、OpenWatcom 1.9 でコンパイル)でも 同じ部分で Fail となりましたが、実行環境の都合(必要なコマンドがない)により正確なログが 取れませんでした。