-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Regression with SECTIONs #1089
Comments
I suspect it might be something to do with this: |
When I run the tests by themselves, all is fine. So, yes, this could be the case you mentioned. But this used to work in Catch1, so I am not sure this is the fault of libc++. Something must have changed recently. Seems I had problems with sections and exceptions before: #552. |
We did make one change in this - we found out that for libcxxrt we can fix the bug by using Newer version of libcxxrt have finally fixed this bug. |
I guess you are talking about #1028 and the fix for that in 70e0d48. If I revert that commit, the problem goes away for me. Only idea I have is that there could be some difference due to std::current_exception being allowed to either return a reference to the exception or a copy of it. |
…r it." This reverts commit 00e0972. Some systems don't work with Catch2. See catchorg/Catch2#1089.
I just spent hours debugging this.... Same issue for me. I am lining up client/server tests by spawning threads and I have matching sections for both sides.... Now my tests fail because the client skipped all sections and never tried to connect. Server path didn't skip any sections and is stuck on infinite listen(). Eventually adding variables to indicate which sections were hit showed all were skipped. |
Description
I have a problem with some cases where SECTIONs are used. It looks like in addition to running each of the sections there is one run that goes through neither of the sections. This wasn't the case in Catch 1 and it also works on most systems on Catch 2, but on one system I see test failures because of that. The only difference I can see so far is that failing system is a 32bit Linux, everything else is 64 bit. Maybe I can dig some more, but wanted to raise this here in case somebody has an idea what it could be.
The text was updated successfully, but these errors were encountered: