2008-02-16から1日間の記事一覧

仕様が MRI と Rubinius で異なる場合の spec ファイルの書き方

SyntaxError のように仕様が MRI と Rubinius で異なる場合、spec ファイルの書き方には注意が必要である。一般的には、次のように書いてしまいがちだ。 if defined?(RBX_VERSION) # Rubinius のとき ... test code ... else # そうでないとき ... test code…

SyntaxError の仕様が Rubinis と MRI とで違う

Rubinis と MRI とでは、SyntaxError クラスの仕様が結構違う。 MRI では SyntaxError#message にファイル名と行番号が含まれるが、Rubinius では含まれない。 Rubinius には SyntaxError#file と SyntaxError#line が定義されており、これでファイル名と行…

spec ファイルを Rubinius 以外でテストする

Rubinius の spec ファイルは、なんと Rubinius 以外でも実行できるような仕掛けがすでに用意されていた。実行はいたって簡単で、bin/ci コマンドのオプションに -t ruby とか -t jruby とかをつけるだけ。 $ cd rubinius.code $ bin/ci -t ruby spec/ruby/1…