-
Notifications
You must be signed in to change notification settings - Fork 260
Fix tests and make them platform-independent #556
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix tests and make them platform-independent #556
Conversation
@@ -1,2 +1 @@ | |||
Bounds safety violation: out of bounds access attempt detected | |||
libc++abi: terminating |
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.
This is the platform-dependent message (c.f. the one on Ubuntu below) removed thanks to std::set_terminate(std::abort);
.
@@ -1,2 +1 @@ | |||
Bounds safety violation: out of bounds access attempt detected | |||
terminate called without an active exception |
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.
This is the platform-dependent message (c.f. the one on macOS above) removed thanks to std::set_terminate(std::abort);.
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.
This is the output of macOS clang++ --version
. I wasn't sure what to do with it.
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.
This file was not detected as move because it was outdated. The original is empty, while the current version of the test prints values to avoid unused
warnings.
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.
As mentioned above, this file was outdated: unused
warnings were fixed by printing values.
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.
This file had compilation issues due to shortcomings of std implementation on macOS (error: no member named 'pmr' in namespace 'std'
).
More tests are currently failing on macOS with no member named 'for_each' in namespace 'std::ranges'
- see the description of this PR.
Thanks! I think the core of this PR is the three I'd rather not delete all the Clang-12 regression test results and change them to Clang 14... I'd like to keep the checked-in ones on 12 to make sure things continue to run on 12. Would you please trim the PR to not update the test results? Then after merge I can just re-run the regressions on my system (staying on the compilers I'm using) which will reduce the diffs and not change the checked-in Clang regression version. Thanks1 |
Sure, can do. I just noticed that if they are up to date the content of clang-14 and clang-12 directories is identical. |
I think so -- so just add the |
73495a8
to
8c8069a
Compare
std::terminate
.std::set_terminate(std::abort);
to avoid platform-dependent output on termination.regression-tests/test-results/apple-clang-14/
toregression-tests/test-results/clang-14/
.regression-tests/test-results/clang-12/
as the results of using clang-12 are identical to those for clang-14.Results of running the tests on:
NOTE: One delicate thing about macOS is that some parts of the std library are not implemented (see the detailed compilation errors in the mentioned run on macOS). The test execution bash script I am using to run the test in the mentioned GitHub workflow is detecting compilation errors of the type:
"error: no member named '.*' in namespace 'std"
and simply skips further testing rather than causing a test failure. A Summary of skipped/failed tests is reported at the end.My rationale here was that C++ implementation shortcomings should not raise cppfront errors.
I will be happy to create a PR with the bash script I used to run the tests or even the GitHub workflow to execute the tests on pushes/PRs if this is deemed useful.