FYI: I did confirm the problem was the RSpec issue Aslak mentioned. I did not see a nice solution without messing around with the RSpec gem, and am I familiar enough with the RSpec code to patch it at this time. I ended up throwing a constant in my support/env.rb file and testing for this in the RSpec spec/runner.rb file. Sloppy workaround, but I needed to move on.

Thanks to Joseph and Aslak for their comments.

Mark Lynn
Sabado Technologies




On Mar 31, 2009, at 1:33 PM, Mark Lynn wrote:


Aslak,

Thanks! It is nice to at least know where the problem is. I am actually using Cucumber in a Merb project so the Rails solution does not help, but I will look for another workaround and post if I find something.

Mark Lynn
Sabado Technologies


On Mar 31, 2009, at 11:56 AM, aslak hellesoy wrote:



On Tue, Mar 31, 2009 at 5:22 PM, Mark Lynn <[email protected]> wrote:

When I use Aslak's version of Treetop as Joseph suggested, this does get rid of the polyglot error. However, I still get the following when running from the command line:

$ cucumber -r features/steps -r features/support/env.rb features/ plain/user_home_page.feature

/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- features/steps (LoadError) Failed to load features/support/env.rb from /Library/Ruby/Site/1.8/ rubygems/custom_require.rb:31:in `require'

from /Library/Ruby/Gems/1.8/gems/rspec-1.2.2/lib/spec/runner/ option_parser.rb:144:in `invoke_requires' from /Library/Ruby/Gems/1.8/gems/rspec-1.2.2/lib/spec/runner/ option_parser.rb:143:in `each' from /Library/Ruby/Gems/1.8/gems/rspec-1.2.2/lib/spec/runner/ option_parser.rb:143:in `invoke_requires' from /Library/Ruby/Gems/1.8/gems/rspec-1.2.2/lib/spec/runner/ option_parser.rb:104:in `initialize' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/ usr/lib/ruby/1.8/optparse.rb:1291:in `call' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/ usr/lib/ruby/1.8/optparse.rb:1291:in `parse_in_order' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/ usr/lib/ruby/1.8/optparse.rb:1247:in `catch'
        ... 26 levels...

from /Library/Ruby/Gems/1.8/gems/cucumber-0.2.3/bin/../lib/ cucumber/cli/main.rb:20:in `execute'
       from /Library/Ruby/Gems/1.8/gems/cucumber-0.2.3/bin/cucumber:6
       from /usr/bin/cucumber:19:in `load'
       from /usr/bin/cucumber:19

Any idea why rspec code is being called here? I did discover that if I uninstall cucumber 0.2.3 and try version 0.1.16, then the above command line works as does using the profile. I'm not sure if this indicates a bug in 0.2.3.

It's actually a bug in RSpec that is only triggered in Cucumber 0.2 (bin/cucumber used to consume ARGV, but now leaves it intact, and RSpec blows up).

https://rspec.lighthouseapp.com/projects/16211/tickets/200
https://rspec.lighthouseapp.com/projects/5645-rspec/tickets/767

Do you have a Rails app? See how Chris Flipse got around the error in the #200 ticket.

Aslak

_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to