-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Partially analyze some SKIPPED
libcxx tests
#4270
Conversation
@@ -53,7 +53,8 @@ std/utilities/memory/default.allocator/allocator.ctor.pass.cpp FAIL | |||
# LWG-3197 "std::prev should not require BidirectionalIterator" (New) | |||
std/iterators/iterator.primitives/iterator.operations/prev.pass.cpp FAIL | |||
|
|||
# Itanium ABI assumptions that current_exception and rethrow_exception don't copy the exception object | |||
# Itanium ABI assumptions that current_exception and rethrow_exception don't copy the exception object. | |||
# The SKIPPED tests contain `XFAIL: msvc`, which is not well understood by the test harness. |
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.
No change requested: I would have said "the MSVC-internal test harness" here because the GitHub test harness does understand XFAIL: msvc
, but it's not worth resetting testing, this comment is a strict improvement.
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.
These tests successfully compile but fail to run. So they are affected by the ARM and ARM64 issue that you explained in
STL/tests/libcxx/expected_results.txt
Lines 1346 to 1355 in a888880
# *** XFAILs WHICH PASS *** | |
# These tests contain `// XFAIL: msvc` comments, which accurately describe runtime failures for x86 and x64. | |
# However, for ARM and ARM64, they successfully compile, then we don't run them. | |
# Our test harness properly handles the ambiguity of whether a FAIL line in this file means "fails to compile" | |
# or "fails to run", combined with the `build_only` setting that we use for ARM and ARM64. | |
# The upstream logic that parses `// XFAIL: msvc` bypasses this, so it's interpreted as "this always fails", | |
# so compilation success for ARM and ARM64 is reported as unexpectedly passing. | |
# The test harness should be fixed to treat `// XFAIL: msvc` the same way that FAIL lines here are treated. | |
# In the meantime, because this is platform-dependent and we don't have a way to express that in this file, | |
# we need to mark these tests as SKIPPED. |
Thank you, this is awesome! 😻 |
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Thanks again for investigating these failures! 😻 🕵️ 💡 |
No description provided.