[ rspec-Bugs-7234 ] The Rcov rake task fails when running the specs

View: New views
1 Messages — Rating Filter:   Alert me  

[ rspec-Bugs-7234 ] The Rcov rake task fails when running the specs

by noreply-16 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bugs item #7234, was opened at 2006-12-12 08:49
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=3149&aid=7234&group_id=797

Category: rails plugin
Group: None
Status: Open
>Resolution: Accepted
Priority: 3
Submitted By: Clint Bishop (norobotdiving)
>Assigned to: Aslak Hellesøy (aslak_hellesoy)
Summary: The Rcov rake task fails when running the specs

Initial Comment:
If I run the following task with Rake:

desc "Run all specs with RCov"
Spec::Rake::SpecTask.new('spec_rcov') do |t|
  t.spec_files = FileList['spec/**/*spec.rb']
  t.rcov = true
  t.spec_opts = ["-fh > build/spec_results.html"]
end

I get this error:

$ rake spec_rcov --trace
(in /Users/tworker1/projects/disco_stu/trunk/disco_stu)
** Invoke ci (first_time)
** Invoke testing (first_time)
** Execute testing
** Invoke migrate (first_time)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump
** Execute migrate
** Invoke spec_rcov (first_time)
** Invoke clobber_spec_rcov (first_time)
** Execute clobber_spec_rcov
rm -r coverage
** Execute spec_rcov
/usr/local/bin/ruby -I"/usr/local/lib/ruby/gems/1.8/gems/rspec-0.7.4/lib" -S rcov --exclude lib\/spec,bin\/spec -o "coverage" "/usr/local/lib/ruby/gems/1.8/gems/rspec-0.7.4/bin/spec" -- "spec/controllers/citycliq_controller_spec.rb" "spec/helpers/citycliq_helper_spec.rb" "spec/models/event_spec.rb" "spec/models/hotspot_spec.rb" "spec/views/citycliq/create_event_spec.rb" "spec/views/citycliq/create_hotspot_spec.rb" "spec/views/citycliq/index_spec.rb" "spec/views/citycliq/login_spec.rb" "spec/views/citycliq/view_event_detail_spec.rb" "spec/views/citycliq/view_events_spec.rb" "spec/views/citycliq/view_hotspot_detail_spec.rb" "spec/views/citycliq/view_hotspots_spec.rb" -fh > build/spec_results.html
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/callbacks.rb:235: [BUG] Bus Error
ruby 1.8.4 (2005-12-24) [i686-darwin8.8.1]

rake aborted!
Command failed with status (134): [/usr/local/bin/ruby -I"/usr/local/lib/ruby...]
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:722:in `sh'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:729:in `sh'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:812:in `sh'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:807:in `sh'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:747:in `ruby'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:812:in `ruby'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:807:in `ruby'
/usr/local/lib/ruby/gems/1.8/gems/rspec-0.7.4/lib/spec/rake/spectask.rb:131:in `define'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:831:in `verbose'
/usr/local/lib/ruby/gems/1.8/gems/rspec-0.7.4/lib/spec/rake/spectask.rb:110:in `define'
/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 `execute'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in `invoke'
/usr/local/lib/ruby/1.8/thread.rb:135: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: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/1.8/thread.rb:135: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 `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.7.1/bin/rake:7
/usr/local/bin/rake:18


Same error I get if I just run the specs through rcov:

$ rcov spec/**/*spec.rb

........../usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/callbacks.rb:235: [BUG] Bus Error
ruby 1.8.4 (2005-12-24) [i686-darwin8.8.1]

Abort trap


But I don't get the error if I turn off rcov's optimized C runtime

$ rcov spec/**/*spec.rb --no-rcovrt

....................................

Finished in 12.125441 seconds

36 specifications, 0 failures


I've noticed that if there aren't too many specs then it runs just fine.  Once we pass a certain number we get the error listed above.

We're using:
OS X 10.4.8
1.5 GHz Intel Core Solo
1Gb ram

rcov 0.7.0
rcov rails plugin installed as an external svn repos (so it's on edge)
rspec 0.7.4
rspec rails plugin for 0.7.4
rails 1.1.6
Ruby 1.8.4



----------------------------------------------------------------------

>Comment By: Aslak Hellesøy (aslak_hellesoy)
Date: 2006-12-12 14:46

Message:
Try this instead:

If I run the following task with Rake:

desc "Run all specs with RCov"
Spec::Rake::SpecTask.new('spec_rcov') do |t|
  t.spec_files = FileList['spec/**/*spec.rb']
  t.rcov = true
  t.spec_opts = ["-fh"]
  t.out = "build/spec_results.html"
end

Also see http://rspec.rubyforge.org/rdoc/classes/Spec/Rake/SpecTask.html

Does that work for you? If you still get a BUS error I'd take it up with Mauricio Fernandez (the rcov author)

----------------------------------------------------------------------

You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=3149&aid=7234&group_id=797
_______________________________________________
rspec-devel mailing list
rspec-devel@...
http://rubyforge.org/mailman/listinfo/rspec-devel