osrm-backend/features/step_definitions/options.rb
2014-03-24 10:16:32 +01:00

56 lines
1.4 KiB
Ruby

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
rescue Timeout::Error
raise "*** osrm-routed didn't quit. Maybe the --trial option wasn't used?"
end
end
end
Then /^it should exit with code (\d+)$/ do |code|
@exit_code.should == code.to_i
end
Then /^stdout should contain "(.*?)"$/ do |str|
@stdout.should include(str)
end
Then /^stderr should contain "(.*?)"$/ do |str|
@stderr.should include(str)
end
Then(/^stdout should contain \/(.*)\/$/) do |regex_str|
regex = Regexp.new regex_str
@stdout.should =~ regex
end
Then(/^stderr should contain \/(.*)\/$/) do |regex_str|
regex = Regexp.new regex_str
@stderr.should =~ regex
end
Then /^stdout should be empty$/ do
@stdout.should == ""
end
Then /^stderr should be empty$/ do
@stderr.should == ""
end
Then /^stdout should contain (\d+) lines?$/ do |lines|
@stdout.lines.count.should == lines.to_i
end