[ARVADOS] created: 8f5ef3058658c046cd25e4fff7b2f0ffafb79b77

Git user git at public.curoverse.com
Fri Sep 2 15:44:25 EDT 2016


        at  8f5ef3058658c046cd25e4fff7b2f0ffafb79b77 (commit)


commit 8f5ef3058658c046cd25e4fff7b2f0ffafb79b77
Author: Lucas Di Pentima <lucas at curoverse.com>
Date:   Fri Sep 2 16:41:27 2016 -0300

    9858: Check if port-1 is available, retry if not when asking an available port for selenium.

diff --git a/apps/workbench/test/integration_helper.rb b/apps/workbench/test/integration_helper.rb
index 785912d..c133de0 100644
--- a/apps/workbench/test/integration_helper.rb
+++ b/apps/workbench/test/integration_helper.rb
@@ -5,10 +5,20 @@ require 'uri'
 require 'yaml'
 
 def available_port for_what
-  Addrinfo.tcp("0.0.0.0", 0).listen do |srv|
-    port = srv.connect_address.ip_port
-    STDERR.puts "Using port #{port} for #{for_what}"
-    return port
+  begin
+    Addrinfo.tcp("0.0.0.0", 0).listen do |srv|
+      port = srv.connect_address.ip_port
+      # Selenium needs an additional locking port, check if it's available
+      # and retry if necessary.
+      if for_what == 'selenium'
+        locking_port = port - 1
+        Addrinfo.tcp("0.0.0.0", locking_port).listen.close
+      end
+      STDERR.puts "Using port #{port} for #{for_what}"
+      return port
+    end
+  rescue Errno::EADDRINUSE => e
+    retry
   end
 end
 

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list