dbus: Use randomly generated string as a TestService's service name
To run tests parallelly.
BUG=571274
TEST=dbus_unittests
Review URL: https://codereview.chromium.org/1559873005
Cr-Commit-Position: refs/heads/master@{#367499}
CrOS-Libchrome-Original-Commit: 067d84f52f2ec47c2614108be6bf0e11552eb34b
diff --git a/dbus/end_to_end_async_unittest.cc b/dbus/end_to_end_async_unittest.cc
index 121c660..8f62864 100644
--- a/dbus/end_to_end_async_unittest.cc
+++ b/dbus/end_to_end_async_unittest.cc
@@ -63,7 +63,7 @@
bus_options.dbus_task_runner = dbus_thread_->task_runner();
bus_ = new Bus(bus_options);
object_proxy_ = bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(bus_->HasDBusThread());
@@ -97,7 +97,7 @@
run_loop_->Run();
// Create a second object proxy for the root object.
- root_object_proxy_ = bus_->GetObjectProxy("org.chromium.TestService",
+ root_object_proxy_ = bus_->GetObjectProxy(test_service_->service_name(),
ObjectPath("/"));
ASSERT_TRUE(bus_->HasDBusThread());
@@ -147,7 +147,7 @@
// Create new object proxy.
object_proxy_ = bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"));
}
@@ -435,7 +435,7 @@
// Remove the object proxy before receiving the result.
// This results in cancelling the pending method call.
- bus_->RemoveObjectProxy("org.chromium.TestService",
+ bus_->RemoveObjectProxy(test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"),
base::Bind(&base::DoNothing));
@@ -517,7 +517,7 @@
const ObjectPath invalid_object_path("/org/chromium/TestObject/");
// Replace object proxy with new one.
- object_proxy_ = bus_->GetObjectProxy("org.chromium.TestService",
+ object_proxy_ = bus_->GetObjectProxy(test_service_->service_name(),
invalid_object_path);
MethodCall method_call("org.chromium.TestInterface", "Echo");
diff --git a/dbus/end_to_end_sync_unittest.cc b/dbus/end_to_end_sync_unittest.cc
index 1167d96..47dc9b1 100644
--- a/dbus/end_to_end_sync_unittest.cc
+++ b/dbus/end_to_end_sync_unittest.cc
@@ -35,7 +35,7 @@
client_bus_options.connection_type = Bus::PRIVATE;
client_bus_ = new Bus(client_bus_options);
object_proxy_ = client_bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"));
ASSERT_FALSE(client_bus_->HasDBusThread());
}
@@ -112,7 +112,7 @@
const ObjectPath invalid_object_path("/org/chromium/TestObject/");
// Replace object proxy with new one.
- object_proxy_ = client_bus_->GetObjectProxy("org.chromium.TestService",
+ object_proxy_ = client_bus_->GetObjectProxy(test_service_->service_name(),
invalid_object_path);
MethodCall method_call("org.chromium.TestInterface", "Echo");
diff --git a/dbus/object_manager_unittest.cc b/dbus/object_manager_unittest.cc
index fa83034..443210c 100644
--- a/dbus/object_manager_unittest.cc
+++ b/dbus/object_manager_unittest.cc
@@ -87,7 +87,7 @@
ASSERT_TRUE(bus_->HasDBusThread());
object_manager_ = bus_->GetObjectManager(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestService"));
object_manager_->RegisterInterface("org.chromium.TestInterface", this);
@@ -189,7 +189,7 @@
void PerformAction(const std::string& action, const ObjectPath& object_path) {
ObjectProxy* object_proxy = bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"));
MethodCall method_call("org.chromium.TestInterface", "PerformAction");
@@ -288,7 +288,7 @@
TEST_F(ObjectManagerTest, SameObject) {
ObjectManager* object_manager = bus_->GetObjectManager(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestService"));
EXPECT_EQ(object_manager_, object_manager);
}
@@ -302,7 +302,7 @@
TEST_F(ObjectManagerTest, DifferentObjectForPath) {
ObjectManager* object_manager = bus_->GetObjectManager(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/DifferentService"));
EXPECT_NE(object_manager_, object_manager);
}
@@ -387,7 +387,7 @@
object_manager_->UnregisterInterface("org.chromium.TestInterface");
run_loop_.reset(new base::RunLoop);
EXPECT_TRUE(bus_->RemoveObjectManager(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestService"),
run_loop_->QuitClosure()));
run_loop_->Run();
@@ -396,7 +396,7 @@
ObjectPath("/org/chromium/TestService"));
object_manager_ = bus_->GetObjectManager(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestService"));
object_manager_->RegisterInterface("org.chromium.TestInterface", this);
diff --git a/dbus/object_proxy_unittest.cc b/dbus/object_proxy_unittest.cc
index 22130b6..05c1294 100644
--- a/dbus/object_proxy_unittest.cc
+++ b/dbus/object_proxy_unittest.cc
@@ -20,16 +20,12 @@
bus_options.bus_type = Bus::SESSION;
bus_options.connection_type = Bus::PRIVATE;
bus_ = new Bus(bus_options);
-
- object_proxy_ = bus_->GetObjectProxy(
- "org.chromium.TestService", ObjectPath("/org/chromium/TestObject"));
}
void TearDown() override { bus_->ShutdownAndBlock(); }
base::MessageLoopForIO message_loop_;
scoped_refptr<Bus> bus_;
- ObjectProxy* object_proxy_;
};
// Used as a WaitForServiceToBeAvailableCallback.
@@ -43,14 +39,17 @@
TEST_F(ObjectProxyTest, WaitForServiceToBeAvailable) {
scoped_ptr<base::RunLoop> run_loop;
+ TestService::Options options;
+ TestService test_service(options);
+
// Callback is not yet called because the service is not available.
- object_proxy_->WaitForServiceToBeAvailable(
+ ObjectProxy* object_proxy = bus_->GetObjectProxy(
+ test_service.service_name(), ObjectPath("/org/chromium/TestObject"));
+ object_proxy->WaitForServiceToBeAvailable(
base::Bind(&OnServiceIsAvailable, &run_loop));
base::RunLoop().RunUntilIdle();
// Start the service.
- TestService::Options options;
- TestService test_service(options);
ASSERT_TRUE(test_service.StartService());
ASSERT_TRUE(test_service.WaitUntilServiceIsStarted());
ASSERT_TRUE(test_service.has_ownership());
@@ -61,7 +60,7 @@
// Callback is called because the service is already available.
run_loop.reset(new base::RunLoop);
- object_proxy_->WaitForServiceToBeAvailable(
+ object_proxy->WaitForServiceToBeAvailable(
base::Bind(&OnServiceIsAvailable, &run_loop));
run_loop->Run();
diff --git a/dbus/property_unittest.cc b/dbus/property_unittest.cc
index b6bbb18..f159284 100644
--- a/dbus/property_unittest.cc
+++ b/dbus/property_unittest.cc
@@ -77,7 +77,7 @@
bus_options.dbus_task_runner = dbus_thread_->task_runner();
bus_ = new Bus(bus_options);
object_proxy_ = bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(bus_->HasDBusThread());
diff --git a/dbus/signal_sender_verification_unittest.cc b/dbus/signal_sender_verification_unittest.cc
index 0cedda7..785948a 100644
--- a/dbus/signal_sender_verification_unittest.cc
+++ b/dbus/signal_sender_verification_unittest.cc
@@ -40,6 +40,11 @@
thread_options.message_loop_type = base::MessageLoop::TYPE_IO;
ASSERT_TRUE(dbus_thread_->StartWithOptions(thread_options));
+ // Create the test service, using the D-Bus thread.
+ TestService::Options options;
+ options.dbus_task_runner = dbus_thread_->task_runner();
+ test_service_.reset(new TestService(options));
+
// Create the client, using the D-Bus thread.
Bus::Options bus_options;
bus_options.bus_type = Bus::SESSION;
@@ -47,7 +52,7 @@
bus_options.dbus_task_runner = dbus_thread_->task_runner();
bus_ = new Bus(bus_options);
object_proxy_ = bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(bus_->HasDBusThread());
@@ -69,10 +74,7 @@
run_loop_.reset(new base::RunLoop);
run_loop_->Run();
- // Start the test service, using the D-Bus thread.
- TestService::Options options;
- options.dbus_task_runner = dbus_thread_->task_runner();
- test_service_.reset(new TestService(options));
+ // Start the test service.
ASSERT_TRUE(test_service_->StartService());
ASSERT_TRUE(test_service_->WaitUntilServiceIsStarted());
ASSERT_TRUE(test_service_->HasDBusThread());
@@ -80,6 +82,7 @@
// Same setup for the second TestService. This service should not have the
// ownership of the name at this point.
+ options.service_name = test_service_->service_name();
test_service2_.reset(new TestService(options));
ASSERT_TRUE(test_service2_->StartService());
ASSERT_TRUE(test_service2_->WaitUntilServiceIsStarted());
@@ -280,6 +283,7 @@
TestService::Options options;
options.dbus_task_runner = dbus_thread_->task_runner();
options.request_ownership_options = Bus::REQUIRE_PRIMARY_ALLOW_REPLACEMENT;
+ options.service_name = test_service_->service_name();
TestService stealable_test_service(options);
ASSERT_TRUE(stealable_test_service.StartService());
ASSERT_TRUE(stealable_test_service.WaitUntilServiceIsStarted());
@@ -331,7 +335,7 @@
const char kMessage[] = "hello, world";
ObjectProxy* object_proxy2 = bus_->GetObjectProxy(
- "org.chromium.TestService",
+ test_service_->service_name(),
ObjectPath("/org/chromium/DifferentObject"));
bool second_name_owner_changed_called = false;