summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Rauwolf <rauwolf@itestra.de>2013-02-28 19:13:51 +0100
committerPhilip Rauwolf <rauwolf@itestra.de>2013-02-28 19:13:51 +0100
commit0cfcd00a98bb412e2d930b71bb05fbeccf9f348e (patch)
tree26c2f92e741acf8c1e6b080f391ca05ef6ff3c47
parent5106e7bb3948c996cf78d9f4c9f9de442f211f9e (diff)
downloadgenivi-common-api-dbus-runtime-0cfcd00a98bb412e2d930b71bb05fbeccf9f348e.tar.gz
Corrected tests with regards to deregistration of services
-rw-r--r--src/test/DBusAddressTranslatorTest.cpp2
-rw-r--r--src/test/DBusCommunicationTest.cpp7
-rw-r--r--src/test/DBusMultipleConnectionTest.cpp2
-rw-r--r--src/test/DBusProxyTest.cpp30
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) {