views:

234

answers:

1

New user, haven't been building tests as I go, so I'm an idiot.

The application is running, but the tests fail. Here is what appears to be relevant:

....

** Execute test:units /usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/event_test.rb" "test/unit/helpers/calendar1_helper_test.rb" "test/unit/helpers/events_helper_test.rb" "test/unit/helpers/homepage_helper_test.rb" "test/unit/helpers/main_helper_test.rb" "test/unit/helpers/mobile_helper_test.rb" "test/unit/helpers/notes_helper_test.rb" "test/unit/helpers/password_resets_helper_test.rb" "test/unit/helpers/projects_helper_test.rb" "test/unit/helpers/search_helper_test.rb" "test/unit/helpers/start_helper_test.rb" "test/unit/helpers/superadmin_helper_test.rb" "test/unit/helpers/tasks_helper_test.rb" "test/unit/helpers/user_sessions_helper_test.rb" "test/unit/helpers/users_helper_test.rb" "test/unit/note_test.rb" "test/unit/notifier_test.rb" "test/unit/project_test.rb" "test/unit/task_test.rb" "test/unit/user_session_test.rb" "test/unit/user_test.rb" /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement /usr/lib/ruby/gems/1.8/gems/hpricot-0.6.164/lib/universal-java1.6/fast_xs.bundle: [BUG] Segmentation fault ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.2.0]

rake aborted! Command failed with status (): [/usr/local/bin/ruby -I"lib:test" "/usr/loc...] /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:995:in sh' /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:incall'

A: 

Rake is failing to report the fact that its subprocess running your tests was killed with a signal.

rake aborted! Command failed with status ():

Note the missing exit code between (). You can spot the signal by running "strace -o rake.strace rake" and look near the end of the resulting file for something like

[{WIFSIGNALED(s) && WTERMSIG(s) == SIGVTALRM}], 0, NULL)

In my case, this is the (presumably infamous by now) mysql 2.8.1 gem failing with "virtual timer expired" when running under the newer patchlevels of ruby-1.8.6 (-p399 is broken, not sure which older versions still work).

[oops, forgot the fixes]

Next steps... * run the process outside rake, or under strace, to find out what the signal is * assume it's the mysql 2.8.1 / Ruby 1.8.6-p399 problem and downgrade to mysql '~>2.7.0' or some earlier patchlevel of Ruby 1.8.6, or upgrade to Ruby 1.8.7

Matthew Astley