diff options
author | Jose <jose@zeroc.com> | 2015-12-28 14:15:32 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2015-12-28 15:09:27 +0100 |
commit | 0796f3d662270be771663c0579fde946a7b863d1 (patch) | |
tree | 7315f892b62d042941fa0607386e2e6b991967ae /cpp/test/Ice/objects/AllTests.cpp | |
parent | Fix binary compatibility issue with previous fix (diff) | |
download | ice-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.cpp | 34 |
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; } |