cuke: test options for osrm-extract and osrm-prepare
This commit is contained in:
parent
fc6607ce9e
commit
a12209e61d
@ -1,5 +1,5 @@
|
||||
@routing @options
|
||||
Feature: Command line options: version
|
||||
@extract @options
|
||||
Feature: osrm-extract command line options: version
|
||||
# the regex will match these two formats:
|
||||
# v0.3.7.0 # this is the normal format when you build from a git clone
|
||||
# -128-NOTFOUND # if you build from a shallow clone (used on Travis)
|
||||
@ -7,14 +7,14 @@ Feature: Command line options: version
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
Scenario: Version, short
|
||||
Scenario: osrm-extract - Version, short
|
||||
When I run "osrm-routed --v"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: Version, long
|
||||
Scenario: osrm-extract - Version, long
|
||||
When I run "osrm-routed --version"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
31
features/options/extract/files.feature
Normal file
31
features/options/extract/files.feature
Normal file
@ -0,0 +1,31 @@
|
||||
@extract @options @files
|
||||
Feature: osrm-extract command line options: files
|
||||
# expansions:
|
||||
# {base} => path to current input file
|
||||
# {profile} => path to current profile script
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
And the node map
|
||||
| a | b |
|
||||
And the ways
|
||||
| nodes |
|
||||
| ab |
|
||||
And the data has been saved to disk
|
||||
|
||||
Scenario: osrm-extract - Passing base file
|
||||
When I run "osrm-extract {base}.osm --profile {profile}"
|
||||
Then stderr should be empty
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-extract - Order of options should not matter
|
||||
When I run "osrm-extract --profile {profile} {base}.osm"
|
||||
Then stderr should be empty
|
||||
And it should exit with code 0
|
||||
|
||||
@todo
|
||||
Scenario: osrm-extract - Missing input file
|
||||
When I run "osrm-extract over-the-rainbow.osrm --profile {profile}"
|
||||
And stderr should contain "over-the-rainbow.osrm"
|
||||
And stderr should contain "not found"
|
||||
And it should exit with code 1
|
48
features/options/extract/help.feature
Normal file
48
features/options/extract/help.feature
Normal file
@ -0,0 +1,48 @@
|
||||
@extract @options @help
|
||||
Feature: osrm-extract command line options: help
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
@todo
|
||||
Scenario: osrm-extract - Help should be shown when no options are passed
|
||||
When I run "osrm-extract"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-extract <input.osm/.osm.bz2/.osm.pbf> [options]:"
|
||||
And stdout should contain "Options:"
|
||||
And stdout should contain "--version"
|
||||
And stdout should contain "--help"
|
||||
And stdout should contain "--config"
|
||||
And stdout should contain "Configuration:"
|
||||
And stdout should contain "--profile"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain 12 lines
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-extract - Help, short
|
||||
When I run "osrm-extract -h"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-extract <input.osm/.osm.bz2/.osm.pbf> [options]:"
|
||||
And stdout should contain "Options:"
|
||||
And stdout should contain "--version"
|
||||
And stdout should contain "--help"
|
||||
And stdout should contain "--config"
|
||||
And stdout should contain "Configuration:"
|
||||
And stdout should contain "--profile"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain 12 lines
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-extract - Help, long
|
||||
When I run "osrm-extract --help"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-extract <input.osm/.osm.bz2/.osm.pbf> [options]:"
|
||||
And stdout should contain "Options:"
|
||||
And stdout should contain "--version"
|
||||
And stdout should contain "--help"
|
||||
And stdout should contain "--config"
|
||||
And stdout should contain "Configuration:"
|
||||
And stdout should contain "--profile"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain 12 lines
|
||||
And it should exit with code 0
|
13
features/options/extract/invalid.feature
Normal file
13
features/options/extract/invalid.feature
Normal file
@ -0,0 +1,13 @@
|
||||
@extract @options @invalid
|
||||
Feature: osrm-extract command line options: invalid options
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
@todo
|
||||
Scenario: osrm-extract - Non-existing option
|
||||
When I run "osrm-extract --fly-me-to-the-moon"
|
||||
Then stdout should be empty
|
||||
And stderr should contain "exception"
|
||||
And stderr should contain "fly-me-to-the-moon"
|
||||
And it should exit with code 1
|
22
features/options/extract/version.feature
Normal file
22
features/options/extract/version.feature
Normal file
@ -0,0 +1,22 @@
|
||||
@extract @options @version
|
||||
Feature: osrm-extract command line options: version
|
||||
# the regex will match these two formats:
|
||||
# v0.3.7.0 # this is the normal format when you build from a git clone
|
||||
# -128-NOTFOUND # if you build from a shallow clone (used on Travis)
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
Scenario: osrm-extract - Version, short
|
||||
When I run "osrm-extract --v"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-extract - Version, long
|
||||
When I run "osrm-extract --version"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
35
features/options/prepare/files.feature
Normal file
35
features/options/prepare/files.feature
Normal file
@ -0,0 +1,35 @@
|
||||
@prepare @options @files
|
||||
Feature: osrm-prepare command line options: files
|
||||
# expansions:
|
||||
# {base} => path to current input file
|
||||
# {profile} => path to current profile script
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
And the node map
|
||||
| a | b |
|
||||
And the ways
|
||||
| nodes |
|
||||
| ab |
|
||||
And the data has been extracted
|
||||
|
||||
Scenario: osrm-prepare - Passing base file
|
||||
When I run "osrm-extract {base}.osm --profile {profile}"
|
||||
Then stderr should be empty
|
||||
And it should exit with code 0
|
||||
When I run "osrm-prepare {base}.osrm --profile {profile}"
|
||||
Then stderr should be empty
|
||||
And it should exit with code 0
|
||||
|
||||
@todo
|
||||
Scenario: osrm-prepare - Order of options should not matter
|
||||
When I run "osrm-prepare --profile {profile} {base}.osm"
|
||||
Then stderr should be empty
|
||||
And it should exit with code 0
|
||||
|
||||
@todo
|
||||
Scenario: osrm-prepare - Missing input file
|
||||
When I run "osrm-prepare over-the-rainbow.osrm --profile {profile}"
|
||||
And stderr should contain "over-the-rainbow.osrm"
|
||||
And stderr should contain "not found"
|
||||
And it should exit with code 1
|
51
features/options/prepare/help.feature
Normal file
51
features/options/prepare/help.feature
Normal file
@ -0,0 +1,51 @@
|
||||
@prepare @options @help
|
||||
Feature: osrm-prepare command line options: help
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
@todo
|
||||
Scenario: osrm-prepare - Help should be shown when no options are passed
|
||||
When I run "osrm-prepare"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-prepare <input.osrm> [options]:"
|
||||
And stdout should contain "Options:"
|
||||
And stdout should contain "--version"
|
||||
And stdout should contain "--help"
|
||||
And stdout should contain "--config"
|
||||
And stdout should contain "Configuration:"
|
||||
And stdout should contain "--restrictions"
|
||||
And stdout should contain "--profile"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain 15 lines
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-prepare - Help, short
|
||||
When I run "osrm-prepare -h"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-prepare <input.osrm> [options]:"
|
||||
And stdout should contain "Options:"
|
||||
And stdout should contain "--version"
|
||||
And stdout should contain "--help"
|
||||
And stdout should contain "--config"
|
||||
And stdout should contain "Configuration:"
|
||||
And stdout should contain "--restrictions"
|
||||
And stdout should contain "--profile"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain 15 lines
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-prepare - Help, long
|
||||
When I run "osrm-prepare --help"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-prepare <input.osrm> [options]:"
|
||||
And stdout should contain "Options:"
|
||||
And stdout should contain "--version"
|
||||
And stdout should contain "--help"
|
||||
And stdout should contain "--config"
|
||||
And stdout should contain "Configuration:"
|
||||
And stdout should contain "--restrictions"
|
||||
And stdout should contain "--profile"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain 15 lines
|
||||
And it should exit with code 0
|
13
features/options/prepare/invalid.feature
Normal file
13
features/options/prepare/invalid.feature
Normal file
@ -0,0 +1,13 @@
|
||||
@prepare @options @invalid
|
||||
Feature: osrm-prepare command line options: invalid options
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
@todo
|
||||
Scenario: osrm-prepare - Non-existing option
|
||||
When I run "osrm-prepare --fly-me-to-the-moon"
|
||||
Then stdout should be empty
|
||||
And stderr should contain "exception"
|
||||
And stderr should contain "fly-me-to-the-moon"
|
||||
And it should exit with code 1
|
22
features/options/prepare/version.feature
Normal file
22
features/options/prepare/version.feature
Normal file
@ -0,0 +1,22 @@
|
||||
@prepare @options @version
|
||||
Feature: osrm-prepare command line options: version
|
||||
# the regex will match these two formats:
|
||||
# v0.3.7.0 # this is the normal format when you build from a git clone
|
||||
# -128-NOTFOUND # if you build from a shallow clone (used on Travis)
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
Scenario: osrm-prepare - Version, short
|
||||
When I run "osrm-prepare --v"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-prepare - Version, long
|
||||
When I run "osrm-prepare --version"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
@ -1,5 +1,5 @@
|
||||
@routing @options @files
|
||||
Feature: Command line options: files
|
||||
@routed @options @files
|
||||
Feature: osrm-routed command line options: files
|
||||
# Normally when launching osrm-routed, it will keep running as a server until it's shut down.
|
||||
# For testing program options, the --trial option is used, which causes osrm-routed to quit
|
||||
# immediately after initialization. This makes testing easier and faster.
|
||||
@ -14,9 +14,9 @@ Feature: Command line options: files
|
||||
And the ways
|
||||
| nodes |
|
||||
| ab |
|
||||
And I preprocess data
|
||||
And the data has been prepared
|
||||
|
||||
Scenario: Passing base file
|
||||
Scenario: osrm-routed - Passing base file
|
||||
When I run "osrm-routed {base}.osrm --trial"
|
||||
Then stdout should contain /^\[info\] starting up engines/
|
||||
And stdout should contain /\d{1,2}\.\d{1,2}\.\d{1,2}/
|
@ -1,10 +1,10 @@
|
||||
@routing @options
|
||||
Feature: Command line options: help
|
||||
@routed @options @help
|
||||
Feature: osrm-routed command line options: help
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
Scenario: Help should be shown when no options are passed
|
||||
Scenario: osrm-routed - Help should be shown when no options are passed
|
||||
When I run "osrm-routed"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-routed <base.osrm> [<options>]:"
|
||||
@ -25,9 +25,10 @@ Feature: Command line options: help
|
||||
And stdout should contain "--port"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain "--sharedmemory"
|
||||
And stdout should contain 21 lines
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: Help, short
|
||||
Scenario: osrm-routed - Help, short
|
||||
When I run "osrm-routed -h"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-routed <base.osrm> [<options>]:"
|
||||
@ -48,9 +49,10 @@ Feature: Command line options: help
|
||||
And stdout should contain "--port"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain "--sharedmemory"
|
||||
And stdout should contain 21 lines
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: Help, long
|
||||
Scenario: osrm-routed - Help, long
|
||||
When I run "osrm-routed --help"
|
||||
Then stderr should be empty
|
||||
And stdout should contain "osrm-routed <base.osrm> [<options>]:"
|
||||
@ -71,4 +73,5 @@ Feature: Command line options: help
|
||||
And stdout should contain "--port"
|
||||
And stdout should contain "--threads"
|
||||
And stdout should contain "--sharedmemory"
|
||||
And stdout should contain 21 lines
|
||||
And it should exit with code 0
|
@ -1,17 +1,17 @@
|
||||
@routing @options
|
||||
Feature: Command line options: invalid options
|
||||
@routed @options @invalid
|
||||
Feature: osrm-routed command line options: invalid options
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
Scenario: Non-existing option
|
||||
Scenario: osrm-routed - Non-existing option
|
||||
When I run "osrm-routed --fly-me-to-the-moon"
|
||||
Then stdout should be empty
|
||||
And stderr should contain "exception"
|
||||
And stderr should contain "fly-me-to-the-moon"
|
||||
And it should exit with code 1
|
||||
|
||||
Scenario: Missing file
|
||||
Scenario: osrm-routed - Missing file
|
||||
When I run "osrm-routed over-the-rainbow.osrm"
|
||||
Then stdout should contain "over-the-rainbow.osrm"
|
||||
And stderr should contain "exception"
|
22
features/options/routed/version.feature
Normal file
22
features/options/routed/version.feature
Normal file
@ -0,0 +1,22 @@
|
||||
@routed @options @version
|
||||
Feature: osrm-routed command line options: version
|
||||
# the regex will match these two formats:
|
||||
# v0.3.7.0 # this is the normal format when you build from a git clone
|
||||
# -128-NOTFOUND # if you build from a shallow clone (used on Travis)
|
||||
|
||||
Background:
|
||||
Given the profile "testbot"
|
||||
|
||||
Scenario: osrm-routed - Version, short
|
||||
When I run "osrm-routed --v"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
||||
|
||||
Scenario: osrm-routed - Version, long
|
||||
When I run "osrm-routed --version"
|
||||
Then stderr should be empty
|
||||
And stdout should contain 1 line
|
||||
And stdout should contain /(v\d{1,2}\.\d{1,2}\.\d{1,2}|\w*-\d+-\w+)/
|
||||
And it should exit with code 0
|
@ -133,3 +133,28 @@ Given /^the input file ([^"]*)$/ do |file|
|
||||
raise "*** Input file must in .osm format" unless File.extname(file)=='.osm'
|
||||
@osm_str = File.read file
|
||||
end
|
||||
|
||||
Given /^the data has been saved to disk$/ do
|
||||
begin
|
||||
write_input_data
|
||||
rescue OSRMError => e
|
||||
@process_error = e
|
||||
end
|
||||
end
|
||||
|
||||
Given /^the data has been extracted$/ do
|
||||
begin
|
||||
write_input_data
|
||||
extract_data unless extracted?
|
||||
rescue OSRMError => e
|
||||
@process_error = e
|
||||
end
|
||||
end
|
||||
|
||||
Given /^the data has been prepared$/ do
|
||||
begin
|
||||
reprocess
|
||||
rescue OSRMError => e
|
||||
@process_error = e
|
||||
end
|
||||
end
|
||||
|
@ -1,23 +1,17 @@
|
||||
When(/^I run "osrm\-routed\s?(.*?)"$/) do |options|
|
||||
Dir.chdir TEST_FOLDER do
|
||||
if options.include? '{base}'
|
||||
# expand {base} to base path of preprocessed data file
|
||||
raise "*** Cannot expand {base} without a preprocessed file." unless @osm_file
|
||||
options_expanded = options.gsub "{base}", "#{@osm_file}"
|
||||
else
|
||||
options_expanded = options
|
||||
end
|
||||
|
||||
begin
|
||||
Timeout.timeout(1) do
|
||||
@stdout = `#{BIN_PATH}/osrm-routed #{options_expanded} 2>error.log`
|
||||
@stderr = File.read 'error.log'
|
||||
@exit_code = $?.exitstatus
|
||||
end
|
||||
Timeout.timeout(1) { run_bin 'osrm-routed', options }
|
||||
rescue Timeout::Error
|
||||
raise "*** osrm-routed didn't quit. Maybe the --trial option wasn't used?"
|
||||
end
|
||||
end
|
||||
|
||||
When(/^I run "osrm\-extract\s?(.*?)"$/) do |options|
|
||||
run_bin 'osrm-extract', options
|
||||
end
|
||||
|
||||
When(/^I run "osrm\-prepare\s?(.*?)"$/) do |options|
|
||||
run_bin 'osrm-prepare', options
|
||||
end
|
||||
|
||||
Then /^it should exit with code (\d+)$/ do |code|
|
||||
|
@ -29,14 +29,6 @@ Then /^response should be a well-formed route$/ do
|
||||
@json['via_indices'].class.should == Array
|
||||
end
|
||||
|
||||
When /^I preprocess data$/ do
|
||||
begin
|
||||
reprocess
|
||||
rescue OSRMError => e
|
||||
@process_error = e
|
||||
end
|
||||
end
|
||||
|
||||
Then /^"([^"]*)" should return code (\d+)$/ do |binary, code|
|
||||
@process_error.is_a?(OSRMError).should == true
|
||||
@process_error.process.should == binary
|
||||
|
@ -2,20 +2,6 @@ require 'OSM/objects' #osmlib gem
|
||||
require 'OSM/Database'
|
||||
require 'builder'
|
||||
|
||||
OSM_USER = 'osrm'
|
||||
OSM_GENERATOR = 'osrm-test'
|
||||
OSM_UID = 1
|
||||
TEST_FOLDER = 'test'
|
||||
DATA_FOLDER = 'cache'
|
||||
OSM_TIMESTAMP = '2000-00-00T00:00:00Z'
|
||||
DEFAULT_SPEEDPROFILE = 'bicycle'
|
||||
WAY_SPACING = 100
|
||||
DEFAULT_GRID_SIZE = 100 #meters
|
||||
PROFILES_PATH = '../profiles'
|
||||
BIN_PATH = '../build'
|
||||
DEFAULT_INPUT_FORMAT = 'osm'
|
||||
DEFAULT_ORIGIN = [1,1]
|
||||
|
||||
class Location
|
||||
attr_accessor :lon,:lat
|
||||
|
||||
@ -252,22 +238,31 @@ def write_timestamp
|
||||
File.open( "#{@osm_file}.osrm.timestamp", 'w') {|f| f.write(OSM_TIMESTAMP) }
|
||||
end
|
||||
|
||||
def reprocess
|
||||
def pbf?
|
||||
input_format=='pbf'
|
||||
end
|
||||
def write_input_data
|
||||
Dir.chdir TEST_FOLDER do
|
||||
use_pbf = (input_format=='pbf')
|
||||
write_osm
|
||||
write_timestamp
|
||||
convert_osm_to_pbf if use_pbf
|
||||
unless extracted?
|
||||
convert_osm_to_pbf if pbf?
|
||||
end
|
||||
end
|
||||
|
||||
def extract_data
|
||||
Dir.chdir TEST_FOLDER do
|
||||
log_preprocess_info
|
||||
log "== Extracting #{@osm_file}.osm...", :preprocess
|
||||
unless system "#{BIN_PATH}/osrm-extract #{@osm_file}.osm#{'.pbf' if use_pbf} --profile #{PROFILES_PATH}/#{@profile}.lua 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE}"
|
||||
unless system "#{BIN_PATH}/osrm-extract #{@osm_file}.osm#{'.pbf' if pbf?} --profile #{PROFILES_PATH}/#{@profile}.lua 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE}"
|
||||
log "*** Exited with code #{$?.exitstatus}.", :preprocess
|
||||
raise ExtractError.new $?.exitstatus, "osrm-extract exited with code #{$?.exitstatus}."
|
||||
end
|
||||
log '', :preprocess
|
||||
end
|
||||
unless prepared?
|
||||
end
|
||||
|
||||
def prepare_data
|
||||
Dir.chdir TEST_FOLDER do
|
||||
log_preprocess_info
|
||||
log "== Preparing #{@osm_file}.osm...", :preprocess
|
||||
unless system "#{BIN_PATH}/osrm-prepare #{@osm_file}.osrm --profile #{PROFILES_PATH}/#{@profile}.lua 1>>#{PREPROCESS_LOG_FILE} 2>>#{PREPROCESS_LOG_FILE}"
|
||||
@ -276,6 +271,11 @@ def reprocess
|
||||
end
|
||||
log '', :preprocess
|
||||
end
|
||||
end
|
||||
|
||||
def reprocess
|
||||
write_input_data
|
||||
extract_data unless extracted?
|
||||
prepare_data unless prepared?
|
||||
log_preprocess_done
|
||||
end
|
||||
end
|
||||
|
@ -3,6 +3,22 @@ require 'rspec/expectations'
|
||||
DEFAULT_PORT = 5000
|
||||
DEFAULT_TIMEOUT = 2
|
||||
|
||||
ROOT_FOLDER = Dir.pwd
|
||||
OSM_USER = 'osrm'
|
||||
OSM_GENERATOR = 'osrm-test'
|
||||
OSM_UID = 1
|
||||
TEST_FOLDER = File.join ROOT_FOLDER, 'test'
|
||||
DATA_FOLDER = 'cache'
|
||||
OSM_TIMESTAMP = '2000-00-00T00:00:00Z'
|
||||
DEFAULT_SPEEDPROFILE = 'bicycle'
|
||||
WAY_SPACING = 100
|
||||
DEFAULT_GRID_SIZE = 100 #meters
|
||||
PROFILES_PATH = File.join ROOT_FOLDER, 'profiles'
|
||||
BIN_PATH = File.join ROOT_FOLDER, 'build'
|
||||
DEFAULT_INPUT_FORMAT = 'osm'
|
||||
DEFAULT_ORIGIN = [1,1]
|
||||
|
||||
|
||||
puts "Ruby version #{RUBY_VERSION}"
|
||||
unless RUBY_VERSION.to_f >= 1.9
|
||||
raise "*** Please upgrade to Ruby 1.9.x to run the OSRM cucumber tests"
|
||||
@ -24,6 +40,10 @@ else
|
||||
puts "Using default timeout #{OSRM_TIMEOUT}"
|
||||
end
|
||||
|
||||
unless File.exists? TEST_FOLDER
|
||||
raise "*** Test folder #{TEST_FOLDER} doesn't exist."
|
||||
end
|
||||
|
||||
|
||||
AfterConfiguration do |config|
|
||||
clear_log_files
|
||||
|
18
features/support/run.rb
Normal file
18
features/support/run.rb
Normal file
@ -0,0 +1,18 @@
|
||||
def run_bin bin, options
|
||||
Dir.chdir TEST_FOLDER do
|
||||
opt = options.dup
|
||||
|
||||
if opt.include? '{base}'
|
||||
raise "*** {base} is missing" unless @osm_file
|
||||
opt.gsub! "{base}", "#{@osm_file}"
|
||||
end
|
||||
|
||||
if opt.include? '{profile}'
|
||||
opt.gsub! "{profile}", "#{PROFILES_PATH}/#{@profile}.lua"
|
||||
end
|
||||
|
||||
@stdout = `#{BIN_PATH}/#{bin} #{opt} 2>error.log`
|
||||
@stderr = File.read 'error.log'
|
||||
@exit_code = $?.exitstatus
|
||||
end
|
||||
end
|
@ -11,7 +11,7 @@ Feature: Handle bad data in a graceful manner
|
||||
Given the ways
|
||||
| nodes |
|
||||
|
||||
When I preprocess data
|
||||
When the data has been prepared
|
||||
Then "osrm-extract" should return code 255
|
||||
|
||||
Scenario: Only dead-end oneways
|
||||
|
@ -87,7 +87,7 @@ Feature: Importing protobuffer (.pbf) format
|
||||
Given the ways
|
||||
| nodes |
|
||||
|
||||
When I preprocess data
|
||||
When the data has been prepared
|
||||
Then "osrm-extract" should return code 255
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user