test(sqlite_header): improve sqlite_header tests #288
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.
The
test_sqlite_header
test is intermittently failing in GitHub Actions.I'm not 100% sure why this the test is failing.
One thing I did notice is that CMocka performs really poorly in multi-threaded applications.
As recommended in the CMocka docs, I've added the
CMOCKA_TEST_ABORT=1
environment variable so that CMocka automaticallyaborts()
if a test fails, see https://api.cmocka.org/#main-threadsI've also removed all of the
assert_*()
macros from the non-main threads, since CMocka doesn't properly handle these. Instead, we pass an error_message string to the main thread, and the main thread then callsasssert_string_equal()
on it.This might fix #252, but even if it doesn't, hopefully this will improve the logs and make it easier to debug in the future.