Add 'load directly' mode to default Cucumber test suite #6664
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Currently,
npm test
runs the Cucumber suite with a configuration matrix for the algorithm (CH, MLD) and data loading (shared-memory, mmap) options.However, there is a third data loading option, 'load directly', which is to directly load the datasets into the
osrm-routed
process memory.The code paths for each data loading option are distinct:
This change adds 'load directly' as part of the Cucumber matrix configuration.
This will ensure future changes to dataset loading can be made without any regressions.
Impact
This increases the number of Cucumber tests run by 50%, but thanks to caching, the runtime increase is only 15%.
There is an opportunity to reduce the runtime. Some tests which are algorithm/data-loading agnostic now run six times, when once will suffice.
However, this requires tidying up the tags assigned to each test case, which feels like a bit of yak shaving I'd prefer to do after adding optional data loading.
Tasklist
Requirements / Relations
Closes #6661