cuke: test options for osrm-extract and osrm-prepare

This commit is contained in:
Emil Tin
2014-04-21 15:24:42 +02:00
committed by Dennis Luxen
parent fc6607ce9e
commit a12209e61d
21 changed files with 392 additions and 83 deletions
+27
View File
@@ -0,0 +1,27 @@
@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.
#
# The {base} part of the options to osrm-routed will be expanded to the actual base path of
# the preprocessed file.
Background:
Given the profile "testbot"
And the node map
| a | b |
And the ways
| nodes |
| ab |
And the data has been prepared
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}/
And stdout should contain /compiled at/
And stdout should contain /^\[info\] loaded plugin: viaroute/
And stdout should contain /^\[info\] trial run/
And stdout should contain /^\[info\] shutdown completed/
And it should exit with code 0
+77
View File
@@ -0,0 +1,77 @@
@routed @options @help
Feature: osrm-routed command line options: help
Background:
Given the profile "testbot"
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>]:"
And stdout should contain "Options:"
And stdout should contain "--version"
And stdout should contain "--help"
And stdout should contain "--config"
And stdout should contain "--trial"
And stdout should contain "Configuration:"
And stdout should contain "--hsgrdata arg"
And stdout should contain "--nodesdata arg"
And stdout should contain "--edgesdata arg"
And stdout should contain "--ramindex arg"
And stdout should contain "--fileindex arg"
And stdout should contain "--namesdata arg"
And stdout should contain "--timestamp arg"
And stdout should contain "--ip"
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: osrm-routed - Help, short
When I run "osrm-routed -h"
Then stderr should be empty
And stdout should contain "osrm-routed <base.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 "--trial"
And stdout should contain "Configuration:"
And stdout should contain "--hsgrdata arg"
And stdout should contain "--nodesdata arg"
And stdout should contain "--edgesdata arg"
And stdout should contain "--ramindex arg"
And stdout should contain "--fileindex arg"
And stdout should contain "--namesdata arg"
And stdout should contain "--timestamp arg"
And stdout should contain "--ip"
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: osrm-routed - Help, long
When I run "osrm-routed --help"
Then stderr should be empty
And stdout should contain "osrm-routed <base.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 "--trial"
And stdout should contain "Configuration:"
And stdout should contain "--hsgrdata arg"
And stdout should contain "--nodesdata arg"
And stdout should contain "--edgesdata arg"
And stdout should contain "--ramindex arg"
And stdout should contain "--fileindex arg"
And stdout should contain "--namesdata arg"
And stdout should contain "--timestamp arg"
And stdout should contain "--ip"
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
+19
View File
@@ -0,0 +1,19 @@
@routed @options @invalid
Feature: osrm-routed command line options: invalid options
Background:
Given the profile "testbot"
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: 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"
And stderr should contain "does not exist"
And it should exit with code 1
+22
View 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