diff options
author | Jose <jose@zeroc.com> | 2017-06-03 00:05:42 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-06-03 00:05:42 +0200 |
commit | 7402a2d51c7351ad43cc1ee31fc25eab9f48e90f (patch) | |
tree | 6dd7a5ada3faa557cbe5f71ae561d86f6e32bf2a /cpp/test/IceUtil | |
parent | Fixed ICE-7967 - bogus call in callback (diff) | |
download | ice-7402a2d51c7351ad43cc1ee31fc25eab9f48e90f.tar.bz2 ice-7402a2d51c7351ad43cc1ee31fc25eab9f48e90f.tar.xz ice-7402a2d51c7351ad43cc1ee31fc25eab9f48e90f.zip |
Stacktrace test fixes
Diffstat (limited to 'cpp/test/IceUtil')
-rw-r--r-- | cpp/test/IceUtil/stacktrace/Client.cpp | 43 | ||||
-rw-r--r-- | cpp/test/IceUtil/stacktrace/StackTrace.debug.Linux | 1 |
2 files changed, 26 insertions, 18 deletions
diff --git a/cpp/test/IceUtil/stacktrace/Client.cpp b/cpp/test/IceUtil/stacktrace/Client.cpp index 677afdcc571..c2b75a74439 100644 --- a/cpp/test/IceUtil/stacktrace/Client.cpp +++ b/cpp/test/IceUtil/stacktrace/Client.cpp @@ -235,7 +235,7 @@ int main(int argc, char* argv[]) while(true) { -#if defined(_WIN32) && defined(NDEBUG) +#ifndef __APPLE__ bool match = true; #endif ifstream ifs(filename.c_str()); @@ -281,40 +281,49 @@ int main(int argc, char* argv[]) break; #else vector<string> actual = splitLines(stack); - test(expected.size() <= actual.size()); for(size_t i = 0; i < expected.size(); ++i) { if(actual[i].find(expected[i]) == string::npos) { -#if defined(_WIN32) && defined(NDEBUG) match = false; // - // With windows optimized builds retry with the alternate - // expect file. + // With windows and Linux optimized builds retry with the alternate + // files. // - if(filename != "StackTrace.release.Win32") + if(filename == "StackTrace.release-vc110.Win32" || + filename == "StackTrace.release-vc130.Win32" || + filename == "StackTrace.release-vc140.Win32" || + filename == "StackTrace.release.Linux") { break; } - else - { - test(false); - } -#else + + cerr << "could not find `" << expected[i] << "` in " << actual[i] << endl; cerr << "Full stack is:\n" << stack << endl; test(false); -#endif } } -#if defined(_WIN32) && defined(NDEBUG) - if(!match && filename != "StackTrace.release.Win32") + + if(!match) { - filename = "StackTrace.release.Win32"; - continue; + if(filename == "StackTrace.release-vc110.Win32" || + filename == "StackTrace.release-vc130.Win32" || + filename == "StackTrace.release-vc140.Win32") + { + // Retry with alternate Win32 stack + filename = "StackTrace.release.Win32"; + continue; + } + else if(filename == "StackTrace.release.Linux") + { + // Retry with the debug Linux stack + filename = "StackTrace.debug.Linux"; + continue; + } } -#endif + test(actual.size() >= expected.size()); break; #endif } diff --git a/cpp/test/IceUtil/stacktrace/StackTrace.debug.Linux b/cpp/test/IceUtil/stacktrace/StackTrace.debug.Linux index a090eb9e613..70cc5bf7f33 100644 --- a/cpp/test/IceUtil/stacktrace/StackTrace.debug.Linux +++ b/cpp/test/IceUtil/stacktrace/StackTrace.debug.Linux @@ -8,4 +8,3 @@ client client client 9 __libc_start_main in -client |