diff options
author | Philip Rauwolf <rauwolf@itestra.de> | 2013-02-28 19:13:51 +0100 |
---|---|---|
committer | Philip Rauwolf <rauwolf@itestra.de> | 2013-02-28 19:13:51 +0100 |
commit | 0cfcd00a98bb412e2d930b71bb05fbeccf9f348e (patch) | |
tree | 26c2f92e741acf8c1e6b080f391ca05ef6ff3c47 | |
parent | 5106e7bb3948c996cf78d9f4c9f9de442f211f9e (diff) | |
download | genivi-common-api-dbus-runtime-0cfcd00a98bb412e2d930b71bb05fbeccf9f348e.tar.gz |
Corrected tests with regards to deregistration of services
-rw-r--r-- | src/test/DBusAddressTranslatorTest.cpp | 2 | ||||
-rw-r--r-- | src/test/DBusCommunicationTest.cpp | 7 | ||||
-rw-r--r-- | src/test/DBusMultipleConnectionTest.cpp | 2 | ||||
-rw-r--r-- | src/test/DBusProxyTest.cpp | 30 |
4 files changed, 29 insertions, 12 deletions
diff --git a/src/test/DBusAddressTranslatorTest.cpp b/src/test/DBusAddressTranslatorTest.cpp index 0392657..f8697b9 100644 --- a/src/test/DBusAddressTranslatorTest.cpp +++ b/src/test/DBusAddressTranslatorTest.cpp @@ -185,6 +185,8 @@ TEST_F(AddressTranslatorTest, ServicesUsingPredefinedAddressesCanCommunicate) { defaultTestProxy->testVoidPredefinedTypeMethod(v1, v2, stat); ASSERT_EQ(stat, CommonAPI::CallStatus::SUCCESS); + + stubFactory->unregisterService(commonApiAddresses[0]); } diff --git a/src/test/DBusCommunicationTest.cpp b/src/test/DBusCommunicationTest.cpp index 245b496..0cd8545 100644 --- a/src/test/DBusCommunicationTest.cpp +++ b/src/test/DBusCommunicationTest.cpp @@ -96,12 +96,16 @@ TEST_F(DBusCommunicationTest, RemoteMethodCallSucceeds) { bool success = stubFactory_->registerService(stub, serviceAddress_); ASSERT_TRUE(success); + sleep(1); + uint32_t v1 = 5; std::string v2 = "Ciao ;)"; CommonAPI::CallStatus stat; defaultTestProxy->testVoidPredefinedTypeMethod(v1, v2, stat); ASSERT_EQ(stat, CommonAPI::CallStatus::SUCCESS); + + stubFactory_->unregisterService(serviceAddress_); } @@ -113,7 +117,7 @@ TEST_F(DBusCommunicationTest, RemoteMethodCallWithNonstandardAddressSucceeds) { bool success = stubFactory_->registerService(stub, nonstandardAddress_); ASSERT_TRUE(success); - sleep(10); + sleep(1); uint32_t v1 = 5; std::string v2 = "Hai :)"; @@ -121,6 +125,7 @@ TEST_F(DBusCommunicationTest, RemoteMethodCallWithNonstandardAddressSucceeds) { defaultTestProxy->testVoidPredefinedTypeMethod(v1, v2, stat); ASSERT_EQ(stat, CommonAPI::CallStatus::SUCCESS); + stubFactory_->unregisterService(nonstandardAddress_); } diff --git a/src/test/DBusMultipleConnectionTest.cpp b/src/test/DBusMultipleConnectionTest.cpp index 052f2f4..70af765 100644 --- a/src/test/DBusMultipleConnectionTest.cpp +++ b/src/test/DBusMultipleConnectionTest.cpp @@ -43,6 +43,7 @@ class DBusMultipleConnectionTest: public ::testing::Test { } virtual void TearDown() { + stubFactory->unregisterService(serviceAddress); } std::shared_ptr<CommonAPI::Factory> proxyFactory; @@ -111,7 +112,6 @@ TEST_F(DBusMultipleConnectionTest, SetAttributeBroadcast) { ASSERT_TRUE(future.get()); ASSERT_EQ(v1, v3); - } diff --git a/src/test/DBusProxyTest.cpp b/src/test/DBusProxyTest.cpp index 8386a52..32651a3 100644 --- a/src/test/DBusProxyTest.cpp +++ b/src/test/DBusProxyTest.cpp @@ -52,16 +52,6 @@ protected: } virtual void TearDown() { - stubAdapter_.reset(); - - if (stubDBusConnection_) { - if (stubDBusConnection_->isConnected()) { - // uses dbus read_write_dispatch() which might dispatch events, which might cause a dead lock - // stubDBusConnection_->releaseServiceName(busName); - stubDBusConnection_->disconnect(); - } - stubDBusConnection_.reset(); - } } void registerTestStub() { @@ -81,6 +71,16 @@ protected: stubAdapter_->init(); } + void deregisterTestStub() { + stubAdapter_->deinit(); + stubAdapter_.reset(); + + if (stubDBusConnection_->isConnected()) { + stubDBusConnection_->disconnect(); + } + stubDBusConnection_.reset(); + } + void proxyRegisterForAvailabilityStatus() { proxyAvailabilityStatus_ = CommonAPI::AvailabilityStatus::UNKNOWN; @@ -151,6 +151,8 @@ TEST_F(ProxyTest, DBusProxyStatusEventBeforeServiceIsRegistered) { stubDBusConnection_->disconnect(); ASSERT_TRUE(proxyWaitForAvailabilityStatus(CommonAPI::AvailabilityStatus::NOT_AVAILABLE)); + + deregisterTestStub(); } TEST_F(ProxyTest, DBusProxyStatusEventAfterServiceIsRegistered) { @@ -167,6 +169,8 @@ TEST_F(ProxyTest, DBusProxyStatusEventAfterServiceIsRegistered) { stubDBusConnection_->disconnect(); ASSERT_TRUE(proxyWaitForAvailabilityStatus(CommonAPI::AvailabilityStatus::NOT_AVAILABLE)); + + deregisterTestStub(); } TEST_F(ProxyTest, ServiceStatus) { @@ -188,6 +192,8 @@ TEST_F(ProxyTest, ServiceStatus) { ASSERT_TRUE(availableDBusServices.begin() != availableDBusServices.end()); ASSERT_TRUE(found != availableDBusServices.end()); + + deregisterTestStub(); } TEST_F(ProxyTest, isServiceInstanceAlive) { @@ -201,6 +207,8 @@ TEST_F(ProxyTest, isServiceInstanceAlive) { } EXPECT_TRUE(isInstanceAlive); + + deregisterTestStub(); } TEST_F(ProxyTest, IsAvailableBlocking) { @@ -214,6 +222,8 @@ TEST_F(ProxyTest, IsAvailableBlocking) { } EXPECT_TRUE(isAvailable); + + deregisterTestStub(); } TEST_F(ProxyTest, HasNecessaryAttributesAndEvents) { |