sandro/specjour

Seems to be incompatible with rspec-core 2.10.1 (fine with 2.10.0)

josephlord opened this issue · 12 comments

Sorry to flag another incompatibility.

My tests are still working fine with rspec directly and with parallel_rspec but most of my tests are failing and then it is crashing with specjour.

The errors are all 'NoMethodError' for rspec related matchers and 'stub_model'.

NoMethodError undefined method use_transactional_fixtures=' for #<Class:0xd922a18> /tmp/dashboard/spec/models/pricing/rate_spec.rb:98:inblock (3 levels) in <top (required)>'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in module_eval' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:insubclass'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:187:in describe' /tmp/dashboard/spec/models/pricing/rate_spec.rb:97:inblock (2 levels) in <top (required)>'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in module_eval' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:insubclass'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:187:in describe' /tmp/dashboard/spec/models/pricing/rate_spec.rb:68:inblock in <top (required)>'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:in module_eval' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:201:insubclass'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/example_group.rb:187:in describe' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/dsl.rb:18:indescribe'
/tmp/dashboard/spec/models/pricing/rate_spec.rb:36:in <top (required)>' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:245:inload'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:245:in block in load' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:236:inload_dependency'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.5/lib/active_support/dependencies.rb:245:in load' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:inblock in load_spec_files'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:in map' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/configuration.rb:746:inload_spec_files'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/command_line.rb:22:in run' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:69:inrun'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/rspec/runner.rb:5:in run' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/worker.rb:81:inrun_spec'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/worker.rb:72:in run_test' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/worker.rb:32:inblock in run_tests'
/home/josephl/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/benchmark.rb:295:in realtime' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/worker.rb:32:inrun_tests'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/loader.rb:26:in block (2 levels) in start' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/fork.rb:12:inblock in fork'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/fork.rb:9:in fork' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/fork.rb:9:infork'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/loader.rb:25:in block in start' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/loader.rb:24:ineach'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/loader.rb:24:in start' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/cli.rb:57:inload'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/thor-0.15.2/lib/thor/task.rb:27:in run' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/thor-0.15.2/lib/thor/invocation.rb:120:ininvoke_task'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/thor-0.15.2/lib/thor.rb:275:in dispatch' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/thor-0.15.2/lib/thor/base.rb:408:instart'
/home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/lib/specjour/cli.rb:24:in start' /home/josephl/.rvm/gems/ruby-1.9.3-p194/gems/specjour-0.5.5/bin/specjour:5:in

'

Interesting. Just bundle updated rspec-rails (2.10.1), and most of my test suite failed, but specjour continued to work - no backtraces, no exceptions. What version of Rails are you running?

3.2.5 I think. It was rspec-core 2.10.1 that didn't work. rspec-rails 2.10.1 was fine I think.

The bombing out may only have been the use_transactional_fixtures= method. Most of the specs failed with NoMethodError on matchers or other things like that.

Right, when I updated rspec-rails, rspec-core was updated as well. The specjour spec suite works fine with the updated rspec-core, which is why I suspected rspec-rails may have caused the issue. The rails project I tested with sets transactional_fixtures to false - no problem. When I get some time, I'll create a fresh rails app, and use that to test specjour.

Created a fresh rails app, and I'm starting to see the problems you mentioned. Looking into it.

Started a dialog here: rspec/rspec-core#621

Irio commented

Same problem here.

rails (3.2.8)
rspec (2.11.0)
rspec-core (2.11.1)
rspec-rails (2.11.0)
# 58 failures
rails (3.2.8)
rspec (2.9.0)
rspec-core (2.9.0)
rspec-rails (2.11.0)
# 42 failures

rspec gets 0 failures.

Can you try with this :
gem 'specjour', git: 'https://github.com/sandro/specjour.git'

Sandro made an update 2 days ago, and it fixed the issue for me.

Irio commented

@pierreozoux Got better, but don't fixed it for me.

rails (3.2.8)
specjour (0.6.5)
rspec (2.11.0)
rspec-core (2.11.1)
rspec-rails (2.11.0)
# 35 failures

Did you run bundle exec specjour?
I just released 0.6.5 which contains the updates @pierreozoux mentioned, so you should try that.

Irio commented

@sandro Yes, my last test was already with 0.6.5.

Interesting, just controller specs are failing. Could be useful?

Same failures as above? Try upgrading to rspec-core 2.11
Can you post the interesting parts of a failing test, or create a new rails app that exhibits the failures?

Just so that you know it is working fine for me with specjour 0.7.0 and Rspec-core 2.12.0. I haven't tracked intermediate versions closely. OK to close from my point of view but I have no idea if Irio still has issues.

Thanks!