[rspec-users] [Cucumber] Running single feature from command line
Joseph Wilk
joe at josephwilk.net
Tue Mar 31 12:48:24 EDT 2009
Mark Lynn 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
>
Just a gut feeling but try:
cucumber -r features/steps/ -r features/support/env.rb
features/plain/user_home_page.feature
> 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
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
More information about the rspec-users
mailing list