The need for this is that:
- On OS X if libraries are stored in custom locations (not /usr/lib or /usr/local)
and they do not embed an rpath (which is common to not have) then the developer
needs to set DYLD_LIBRARY_PATH to ensure that osrm tools can find dependent libraries
at runtime (this is normal and common).
- But as of OS X > 10.11 DYLD_LIBRARY_PATH no longer is inherited. While it works in
the main shell when running a command like `osrm-extract` you will find that when
`osrm-extract` is run by cucumber (ruby child process) then DYLD_LIBRARY_PATH
is blocked and the command cannot start.
- So, this introduces the ability to pass in a variable that the cucumber tests will
understand and can manually forward along to ensure that DYLD_LIBRARY_PATH is respected
where it counts.
The intended usage of this is therefore:
# set the environment variable
export OSRM_SHARED_LIBRARY_PATH=${DYLD_LIBRARY_PATH}
# then run cucumber tests
cucumber -p verify
- Otherwise, currently, if osrm-extract crashes at startup then
the tests continue on and will crash many many times.
- This also tests that --help returns an exit code of zero and will
catch if this behavior ever changes or is inconsistent between
the command line programs
Fixes issue #1864. Given the simple set-up:
a --> b --> c
^-----------|
This would translate into an edge based graph (ab) -> (bc),
(bc) -> (ca), (ca) -> (ab).
Starting at the end of the one-way street (ab) and going to
the beginning, the query has to find a self-loop within the
graph (ab) -> (bc) -> (ca) -> (ab), as both nodes map to the
same segment (ab).
"status" is now always:
- 200 if the request was successful
- 207 if the result is empty (no path found)
- 400 if the request is invalid
viaroute and trip now have a maximum of 500 and 100 locations
respectively. Override with the --max-viaroute-size and --max-trip-size
parameters.
Add ability to pass extra parameters to during tests.
Limit distance table search so that it doesn't return any big components if they're beyond max_distance.
* Adds a data structure, RasterSource, to store parsed + queryable data
* Adds bindings for that and relevant data structures as well as source_function and segment_function
* Adds relevant unit tests and cucumber tests
* Bring-your-own-data feature