Rick DeNatale wrote:
On Mon, Apr 27, 2009 at 10:07 AM, aslak hellesoy
<aslak.helle...@gmail.com> wrote:
On Mon, Apr 27, 2009 at 3:47 PM, Rick DeNatale <rick.denat...@gmail.com>
wrote:
On Mon, Apr 27, 2009 at 8:13 AM, Rick DeNatale <rick.denat...@gmail.com>
wrote:
On Sun, Apr 26, 2009 at 11:38 PM, Ben Mabey <b...@benmabey.com> wrote:
Rick DeNatale wrote:
I finally plunked down for the beta RSpec bundle and I'm working
through the initial example.  Although I'm a fairly experienced RSpec
user, I'm stlll learning new tricks.

Anyway,  I'm going though the mastermind example, and everything is
going well, except that I decided to also try out the Textmate bundle
for Cucumber.  I decided to use Ben Mabey's fork on github since it
seems to be the most evolved.

When I try to run a feature with cmd-R, instead of actually running I
see something like:

Running: cucumber
/Users/rick/mastermind/features/codebreaker_starts_game.feature
--format=html
false

Cucumber runs fine from bash.

Am I missing some setup?


Hmm.. that is odd. What version of Cucumber are you using?  When you
run
that exact command from the shell does it output the HTML report?
I was runing 0.3.0 upgrading to 0.3.1 has the same result BUT

If I run that exact command

$ /Users/rick/mastermind/features/codebreaker_starts_game.feature
--format=html
-bash: /Users/rick/mastermind/features/codebreaker_starts_game.feature:
Permission denied


It's trying to run the feature as an executable directly it's not
running the cucumber executable!

Why it be doin dat?
Actually, I was misreading the output in the run window, which was
wrapping.

$  cucumber
/Users/rick/mastermind/features/codebreaker_starts_game.feature
--format=html false

/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/step_mother.rb:125:in
`Given': Multiple step definitions have the same Regexp:
(Cucumber::Redundant)

features/step_definitions/mastermind.rb:13:in `/^I am not yet playing$/'
features/step_definitions/mastermind.rb:13:in `/^I am not yet playing$/'

       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/step_mother.rb:124:in
`each'
       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/step_mother.rb:124:in
`Given'
       from ./features/step_definitions/mastermind.rb:13
       from
/opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
       from
/opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`polyglot_original_require'
       from
/opt/local/lib/ruby/gems/1.8/gems/polyglot-0.2.5/lib/polyglot.rb:54:in
`require'
       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/cli/main.rb:79:in
`require_files'
       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/cli/main.rb:77:in
`each'
       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/cli/main.rb:77:in
`require_files'
       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/cli/main.rb:34:in
`execute!'
       from
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/cli/main.rb:20:in
`execute'
       from /Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/cucumber:6
       from /opt/local/bin/cucumber:19:in `load'
       from /opt/local/bin/cucumber:19

If I do this from the project directory:

 $ cucumber features/codebreaker_starts_game.feature
Feature: Codebreaker starts game
 As a Codebreaker
 I want to start a game
 So that I can break the code

 Scenario: Start game                                #
features/codebreaker_starts_game.feature:5
   Given I am not yet playing                        #
features/step_definitions/mastermind.rb:13
   When I start a new game                           #
features/step_definitions/mastermind.rb:24
   Then the game should say "Welcome to Mastermind!" #
features/step_definitions/mastermind.rb:28
   And the game should say "Enter guess:"            #
features/step_definitions/mastermind.rb:28

1 scenario
4 passed steps


Running under textmate, cucumber seems to be somehow convincing itself
that
features/step_definitions/mastermind.rb:13:in `/^I am not yet playing$/'

Duplicates itself?!?
What's happening is that the file containing step defs is being loaded
twice, and therefore you get dupe step defs. Not sure why that's happening
though...

Yes, I figured it was somehing like that. On a little more trial and
error, it appears that the bundle is adding false to the end of the
command string which is causing that steps def to be required
initially:

$ cucumber /Users/rick/mastermind/features/codebreaker_starts_game.feature
--format=html false -v
Ruby files required:
  * /Users/rick/mastermind/features/support/env.rb
  * ./features/support/env.rb
  * ./lib/mastermind/game.rb
  * /Users/rick/mastermind/features/step_definitions/mastermind.rb
/Users/rick/.gem/ruby/1.8/gems/cucumber-0.3.1/bin/../lib/cucumber/step_mother.rb:125:in
`Given': Multiple step definitions have the same Regexp:
(Cucumber::Redundant)

features/step_definitions/mastermind.rb:13:in `/^I am not yet playing$/'
features/step_definitions/mastermind.rb:13:in `/^I am not yet playing$/'

Haven't yet figured out where that false is coming from, somewhere in
runner.rb in the bundle



I don't think the 'false' is part of the command. That is the exit code of the cucumber I think (well, the boolean representation of it). I'll take a look at it though.

-Ben
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to