summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Rauwolf <rauwolf@itestra.de>2013-03-20 17:16:47 +0100
committerPhilip Rauwolf <rauwolf@itestra.de>2013-03-20 17:16:47 +0100
commitaf2ede880d75dd5b982acd338be3e5a3d9d9a3f3 (patch)
tree2064cbe98624852bf64d706b36ee1097a0de73d5
parent0c547ed6baed57f9d9810aedb7aadd3f6d5ed98d (diff)
downloadgenivi-common-api-dbus-runtime-af2ede880d75dd5b982acd338be3e5a3d9d9a3f3.tar.gz
Further improvement of timing in test cases
-rw-r--r--src/test/DBusProxyTest.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/test/DBusProxyTest.cpp b/src/test/DBusProxyTest.cpp
index 7f8a696..95c50b7 100644
--- a/src/test/DBusProxyTest.cpp
+++ b/src/test/DBusProxyTest.cpp
@@ -13,12 +13,13 @@
#include <CommonAPI/DBus/DBusProxy.h>
#include <CommonAPI/DBus/DBusConnection.h>
#include <CommonAPI/DBus/DBusStubAdapter.h>
-#include <CommonAPI/DBus/DBusUtils.h>
#include <commonapi/tests/TestInterfaceDBusProxy.h>
#include <commonapi/tests/TestInterfaceDBusStubAdapter.h>
#include <commonapi/tests/TestInterfaceStubDefault.h>
+#include "DBusTestUtils.h"
+
#include <gtest/gtest.h>
#include <algorithm>
@@ -59,8 +60,6 @@ protected:
stubDBusConnection_ = CommonAPI::DBus::DBusConnection::getSessionBus();
ASSERT_TRUE(stubDBusConnection_->connect());
- ASSERT_TRUE(stubDBusConnection_->requestServiceNameAndBlock(busName));
-
auto stubDefault = std::make_shared<commonapi::tests::TestInterfaceStubDefault>();
stubAdapter_ = std::make_shared<commonapi::tests::TestInterfaceDBusStubAdapter>(
commonApiAddress,
@@ -70,6 +69,15 @@ protected:
stubDBusConnection_,
stubDefault);
stubAdapter_->init();
+
+ bool serviceNameAcquired = stubDBusConnection_->requestServiceNameAndBlock(busName);
+
+ for(unsigned int i = 0; !serviceNameAcquired && i < 100; i++) {
+ usleep(10000);
+ serviceNameAcquired = stubDBusConnection_->requestServiceNameAndBlock(busName);
+ }
+ ASSERT_TRUE(serviceNameAcquired);
+ usleep(500000);
}
void deregisterTestStub() {
@@ -88,6 +96,7 @@ protected:
proxyStatusSubscription_ = proxy_->getProxyStatusEvent().subscribe([&](const CommonAPI::AvailabilityStatus& availabilityStatus) {
proxyAvailabilityStatus_ = availabilityStatus;
});
+ usleep(100000);
}
void proxyDeregisterForAvailabilityStatus() {
@@ -95,15 +104,11 @@ protected:
}
bool proxyWaitForAvailabilityStatus(const CommonAPI::AvailabilityStatus& availabilityStatus) const {
- if (proxyAvailabilityStatus_ == availabilityStatus)
- return true;
-
- std::chrono::milliseconds loopWaitDuration(10);
- for (int i = 0; i < 100; i++) {
- std::this_thread::sleep_for(loopWaitDuration);
-
+ for (int i = 0; i < 10; i++) {
+ std::cout << "Current status is: " << toString(proxyAvailabilityStatus_) << std::endl;
if (proxyAvailabilityStatus_ == availabilityStatus)
return true;
+ usleep(100000);
}
return false;
@@ -156,8 +161,6 @@ TEST_F(ProxyTest, DBusProxyStatusEventBeforeServiceIsRegistered) {
registerTestStub();
- usleep(500000);
-
EXPECT_TRUE(proxyWaitForAvailabilityStatus(CommonAPI::AvailabilityStatus::AVAILABLE));
stubDBusConnection_->disconnect();
@@ -192,6 +195,7 @@ TEST_F(ProxyTest, ServiceStatus) {
std::vector<std::string> availableDBusServices;
+ //Service actually IS available!
for (int i = 0; i < 5; i++) {
availableDBusServices = proxyDBusConnection_->getDBusServiceRegistry()->getAvailableServiceInstances(
commonApiServiceName,