[rspec-users] Errors when running AUTOFEATURE=true autospec [cucumber, autotest]

David Chelimsky dchelimsky at gmail.com
Sat Jul 25 09:02:33 EDT 2009


On Sat, Jul 25, 2009 at 6:57 AM, Andy
Pearson<andy.james.pearson at googlemail.com> wrote:
> Wanted to add some more information to this....
>
> Since Cucumber seemed to be working, I created a feature and used it
> to drive the initial creation of a new controller.
>
> Once the route was done I dropped down to a controller spec and wrote
> the controller code that makes it pass.
>
> Now when I run AUTOFEATURE=true autospec it dies with the following
> stack trace:
>
> Warning: $KCODE is NONE.
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/
> step_definition.rb:100: warning: method redefined; discarding old
> regexp
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/ruby_extensions/
> string.rb:31: warning: method redefined; discarding old indent
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/compiler/
> node_classes/character_class.rb:13: warning: useless use of a literal
> in void context
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/compiler.rb:5:
> warning: global variable `$exclude_metagrammar' not initialized
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/compiler/
> metagrammar.rb:232: warning: method redefined; discarding old space
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/compiler/
> metagrammar.rb:388: warning: method redefined; discarding old space
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/compiler/
> metagrammar.rb:771: warning: method redefined; discarding old space
> /Library/Ruby/Gems/1.8/gems/treetop-1.3.0/lib/treetop/compiler/
> metagrammar.rb:779: warning: method redefined; discarding old space
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/parser/
> feature.rb:28: warning: method redefined; discarding old white
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/parser/
> feature.rb:36: warning: method redefined; discarding old white
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/parser/
> feature.rb:679: warning: method redefined; discarding old white
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/parser/
> feature.rb:687: warning: method redefined; discarding old white
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/parser/
> feature.rb:813: warning: method redefined; discarding old white
> /Library/Ruby/Gems/1.8/gems/cucumber-0.3.90/lib/cucumber/parser/
> feature.rb:825: warning: method redefined; discarding old white
> /Library/Ruby/Gems/1.8/gems/activesupport-2.3.3/lib/active_support/
> core_ext/blank.rb:49: warning: method redefined; discarding old blank?
> /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby /
> Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/bin/spec spec/
> controllers/lifestream_controller_spec.rb -O spec/spec.opts
> /Library/Ruby/Gems/1.8/gems/rspec-1.2.8/lib/spec/autorun.rb:3:
> undefined method `autorun' for Spec::Runner:Module (NoMethodError)
>        from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
> `gem_original_require'
>        from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
> `require'
>        from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.3/lib/
> active_support/dependencies.rb:158:in `require'
>        from ./spec/controllers/../spec_helper.rb:5
>        from ./spec/controllers/lifestream_controller_spec.rb:1:in `require'
>        from ./spec/controllers/lifestream_controller_spec.rb:1
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/lib/spec/
> runner/example_group_runner.rb:15:in `load'
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/lib/spec/
> runner/example_group_runner.rb:15:in `load_files'
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/lib/spec/
> runner/example_group_runner.rb:14:in `each'
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/lib/spec/
> runner/example_group_runner.rb:14:in `load_files'
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/lib/spec/
> runner/options.rb:94:in `run_examples'
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/lib/spec/
> runner/command_line.rb:9:in `run'
>        from /Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12/bin/spec:4

Looks like two versions of rspec are getting loaded:

/Library/Ruby/Gems/1.8/gems/rspec-1.2.8
/Users/andypearson/.gem/ruby/1.8/gems/rspec-1.1.12

Do you need rspec-1.1.12 for some reason? I'm not sure why it's
getting loaded, but I'm quite confident it won't get loaded if it's
not there :)

>
> Odd thing is, rake spec gets me what I want:

That's because the spec task is only loading one version of rspec. If
you can find what's requiring rspec-1.1.12 you'll find the culprit.

>
> ...
> Finished in 0.071358 seconds
> 3 examples, 0 failures
>
> Based on this, my assumption is this is something to do with ZenTest,
> have I got an incompatible set of gems?
>
> I tried to pull out the most relevant ones:
>
> aslakhellesoy-webrat (0.3.2.1)
> autotest-rails (4.1.0)
> cucumber (0.3.90, 0.1.16, 0.1.15)
> nokogiri (1.3.2, 1.1.0)
> rails (2.3.3, 2.2.2, 2.2.0, 2.1.2, 2.1.1, 2.1.0, 2.0.991, 2.0.2,
> 2.0.1, 1.2.6, 1.2.3)
> rspec (1.2.8, 1.1.12, 1.1.11)
> rspec-rails (1.2.7.1, 1.1.12, 1.1.11)
> treetop (1.3.0, 1.2.4)
> webrat (0.4.4, 0.4.0, 0.3.4, 0.2.0)
> ZenTest (4.1.3, 3.11.0, 3.10.0, 3.9.3, 3.9.2, 3.8.0, 3.6.1)
>
> Really hoping I can get some help with this, hitting a block like this
> gets super frustrating, particularly what I am trying to "do the right
> thing" by getting this up and running to I can BDD and hopefully write
> better software!
>
> Thanks again in advance,
>
> Andy
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list