Ticket #23228

make test で test_data/ruby-dev:39722 が失敗する

Open Date: 2010-09-14 15:36 Last Update: 2010-09-15 10:53

Reporter:
Owner:
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

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 です。

test_data/ruby-dev:39722                Fail
*** tmp.result.bad	2010-09-14 14:51:49.652237026 +0900
--- tmp.expect.bad	2010-09-14 14:51:49.684237472 +0900
***************
*** 3,7 ****
  *
  0000100   a   a   a   a   a   a   a   ?   =  \n       =   ?   U   S   -
  0000120   A   S   C   I   I   ?   Q   ?   a   a   a   a   a   a   a   a
! 0000140   a   a   a   a   a   a   a   a   a   ?   =     033      \n
! 0000157
--- 3,9 ----
  *
  0000100   a   a   a   a   a   a   a   ?   =  \n       =   ?   U   S   -
  0000120   A   S   C   I   I   ?   Q   ?   a   a   a   a   a   a   a   a
! 0000140   a   a   a   a   a   a   a   a   a   ?   =       =   ?   I   S
! 0000160   O   -   2   0   2   2   -   J   P   ?   B   ?   G   y   R   C
! 0000200   J   C   I   b   K   E   I   =   ?   =  \n
! 0000213

また、Win32用のバイナリ(mingw32 の gcc 4.4.0、OpenWatcom 1.9 でコンパイル)でも 同じ部分で Fail となりましたが、実行環境の都合(必要なコマンドがない)により正確なログが 取れませんでした。

Ticket History (3/5 Histories)

2010-09-14 15:36 Updated by: sava
  • New Ticket "make test で test_data/ruby-dev:39722 が失敗する" created
2010-09-15 09:07 Updated by: naruse
  • Owner Update from (None) to naruse
Comment

nkf_test.pl で非 ASCII を使っていたのが原因だったようです。 つまり、テスト側の問題でした。 bbb280a で修正しています。

2010-09-15 09:08 Updated by: naruse
  • Resolution Update from None to Fixed
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2010-09-15 09:08
2010-09-15 09:51 Updated by: obache
Comment

これは、非ASCII が入っているのが問題ではなくて、$ が入っていて、変数として展開されてしまうのが問題のように見えます。私の環境では、ヒアドキュメントの終端文字列指定、<<eom を <<'eom' とシングルクォートで囲むことで変数展開を防げば、文字列はそのままでもテストは通るようになりました。

2010-09-15 10:53 Updated by: naruse
Comment

おぉ、確かに。 で、直接の原因は Makefile で、tarball を作るときに各ファイルのエンコーディングを ISO-2022-JP に変換していました・・・。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login