Rails edge vs. Ruby 1.9RC1

Hey folks, I think we’re getting close to actually having all tests pass under Ruby 1.9RC1. It’d be nice to be able to announce preliminary 1.9 support when 2.3 releases. Currently, all tests pass for Active Support, Active Record (with MySQL, PostgreSQL, sqlite2 and sqilite3), Active Model, Active Resource, ActionPack, and ActionMailer. The holdout is RailTies. Here’s the output from the experimental CI server that I have building against 1.9:

[CruiseControl] Building RailTies /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/gempackagetask.rb:13:

Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009. (in /home/webadmin/.cruise/projects/rails19/work/railties)

Loaded suite test/rails_info_test

Started …

Finished in 0.073326 seconds. 7 tests, 12 assertions, 0 failures, 0 errors, 0 skips

Loaded suite test/rails_generator_test

Started …

Finished in 0.076885 seconds.

11 tests, 137 assertions, 0 failures, 0 errors, 0 skips

/home/webadmin/.multiruby/install/v1_9_1_rc1/lib/ruby/1.9.1/minitest/unit.rb:328:in block in autorun': unexpected return (LocalJumpError) <internal:gem_prelude>:249:in push_gem_version_on_load_path’: undefined method <=>' for nil:NilClass (NoMethodError) from <internal:gem_prelude>:14:in gem’ from /home/webadmin/.cruise/projects/rails19/work/railties/test/abstract_unit.rb:8 :in <top (required)>' from [test/rails_info_controller_test.rb:1](http://ci.larkware.com:3333/projects/code/rails19/test/rails_info_controller_test.rb?line=1#1) :in require’ from test/rails_info_controller_test.rb:1:in `’ rake aborted! Failures /home/webadmin/.cruise/projects/rails19/work/railties/Rakefile:32

So, everything goes swimmingly until we hit rails_info_controller_test, which is the first in the group that requires abstract_unit, and then we crash and burn.

I’d be happy to chase this a bit if someone has a hint on where to look. My preliminary take is that is has to do with the way we have the rake file set up for railties, but I expect someone else has some concrete information about what’s going on there.

I fixed this by hardcoding the version in /usr/bin/rails to 2.2.2 (since that's what gem I had installed), then generating an application and freezing edge rails by using git clone git@github.com/ rails/rails.git to vendor/rails. More information here: