Spork takes the wrong tuples (Windows) #191

Open
hube opened this Issue May 7, 2012 · 0 comments

Projects

None yet

1 participant

@hube
hube commented May 7, 2012

When attempting to run spork cuc and spork rspec simultaneously in Windows, I noticed that cucumber will sometimes take tuples created by spork rspec and rspec will sometimes take tuples created by spork cuc. In fact, sometimes both spork processes will take tuples when trying to run a test.

The issue seems to be that although spork listens for DRb requests on different ports for rspec and cucumber, it ends up forwarding the request to the same RingServer instance, which takes the first tuple available regardless of which spork process created it. This seems to be related to #87, but a fix to that might not necessarily resolve this issue.

Rspec trying to run a cucumber feature:

C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1095:in `method_missing': Gherkin:: (DRb::DRbUnknownError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/drb_command_line.rb:19:in `run'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/runner.rb:63:in `run'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/runner.rb:10:in `block in autorun'

Cucumber trying to run a spec:

invalid option: --tags (OptionParser::InvalidOption)
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/option_parser.rb:21:in `parse!'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/option_parser.rb:7:in `parse!'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/configuration_options.rb:78:in `command_line_options'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/configuration_options.rb:108:in `custom_options_file'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/configuration_options.rb:70:in `file_options'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/configuration_options.rb:66:in `all_configs'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/configuration_options.rb:27:in `parse_options'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.0/lib/rspec/core/command_line.rb:7:in `initialize'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/spork-1.0.0rc3/lib/spork/test_framework/rspec.rb:11:in `new'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/spork-1.0.0rc3/lib/spork/test_framework/rspec.rb:11:in `run_tests'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/gems/1.9.1/gems/spork-1.0.0rc3/lib/spork/run_strategy/magazine/magazine_slave.rb:22:in `run'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1508:in `perform'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1586:in `block (2 levels) in main_loop'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1582:in `loop'
(druby://10.2.37.22:53427) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1582:in `block in main_loop'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/gems/1.9.1/gems/spork-1.0.0rc3/lib/spork/run_strategy/magazine.rb:97:in `run'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/gems/1.9.1/gems/spork-1.0.0rc3/lib/spork/server.rb:48:in `run'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1508:in `perform'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1586:in `block (2 levels) in main_loop'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1582:in `loop'
(druby://127.0.0.1:8990) C:/Ruby193/lib/ruby/1.9.1/drb/drb.rb:1582:in `block in main_loop'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/lib/cucumber/cli/drb_client.rb:22:in `run'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:64:in `run_drb_client'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:34:in `execute!'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:20:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.1.9/bin/cucumber:14:in `<top (required)>'
bin/cucumber:16:in `load'
bin/cucumber:16:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment