Rails parallel_tests with RSpec Request Specs: Address already in use error -
when try run specs in parallel using parallel_tests gem, getting these error messages:
foo:~/projects/cucumber-capybara-saucelabs/spec/requests [] ➜ rake parallel:spec (in /volumes/storage/projects/cucumber-capybara-saucelabs) 8 processes 5 specs, ~ 0 specs per process starting rails server on port 3001... starting rails server on port 3001... starting rails server on port 3001... starting rails server on port 3001... starting rails server on port 3001... [2013-05-22 14:40:12] info webrick 1.3.1 [2013-05-22 14:40:12] info ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0] [2013-05-22 14:40:12] info webrick::httpserver#start: pid=33256 port=3001 rails server running! rails server running! rails server running! rails server running! [2013-05-22 14:40:12] info webrick 1.3.1 [2013-05-22 14:40:12] info webrick 1.3.1 [2013-05-22 14:40:12] info ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0] [2013-05-22 14:40:12] info webrick 1.3.1 [2013-05-22 14:40:12] info ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0] [2013-05-22 14:40:12] info ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0] [2013-05-22 14:40:12] warn tcpserver error: address in use - bind(2) [2013-05-22 14:40:12] warn tcpserver error: address in use - bind(2) [2013-05-22 14:40:12] warn tcpserver error: address in use - bind(2) /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': address in use - bind(2) (/users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': address in use - bind(2) (errno::eaddrinuse) /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `new' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `each' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:82:in `listen' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/handler/webrick.rb:10:in `new' /users/foo/.rvm/users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/server.rb:323:in `delete': no such file or directory - /volumes/storage/projects/cucumber-capybara-saucelabs/tmp/pids/server.pid (errno::enoent) /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/server.rb:323:in `block in write_pid' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': address in use - bind(2) (errno::eaddrinuse) /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `new' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `each' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:82:in `listen' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize' /users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize' /users/foo[2013-05-22 14:40:12] info webrick 1.3.1 sa/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/handler/webrick.rb:10:in `new' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/handler/webrick.rb:10:in `run' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/server.rb:268:in `start' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in `start' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap' /users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>' script/rails:6:in `require' script/rails:6:in `<main>' is there way avoid this?
as explained in wiki, need do:
capybara.server_port = 9887 + env['test_env_number'].to_i
Comments
Post a Comment