Rails core testing, process, pointers

I've got a few ideas for things I'd like to work on and submit to core, but getting my head wrapped around the testing process for rails itself (as opposed to an rails app) is proving slower than I had wanted. Specifically, I've noticed a) that testing works inconsistently if I'm working on JUST RAILS in it's own directory vs. working on rails in vendor/rails/ from within an established application, and b) I'm unsure of how to turn on logging while running unit tests on rails itself - I'd like to see the sql flying by to make sure my tests and changes are doing what I think they're doing.

I've read through various blog and email posts, and have made some progress, but I have yet to find anything really comprehensive. Josh Susser's "Laying Tracks" pdf was a simple-but-great intro to the *process* of contributing, but now I need to get down into the details of discovering the tools at my disposal during that process.

Any pointers to things that might assist me here (or answers to my above questions)?


I may have jumped the gun on this -- can someone confirm that running the test_active_record_integration actionpack tests in current trunk are broken?

The changes I'd like to test/patch are related to pagination, and I'll gladly work on repairing these tests as well if someone can confirm my suspicion (that they're broken in edge) and give me a starting pointer.


Yeah, I'm getting massive breakage too. I'll PDI.


All the breakage appears to be because of changes to the cgi
extensions in action controller. raw_post_data_fix.rb specifically.
Can someone more familiar with that take a look?

Yeah, I got as far as determining that 'env_qs' in read_query is
sometimes nil and other places expect it not to be without
compensating for the fact that it apparently might be. Then I
realized that only did I not know what changes might have been made
in edge to cause that, but I didn't know enough about CGI.rb either,
and stopped.

Changing it to check for nil and return an empty string instead if it
is alleviated some of the breakage, but I had no idea *why* I was
making that change, only that it helped my test passing efforts.

Set ENV[‘REQUEST_URI’] = ‘/’ before the call to CGI.new.


Fixed in [4807](http://dev.rubyonrails.org/changeset/4807)