Gantの単体テストが通らない件。
なんだかねぇ。まぁ、Gantのビルドファイルを生成して、それを食わせてってやっているから仕方無いんだけど。
まずWindows環境では、絶対通らない。パスセパレータの問題。いや、ちゃんとね File.pathSeparator使っているんだけどさ、ビルドファイルを生成する時に'c:\xxx'とかになっちゃうんで、\xがエスケープシーケンスと思われちゃうんだよね。
あと空白入りのファイルがWindowsだと、ショート名(DOSとかのために、空白が入らないようしたやつ)と、普通(?)のがあって、それが一致しないんでテスト失敗になるところがある。どうもFileでは、getAbsolutePath()が、前者を、getCanonicalPath()が後者を返すようなんだけど、Gantはエラーメッセージでは後者を、テストケースの中では前者を使ってるんで、一致しない。
で、file not foundみたいなエラーメッセージでassert()してるんで、日本語環境だとエラーメッセージも日本語になってテストが通らない。
困ったもんだ。もとはと言えば、xjcをExecute.shell()したら、ストリームが詰まる問題で、Windowsだとハングるんで、パッチでも送るかと思い、単体テストを流したことから始まったんだよな。あやうく最初の目的忘れるところだったよ。というか、すっかり萎えてしまって、どうでも良くなってきてしまった。
P.S. とりあえずMLに投げてみたら、速攻で修正してくれた模様。良かった良かった。





