summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/objects/AllTests.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2015-12-28 14:15:32 +0100
committerJose <jose@zeroc.com>2015-12-28 15:09:27 +0100
commit0796f3d662270be771663c0579fde946a7b863d1 (patch)
tree7315f892b62d042941fa0607386e2e6b991967ae /cpp/test/Ice/objects/AllTests.cpp
parentFix binary compatibility issue with previous fix (diff)
downloadice-3.6.1-msvc2015.tar.bz2
ice-3.6.1-msvc2015.tar.xz
ice-3.6.1-msvc2015.zip
Object factory registration fix for VS 2015v3.6.1-msvc2015
Diffstat (limited to 'cpp/test/Ice/objects/AllTests.cpp')
-rw-r--r--cpp/test/Ice/objects/AllTests.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp
index 04643d44427..829a0c35602 100644
--- a/cpp/test/Ice/objects/AllTests.cpp
+++ b/cpp/test/Ice/objects/AllTests.cpp
@@ -237,5 +237,39 @@ allTests(const Ice::CommunicatorPtr& communicator)
testUOE(communicator);
cout << "ok" << endl;
+ try
+ {
+ string ref = "test:default -p 12010";
+ TestIntfPrx p = TestIntfPrx::checkedCast(communicator->stringToProxy(ref));
+
+ cout << "testing UnexpectedObjectException... " << flush;
+ testUOE(communicator);
+ cout << "ok" << endl;
+
+ cout << "testing Object factory registration... " << flush;
+ {
+ BasePtr base = p->opDerived();
+ test(base);
+ test(base->ice_id() == "::Test::Derived");
+ }
+ cout << "ok" << endl;
+
+ cout << "testing Exception factory registration... " << flush;
+ {
+ try
+ {
+ p->throwDerived();
+ }
+ catch(const BaseEx& ex)
+ {
+ test(ex.ice_name() == "Test::DerivedEx");
+ }
+ }
+ cout << "ok" << endl;
+ }
+ catch(const Ice::ObjectNotExistException&)
+ {
+ }
+
return initial;
}