OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "dbus/bus.h" | 5 #include "dbus/bus.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 dbus::ObjectPath("/org/chromium/DifferentTestObject"), | 80 dbus::ObjectPath("/org/chromium/DifferentTestObject"), |
81 dbus::ObjectProxy::IGNORE_SERVICE_UNKNOWN_ERRORS); | 81 dbus::ObjectProxy::IGNORE_SERVICE_UNKNOWN_ERRORS); |
82 ASSERT_TRUE(object_proxy3); | 82 ASSERT_TRUE(object_proxy3); |
83 EXPECT_NE(object_proxy1, object_proxy3); | 83 EXPECT_NE(object_proxy1, object_proxy3); |
84 | 84 |
85 bus->ShutdownAndBlock(); | 85 bus->ShutdownAndBlock(); |
86 } | 86 } |
87 | 87 |
88 TEST(BusTest, RemoveObjectProxy) { | 88 TEST(BusTest, RemoveObjectProxy) { |
89 // Setup the current thread's MessageLoop. | 89 // Setup the current thread's MessageLoop. |
90 MessageLoop message_loop; | 90 base::MessageLoop message_loop; |
91 | 91 |
92 // Start the D-Bus thread. | 92 // Start the D-Bus thread. |
93 base::Thread::Options thread_options; | 93 base::Thread::Options thread_options; |
94 thread_options.message_loop_type = MessageLoop::TYPE_IO; | 94 thread_options.message_loop_type = base::MessageLoop::TYPE_IO; |
95 base::Thread dbus_thread("D-Bus thread"); | 95 base::Thread dbus_thread("D-Bus thread"); |
96 dbus_thread.StartWithOptions(thread_options); | 96 dbus_thread.StartWithOptions(thread_options); |
97 | 97 |
98 // Create the bus. | 98 // Create the bus. |
99 dbus::Bus::Options options; | 99 dbus::Bus::Options options; |
100 options.dbus_task_runner = dbus_thread.message_loop_proxy(); | 100 options.dbus_task_runner = dbus_thread.message_loop_proxy(); |
101 scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); | 101 scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); |
102 ASSERT_FALSE(bus->shutdown_completed()); | 102 ASSERT_FALSE(bus->shutdown_completed()); |
103 | 103 |
104 // Try to remove a non existant object proxy should return false. | 104 // Try to remove a non existant object proxy should return false. |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 dbus::ObjectPath("/org/chromium/DifferentTestObject")); | 164 dbus::ObjectPath("/org/chromium/DifferentTestObject")); |
165 ASSERT_TRUE(object_proxy3); | 165 ASSERT_TRUE(object_proxy3); |
166 EXPECT_NE(object_proxy1, object_proxy3); | 166 EXPECT_NE(object_proxy1, object_proxy3); |
167 | 167 |
168 bus->ShutdownAndBlock(); | 168 bus->ShutdownAndBlock(); |
169 } | 169 } |
170 | 170 |
171 TEST(BusTest, UnregisterExportedObject) { | 171 TEST(BusTest, UnregisterExportedObject) { |
172 // Start the D-Bus thread. | 172 // Start the D-Bus thread. |
173 base::Thread::Options thread_options; | 173 base::Thread::Options thread_options; |
174 thread_options.message_loop_type = MessageLoop::TYPE_IO; | 174 thread_options.message_loop_type = base::MessageLoop::TYPE_IO; |
175 base::Thread dbus_thread("D-Bus thread"); | 175 base::Thread dbus_thread("D-Bus thread"); |
176 dbus_thread.StartWithOptions(thread_options); | 176 dbus_thread.StartWithOptions(thread_options); |
177 | 177 |
178 // Create the bus. | 178 // Create the bus. |
179 dbus::Bus::Options options; | 179 dbus::Bus::Options options; |
180 options.dbus_task_runner = dbus_thread.message_loop_proxy(); | 180 options.dbus_task_runner = dbus_thread.message_loop_proxy(); |
181 scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); | 181 scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); |
182 ASSERT_FALSE(bus->shutdown_completed()); | 182 ASSERT_FALSE(bus->shutdown_completed()); |
183 | 183 |
184 dbus::ExportedObject* object_proxy1 = | 184 dbus::ExportedObject* object_proxy1 = |
(...skipping 29 matching lines...) Expand all Loading... |
214 ASSERT_FALSE(bus->shutdown_completed()); | 214 ASSERT_FALSE(bus->shutdown_completed()); |
215 | 215 |
216 // Shut down synchronously. | 216 // Shut down synchronously. |
217 bus->ShutdownAndBlock(); | 217 bus->ShutdownAndBlock(); |
218 EXPECT_TRUE(bus->shutdown_completed()); | 218 EXPECT_TRUE(bus->shutdown_completed()); |
219 } | 219 } |
220 | 220 |
221 TEST(BusTest, ShutdownAndBlockWithDBusThread) { | 221 TEST(BusTest, ShutdownAndBlockWithDBusThread) { |
222 // Start the D-Bus thread. | 222 // Start the D-Bus thread. |
223 base::Thread::Options thread_options; | 223 base::Thread::Options thread_options; |
224 thread_options.message_loop_type = MessageLoop::TYPE_IO; | 224 thread_options.message_loop_type = base::MessageLoop::TYPE_IO; |
225 base::Thread dbus_thread("D-Bus thread"); | 225 base::Thread dbus_thread("D-Bus thread"); |
226 dbus_thread.StartWithOptions(thread_options); | 226 dbus_thread.StartWithOptions(thread_options); |
227 | 227 |
228 // Create the bus. | 228 // Create the bus. |
229 dbus::Bus::Options options; | 229 dbus::Bus::Options options; |
230 options.dbus_task_runner = dbus_thread.message_loop_proxy(); | 230 options.dbus_task_runner = dbus_thread.message_loop_proxy(); |
231 scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); | 231 scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); |
232 ASSERT_FALSE(bus->shutdown_completed()); | 232 ASSERT_FALSE(bus->shutdown_completed()); |
233 | 233 |
234 // Shut down synchronously. | 234 // Shut down synchronously. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 error.get())); | 289 error.get())); |
290 ASSERT_FALSE(error.is_set()); | 290 ASSERT_FALSE(error.is_set()); |
291 | 291 |
292 // A third attemp to remove the same rule should fail. | 292 // A third attemp to remove the same rule should fail. |
293 ASSERT_FALSE(bus->RemoveMatch( | 293 ASSERT_FALSE(bus->RemoveMatch( |
294 "type='signal',interface='org.chromium.TestService',path='/'", | 294 "type='signal',interface='org.chromium.TestService',path='/'", |
295 error.get())); | 295 error.get())); |
296 | 296 |
297 bus->ShutdownAndBlock(); | 297 bus->ShutdownAndBlock(); |
298 } | 298 } |
OLD | NEW |