[rspec-users] [Cucumber] Running single feature from command line

Mark Lynn mark at sabado.com
Tue Mar 31 11:22:39 EDT 2009


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.

Mark Lynn
Sabado Technologies


On Mar 31, 2009, at 9:26 AM, Joseph Wilk wrote:

> Mark Lynn wrote:
>> I am using Cucumber 0.2.3 and am having problems running a single  
>> feature. In particular, the cucumber Textmate bundle was not  
>> working so I traced it back and discovered that I could not run  
>> single files or features from the command line either. My setup has  
>> the following line in cucumber.yml
>>
>> default: -r features/support/env.rb -r features/support/plain.rb -r  
>> features/steps features/plain
>>
>> When I run just plain cucumber from the command line, all my  
>> scenarios run and all features pass. However, if I try to run the  
>> command
>>
>> cucumber -r features/support/env.rb -r features/support/plain.rb -r  
>> features/steps features/plain
>>
>> OR
>>
>> cucumber -r features/support/env.rb -r features/support/plain.rb -r  
>> features/steps features/plain/login.feature
>>
>> I get
>>
>> Failed to load features/support/env.rb    from /Library/Ruby/Site/ 
>> 1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
>>    from /Library/Ruby/Gems/1.8/gems/polyglot-0.2.5/lib/polyglot.rb: 
>> 54: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'
>>     ... 31 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
>>
>> I'm assuming the repeated use of the -r flag is not acceptable, but  
>> I need to specify multiple files.
>
> Cucumber will accept multiple -r or --require. It simply pushes all  
> the requires onto a stack and requires them all.
>
> Looks like this is a polygot problem. Aslak recently forked and  
> patched a copy of Treetop to avoid the dependency on this:
>
> git://github.com/aslakhellesoy/treetop.git
>
> I would suggest you try and install treetop from this source and see  
> if that fixes the problem.
>
> HTH
> --
> Joseph Wilk
> http://blog.josephwilk.net
>
>> How can I get this to work from the command line so I can also use  
>> it in Textmate?
>>
>> - Mark
>>
>> Mark Lynn
>> Sabado Technologies
>>
>>
>>
>>
>> _______________________________________________
>> rspec-users mailing list
>> rspec-users at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users



More information about the rspec-users mailing list