Perplexing unit test issue

Because we’re now using views, I had to upgrade to mysql 5 on a
project using Rails 1.0. Updated my mysql gem accordingly (which
required upgrading xcode). Ruby 1.8.2, MacOS X (10.4.6)

Worked fine several times (even before updating the mysql gem, then
suddenly it just balked and stopped working, giving the spew below.

Have also dropped (and recreated) both the test and development
databases, no change in error.

Did I mention that it’s perfectly happy in development and production
when it’s not copying the structure?

$ rake test_units --trace
(in /Users/deirdre/Desktop/datadomain/docmanager)
** Invoke test_units (first_time)
** Invoke prepare_test_database (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute prepare_test_database
** Invoke clone_structure_to_test (first_time)
** Invoke db_structure_dump (first_time)
** Invoke environment
** Execute db_structure_dump
rake aborted!
You have a nil object when you didn’t expect it!
You might have expected an instance of Array.
The error occured while evaluating nil.+
/Users/deirdre/Desktop/datadomain/docmanager/config/…/vendor/rails/
activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:
236:in structure_dump' /Users/deirdre/Desktop/datadomain/docmanager/config/../vendor/rails/ activerecord/lib/active_record/connection_adapters/mysql_adapter.rb: 235:in inject’
/Users/deirdre/Desktop/datadomain/docmanager/config/…/vendor/rails/
activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:
235:in each' /Users/deirdre/Desktop/datadomain/docmanager/config/../vendor/rails/ activerecord/lib/active_record/connection_adapters/mysql_adapter.rb: 235:in inject’
/Users/deirdre/Desktop/datadomain/docmanager/config/…/vendor/rails/
activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:
235:in structure_dump' /Users/deirdre/Desktop/datadomain/docmanager/config/../vendor/rails/ railties/lib/tasks/databases.rake:42 /Users/deirdre/Desktop/datadomain/docmanager/config/../vendor/rails/ railties/lib/tasks/databases.rake:42:in open’
/Users/deirdre/Desktop/datadomain/docmanager/config/…/vendor/rails/
railties/lib/tasks/databases.rake:42
/Users/deirdre/Desktop/datadomain/docmanager/config/…/vendor/rails/
railties/lib/tasks/databases.rake:37:in call' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in execute’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in each' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in execute’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in invoke' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in synchronize’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:364:in invoke_prerequisites’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:363:in each' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:999:in send’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:999:in each' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:363:in invoke_prerequisites’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:356:in invoke' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in synchronize’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke' /Users/deirdre/Desktop/datadomain/docmanager/config/../vendor/rails/ railties/lib/tasks/databases.rake:133 /Users/deirdre/Desktop/datadomain/docmanager/config/../vendor/rails/ railties/lib/tasks/databases.rake:132:in call’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in
execute' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in
execute' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in invoke’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in
synchronize' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:364:in
invoke_prerequisites' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:363:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:999:in send' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:999:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:363:in
invoke_prerequisites' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:356:in invoke’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in
synchronize' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in run' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in each’
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in run' /usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/bin/rake:7 /usr/local/bin/rake:18:in load’
/usr/local/bin/rake:18


_Deirdre http://deirdre.net