summaryrefslogtreecommitdiff
path: root/cpp/test/IceUtil
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2017-06-03 00:05:42 +0200
committerJose <jose@zeroc.com>2017-06-03 00:05:42 +0200
commit7402a2d51c7351ad43cc1ee31fc25eab9f48e90f (patch)
tree6dd7a5ada3faa557cbe5f71ae561d86f6e32bf2a /cpp/test/IceUtil
parentFixed ICE-7967 - bogus call in callback (diff)
downloadice-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.cpp43
-rw-r--r--cpp/test/IceUtil/stacktrace/StackTrace.debug.Linux1
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