Apr 12, 2009

Migration of Checkvist to Rails 2.3

I decided to migrate Checkvist to new and fresh Rails 2.3 (or 2.3.2, to be more specific).

I cannot say I really need features from 2.3, but I think it worth using the latest release (especially given that I already had to patch my Rails 2.2.2 installation to remove some bugs from it).

As usual, the migration turns to be an adventure:

  • Change all tests which extend Test::Unit::TestCase and use fixtures with ActiveSupport::TestCase
  • Many test failures were fixed by adding self.use_transactional_fixtures = false to test_helper.rb
  • Fixed tests with cookies (see a good post with the explanation)
  • Faced a bug with cookie escaping in tests. This bug is not fixed in 2.3.2, so some tests are failing unless edge 2.3.x is used.
  • DEPRECATION: formatted_ paths had to be replaced. Replaced.
  • DEPRECATION: session.delete => session.clear
  • DEPRECATION: session.session_id => request.session_options[:id] (faced another already fixed bug)

Some of these issues are described in Rails 2.3 change log. And some (like bugs ;) are not.

So now, tests are successful again (for the latest 2.3 branch). But I'm not going to update production yet, will do some more testing. And, probably, wait for 2.3.3.