Fix some Catch2 tests not returning exit code. #2943
Merged
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.
Description
#2707 was recently fixed by amending the error parsing expression.
This is a follow-up fix that will make use of us checking for
$LASTEXITCODE
too.xdp_test
andconnect_redirect_test
were swallowing the return code and implicitly returning 0 (per the C standard, p.13 https://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf)so the exit code portion of our error detecting was being ignored.
Here's an example from Catch2 docs:
https://github.com/catchorg/Catch2/blob/devel/docs/own-main.md#amending-the-catch2-config
And we're doing it right in
socket_tests.cpp
:https://github.com/microsoft/ebpf-for-windows/blob/main/tests/socket/socket_tests.cpp#L471
Testing
Locally running the tests without eBPF installed fails as expected and sets the $LASTEXITCODE to the number of failed tests.