diff --git a/features/support/env.rb b/features/support/env.rb index 146838f38..2cbc4e46d 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -1,7 +1,7 @@ require 'rspec/expectations' DEFAULT_PORT = 5000 - +DEFAULT_TIMEOUT = 2 puts "Ruby version #{RUBY_VERSION}" unless RUBY_VERSION.to_f >= 1.9 @@ -16,6 +16,14 @@ else puts "Using default port #{OSRM_PORT}" end +if ENV["OSRM_TIMEOUT"] + OSRM_TIMEOUT = ENV["OSRM_TIMEOUT"].to_i + puts "Timeout set to #{OSRM_TIMEOUT}" +else + OSRM_TIMEOUT = DEFAULT_TIMEOUT + puts "Using default timeout #{OSRM_TIMEOUT}" +end + AfterConfiguration do |config| clear_log_files diff --git a/features/support/launch.rb b/features/support/launch.rb index 7dbaee168..6699fb947 100644 --- a/features/support/launch.rb +++ b/features/support/launch.rb @@ -1,8 +1,6 @@ require 'socket' require 'open3' -LAUNCH_TIMEOUT = 20 -SHUTDOWN_TIMEOUT = 20 OSRM_ROUTED_LOG_FILE = 'osrm-routed.log' class OSRMBackgroundLauncher @@ -21,7 +19,7 @@ class OSRMBackgroundLauncher private def launch - Timeout.timeout(LAUNCH_TIMEOUT) do + Timeout.timeout(OSRM_TIMEOUT) do osrm_up wait_for_connection end @@ -30,7 +28,7 @@ class OSRMBackgroundLauncher end def shutdown - Timeout.timeout(SHUTDOWN_TIMEOUT) do + Timeout.timeout(OSRM_TIMEOUT) do osrm_down end rescue Timeout::Error diff --git a/features/support/locate.rb b/features/support/locate.rb index b7dc55f6d..900724703 100644 --- a/features/support/locate.rb +++ b/features/support/locate.rb @@ -3,7 +3,7 @@ require 'net/http' def request_locate_url path @query = path uri = URI.parse "#{HOST}/#{path}" - Timeout.timeout(REQUEST_TIMEOUT) do + Timeout.timeout(OSRM_TIMEOUT) do Net::HTTP.get_response uri end rescue Errno::ECONNREFUSED => e diff --git a/features/support/nearest.rb b/features/support/nearest.rb index e37130735..77fc351a9 100644 --- a/features/support/nearest.rb +++ b/features/support/nearest.rb @@ -3,7 +3,7 @@ require 'net/http' def request_nearest_url path @query = path uri = URI.parse "#{HOST}/#{path}" - Timeout.timeout(REQUEST_TIMEOUT) do + Timeout.timeout(OSRM_TIMEOUT) do Net::HTTP.get_response uri end rescue Errno::ECONNREFUSED => e diff --git a/features/support/route.rb b/features/support/route.rb index 417ba0d49..15dbf77a4 100644 --- a/features/support/route.rb +++ b/features/support/route.rb @@ -1,7 +1,6 @@ require 'net/http' HOST = "http://localhost:#{OSRM_PORT}" -REQUEST_TIMEOUT = 1 DESTINATION_REACHED = 15 #OSRM instruction code class Hash @@ -18,7 +17,7 @@ def request_path path, waypoints=[], options={} params = nil if params=="" uri = URI.parse ["#{HOST}/#{path}", params].compact.join('?') @query = uri.to_s - Timeout.timeout(REQUEST_TIMEOUT) do + Timeout.timeout(OSRM_TIMEOUT) do Net::HTTP.get_response uri end rescue Errno::ECONNREFUSED => e