Add optional argument to catch_discover_tests to set DYLD_FRAMEWORK_PATH #2880
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.
If a 3rd party library used in tests depends on the DYLD_FRAMEWORK_PATH environment variable to be set on OSX (in order to find its dependent libraries packaged as Apple frameworks during test discovery and run them), then catch_discover_tests will fail. It's similar to the need and usage of the DL_PATHS argument.
Two solutions I initially thought of. One, set the DYLD_FRAMEWORK_PATH implicitly to the same value as DL_PATHS. Second, adding an explicit optional argument to set the paths specifically used for Apple frameworks.
In this PR I have opted for the second solution to allow the two variables to hold different values, even though DYLD_FRAMEWORK_PATH only needs to be set on OSX. There is some repetition in the code to process the paths and set the variables which could be improved in a separate commit or PR.