Blob Blame History Raw

Try a little harder to avoid svnserve() bind failures.

--- subversion-1.7.9/subversion/bindings/swig/ruby/test/util.rb.rubybind
+++ subversion-1.7.9/subversion/bindings/swig/ruby/test/util.rb
@@ -41,7 +41,8 @@ module SvnTestUtil
     @full_repos_path = File.expand_path(@repos_path)
     @repos_uri = "file://#{@full_repos_path.sub(/^\/?/, '/')}"
     @svnserve_host = "127.0.0.1"
-    @svnserve_ports = (64152..64282).collect{|x| x.to_s}
+    sport = (50000 + rand(100) * 100)
+    @svnserve_ports = (sport..sport + 99).collect{|x| x.to_s}
     @wc_base_dir = File.join(Dir.tmpdir, "wc-tmp")
     @wc_path = File.join(@wc_base_dir, "wc")
     @full_wc_path = File.expand_path(@wc_path)
@@ -249,6 +250,8 @@ realm = #{@realm}
                "--listen-port", port,
                "-d", "--foreground")
         }
+        # wait a while for svnserve to attempt a bind() and possibly fail
+        sleep(1)
         pid, status = Process.waitpid2(@svnserve_pid, Process::WNOHANG)
         if status and status.exited?
           if $DEBUG