diff options
-rw-r--r-- | spec/integration/indirector/bucket_file/rest_spec.rb | 11 | ||||
-rwxr-xr-x | spec/integration/indirector/certificate_revocation_list/rest_spec.rb | 11 | ||||
-rwxr-xr-x | spec/integration/indirector/rest_spec.rb | 12 |
3 files changed, 28 insertions, 6 deletions
diff --git a/spec/integration/indirector/bucket_file/rest_spec.rb b/spec/integration/indirector/bucket_file/rest_spec.rb index dc10faa67..9864a98ce 100644 --- a/spec/integration/indirector/bucket_file/rest_spec.rb +++ b/spec/integration/indirector/bucket_file/rest_spec.rb @@ -36,8 +36,15 @@ describe "Filebucket REST Terminus" do @host = Puppet::SSL::Host.new(Puppet[:certname]) @params = { :port => 34343, :handlers => [ :file_bucket_file ] } - @server = Puppet::Network::Server.new(@params) - @server.listen + begin + @server = Puppet::Network::Server.new(@params) + @server.listen + rescue Errno::EADDRINUSE => e + sleep 0.1 + puts "Port 34343 is in use; waiting for it to be free" if retries == 50 + retry if (retries += 1) < 100 + pending "Can't run too many simultanious tests" + end @old_terminus = Puppet::FileBucket::File.indirection.terminus_class Puppet::FileBucket::File.terminus_class = :rest diff --git a/spec/integration/indirector/certificate_revocation_list/rest_spec.rb b/spec/integration/indirector/certificate_revocation_list/rest_spec.rb index 86f2b0150..3998db45f 100755 --- a/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +++ b/spec/integration/indirector/certificate_revocation_list/rest_spec.rb @@ -33,8 +33,15 @@ describe "Certificate REST Terminus" do ca.generate(Puppet[:certname]) unless Puppet::SSL::Certificate.find(Puppet[:certname]) @params = { :port => 34343, :handlers => [ :certificate_revocation_list ] } - @server = Puppet::Network::Server.new(@params) - @server.listen + begin + @server = Puppet::Network::Server.new(@params) + @server.listen + rescue Errno::EADDRINUSE => e + sleep 0.1 + puts "Port 34343 is in use; waiting for it to be free" if retries == 50 + retry if (retries += 1) < 100 + pending "Can't run too many simultanious tests" + end # And make sure we've generated the CRL @crl = ca.crl diff --git a/spec/integration/indirector/rest_spec.rb b/spec/integration/indirector/rest_spec.rb index 14e9e9593..53a3086cd 100755 --- a/spec/integration/indirector/rest_spec.rb +++ b/spec/integration/indirector/rest_spec.rb @@ -66,8 +66,16 @@ describe Puppet::Indirector::REST do ca.generate(Puppet[:certname]) unless Puppet::SSL::Certificate.find(Puppet[:certname]) @params = { :port => 34343, :handlers => [ :test_indirected_foo ], :xmlrpc_handlers => [ :status ] } - @server = Puppet::Network::Server.new(@params) - @server.listen + retries = 0 + begin + @server = Puppet::Network::Server.new(@params) + @server.listen + rescue Errno::EADDRINUSE => e + sleep 0.1 + puts "Port 34343 is in use; waiting for it to be free" if retries == 50 + retry if (retries += 1) < 100 + pending "Can't run too many simultanious tests" + end # LAK:NOTE We need to have a fake model here so that our indirected methods get # passed through REST; otherwise we'd be stubbing 'find', which would cause an immediate |