フォーチュンサモナーズ
«前の日記(2008-05-01) 最新 次の日記(2008-05-08)» 編集

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2008-05-06

_ [Ruby] Edge Rails の ActiveRecord は 1.8.6 も 1.8.7 pre2 もテストの結果が変わらない このエントリーを含むブックマーク

ruby 1.8.7 pre2 で activerecord-2.0.2 のテストを実行すると割りと失敗してる件の続きです。

Edge Rails ならすでに 1.8.7 対応しているかもと思って試してみました。

1.8.6

test_mysql
1452 tests, 5139 assertions, 2 failures, 1 errors
test_sqlite3
1422 tests, 5086 assertions, 0 failures, 1 errors

1.8.7 pre2

test_mysql
1452 tests, 5139 assertions, 2 failures, 1 errors
test_sqlite3
1422 tests, 5086 assertions, 0 failures, 1 errors

失敗やエラーがあるのはまあ edge なのでしょうがないとして、1.8.6 でも 1.8.7 pre2 でも結果が変わりませんでした。もちろん以前の日記に書いたような 1.8.7 での仕様変更に伴うエラーもありません。

いまの Edge Rails は 2.1.0 になるのでしょうから、おそらく Ruby 1.8.7 は Rails 2.1.0 以上推奨ということになりますね。Rails ユーザが Ruby 1.8.7 にバージョンアップするのは Rails 2.1.0 がリリースされるまで待ち(どっちが先になりますかね)、既存の Rails アプリは Ruby 1.8.6 以下のままで動かすのが無難でしょう。

他のコンポーネントのテスト結果

ついでに他のコンポーネントのテストも実行してみました。

ActionPack
途中で SEGV って終了……
ActiveSupport
1355 tests, 6515 assertions, 0 failures, 0 errors
ActiveResource
132 tests, 371 assertions, 0 failures, 0 errors
ActionMailer
98 tests, 237 assertions, 0 failures, 0 errors
railties
すべて 0F0E

ActionPack で落ちるのは[ruby-dev:34532] ruby_1_8でform_tagが動かないの件でしょうか。他は問題なさそうですね。

ActionPack のテストで落ちる件

やはり、[ruby-dev:34532] ruby_1_8でform_tagが動かないの件でした。r15856 の変更を戻した ruby 1.8.7 pre2 で EdgeRails の ActionPack のテストを実行したところ、正常に終了しました。

1907 tests, 9146 assertions, 0 failures, 0 errors

[BUG] と出て落ちますし、ActionPack の修正で回避するよりも、Ruby 側を直した方がいいんじゃないですかね。

2008/05/19 追記

Ruby 1.8.7 preview3 でも結果は同じでした。

_ [Ruby] [ruby-dev:34532] ruby_1_8でform_tagが動かないの件の絞込み このエントリーを含むブックマーク

helper_method で定義されたヘルパーメソッドを呼ぶと落ちるみたいです。つまり、form_tag ではなくて、

% rails sample
% cd sample
% ruby18 ./script/generate controller sample index
% echo '<% protect_against_forgery? %>' >> app/views/sample/index.html.erb
% ruby -pi~ -e 'sub(/assert.*/){"get :index"}' test/functional/sample_controller_test.rb
% ruby18 test/functional/sample_controller_test.rb

で落ちます。protect_against_forgery? の代わりに form_authenticity_token でも同様。

しかし、これを最小コードに落とし込むのは結構面倒そうですね。。。

お名前:
E-mail:
コメント:
[]

最近のコメント:

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).