summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2009-12-03 15:58:22 -0800
committerNat Goodspeed <nat@lindenlab.com>2009-12-03 15:58:22 -0800
commit25b6b5929e4a74023150d729c85b54ae2726c21d (patch)
tree3f55ee2d66d4b50b8e689ac28dfd2b5f2ef5baf5
parentd9a22f6678a519045ae45cc6b927ce319aefc686 (diff)
parent3370a87ff5c6da41c4fad992efa4b3f1b4a9a462 (diff)
Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/
-rw-r--r--indra/llmessage/tests/llsdmessage_test.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/indra/llmessage/tests/llsdmessage_test.cpp b/indra/llmessage/tests/llsdmessage_test.cpp
index 9b018d685b..de2c7e00c8 100644
--- a/indra/llmessage/tests/llsdmessage_test.cpp
+++ b/indra/llmessage/tests/llsdmessage_test.cpp
@@ -21,6 +21,7 @@
#include <iostream>
// std headers
#include <stdexcept>
+#include <typeinfo>
// external library headers
// other Linden headers
#include "../test/lltut.h"
@@ -63,6 +64,32 @@ namespace tut
{
threw = true;
}
+ catch (const std::runtime_error& ex)
+ {
+ // This clause is because on Linux, on the viewer side, for this
+ // one test program (though not others!), the
+ // LLEventPump::DupPumpName exception isn't caught by the clause
+ // above. Warn the user...
+ std::cerr << "Failed to catch " << typeid(ex).name() << std::endl;
+ // But if the expected exception was thrown, allow the test to
+ // succeed anyway. Not sure how else to handle this odd case.
+ if (std::string(typeid(ex).name()) == typeid(LLEventPump::DupPumpName).name())
+ {
+ threw = true;
+ }
+ else
+ {
+ // We don't even recognize this exception. Let it propagate
+ // out to TUT to fail the test.
+ throw;
+ }
+ }
+ catch (...)
+ {
+ std::cerr << "Utterly failed to catch expected exception!" << std::endl;
+ // This case is full of fail. We HAVE to address it.
+ throw;
+ }
ensure("second LLSDMessage should throw", threw);
}