summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Carranza <pcarranza@gmail.com>2015-12-27 21:31:45 +0100
committerPablo Carranza <pcarranza@gmail.com>2015-12-27 22:19:56 +0100
commit645e6e53fb4b2cdac41adca20084e51c0e158e3d (patch)
treea4924d529290b6348c656e72c3fcd288a24a0f95
parent4ec4ffd55c4f5f09dd567e31c2323c1cdb2350d1 (diff)
downloadbundler-645e6e53fb4b2cdac41adca20084e51c0e158e3d.tar.gz
Remove duplication for tests that start a rack server
-rw-r--r--spec/realworld/dependency_api_spec.rb25
-rw-r--r--spec/realworld/gemfile_source_header_spec.rb26
2 files changed, 6 insertions, 45 deletions
diff --git a/spec/realworld/dependency_api_spec.rb b/spec/realworld/dependency_api_spec.rb
index 81235b72bf..6314801b85 100644
--- a/spec/realworld/dependency_api_spec.rb
+++ b/spec/realworld/dependency_api_spec.rb
@@ -1,30 +1,11 @@
require "spec_helper"
describe "gemcutter's dependency API", :realworld => true do
- def wait_for_server(port, seconds = 15)
- tries = 0
- TCPSocket.new("127.0.0.1", port)
- rescue => e
- raise(e) if tries > (seconds * 2)
- tries += 1
- sleep 0.5
- retry
- end
-
context "when Gemcutter API takes too long to respond" do
before do
- # need to hack, so we can require rack
- old_gem_home = ENV["GEM_HOME"]
- ENV["GEM_HOME"] = Spec::Path.base_system_gems.to_s
- require "rack"
- ENV["GEM_HOME"] = old_gem_home
+ require_rack
- port = 21_453
- begin
- port += 1 while TCPSocket.new("127.0.0.1", port)
- rescue
- false
- end
+ port = find_unused_port
@server_uri = "http://127.0.0.1:#{port}"
require File.expand_path("../../support/artifice/endpoint_timeout", __FILE__)
@@ -39,7 +20,7 @@ describe "gemcutter's dependency API", :realworld => true do
end
@t.run
- wait_for_server(port)
+ wait_for_server("127.0.0.1", port)
end
after do
diff --git a/spec/realworld/gemfile_source_header_spec.rb b/spec/realworld/gemfile_source_header_spec.rb
index 4034fa66b4..c1caebf350 100644
--- a/spec/realworld/gemfile_source_header_spec.rb
+++ b/spec/realworld/gemfile_source_header_spec.rb
@@ -28,18 +28,8 @@ describe "fetching dependencies with a mirrored source", :rubygems => ">= 2.0" d
private
def setup_server
- # need to hack, so we can require rack
- old_gem_home = ENV["GEM_HOME"]
- ENV["GEM_HOME"] = Spec::Path.base_system_gems.to_s
- require "rack"
- ENV["GEM_HOME"] = old_gem_home
-
- @port = 21_459
- begin
- @port += 1 while TCPSocket.new("127.0.0.1", @port)
- rescue
- false
- end
+ require_rack
+ @port = find_unused_port
@server_uri = "http://127.0.0.1:#{@port}"
require File.expand_path("../../support/artifice/endpoint_mirror_source", __FILE__)
@@ -52,16 +42,6 @@ describe "fetching dependencies with a mirrored source", :rubygems => ">= 2.0" d
:AccessLog => [])
end.run
- wait_for_server(@port)
- end
-
- def wait_for_server(port, seconds = 15)
- tries = 0
- sleep 0.5
- TCPSocket.new("127.0.0.1", port)
- rescue => e
- raise(e) if tries > (seconds * 2)
- tries += 1
- retry
+ wait_for_server("127.0.0.1", @port)
end
end