-
Notifications
You must be signed in to change notification settings - Fork 131
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
Flaky TCPSocketServer unit test #141
Comments
Those errors can be seen on Travis OSX as it has Qt 5.8 when building my #142 branch: |
I think only the Unix one should be disabled on Windows. The TCP ones were disabled when enabling MinGW support IIRC, not sure why though. |
AFAIK running |
With the exact same config (compiling only the Keep in mind though that unless we very carefully craft our code to produce the same class layout for both C++ versions we definitely have a big ODR violation. Probably it's still an ODR violation even if we try our best to ensure everything's the same. Making a C++98 library usable in C++11 code is doable, but the reverse I'm not so sure of. This problem goes away when I compile everything as C++11 or everything as C++98. FYI my debug results:
When running in gdb I see that immediately after construction of the local variable
|
Considering that the only reproduction scenario is with compiling some parts as C++11 and others as C++98 I believe this is a violation of the ODR (One Definition Rule). I.e. unless you work really hard to maintain binary compatibility between these two C++ versions, you just won't have it. I know that for glibc++ they do work hard at that and still don't succeed completely. As such, I'm closing this issue. Feel free to reopen it if you can find a reproduction scenario that doesn't depend on compiling different parts with different C++ versions (or other options affecting the ABI). |
Implementation based on temporary file. Unit tests included. When building QtTest driver C++11 is enabled globally to prevent issue cucumber#141.
Implementation based on temporary file. Unit tests included. When building QtTest driver C++11 is enabled globally to prevent issue cucumber#141.
Implementation based on temporary file. When building QtTest driver C++11 is enabled globally to prevent issue cucumber#141.
Implementation based on temporary file. When building QtTest driver C++11 is enabled globally to prevent issue cucumber#141.
Implementation based on temporary file. When building QtTest driver C++11 is enabled globally to prevent issue cucumber#141.
There is some kind of problem with TCPSocketServerTest unit test. All 4 fails:
when I'm building cucumber with c++11 (and 14) enabled via CMake:
Those test failed before for me as outlined in #119 and then fixed itself after merging #120 for whatever reason.
Please help me investigate this issue.
EDIT:
full fail text:
The text was updated successfully, but these errors were encountered: