Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork130
Allow tests to run on systems with case-insensitive filesystems and newer compilers.#208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
codecov-commenter commentedSep 7, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@## master #208 +/- ##======================================= Coverage 95.52% 95.52% ======================================= Files 16 16 Lines 1072 1072 ======================================= Hits 1024 1024 Misses 48 48
☔ View full report in Codecov by Sentry. 📢 Have feedback on the report?Share it here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Would merge, pending adjustments of include-path.
Uh oh!
There was an error while loading.Please reload this page.
Also adds pragmas to suppress warnings treated as fatal
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
LGTM 👍
This change allows the test suite to run on desktop machines with case-insenstive filesystems (e.g. macOS and Windows) without needing a Linux VM or special mount point.
The main issue is the conflict between "String.h" in the api directory and the standard "string.h" include; the API's one gets matched when included with
#include <String.h>"
which does not happen in a core because the include path points to the parent of the api directory. So the main change here is to alter the include path for the tests to the parent of theapi
directory to match. Unfortunately this meant modifying all the tests to includeapi/
in the header filename.Testing this on macOS with XCode 13.3 (native cc which is clang 14.x) and GCC 13 also tripped over stricter warnings related to the deprecation of
sprintf
and the self-move test for String. The PR includes#pragma
statements to suppress those warnings as I didn't want to change production code in this PR, saving it for separate patch.I confirmed the tests still pass on Ubuntu with GCC 12.