summaryrefslogtreecommitdiffstats
path: root/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus.gyp18
-rw-r--r--dbus/test_server.cc28
2 files changed, 46 insertions, 0 deletions
diff --git a/dbus/dbus.gyp b/dbus/dbus.gyp
index c2244cd..a902b07 100644
--- a/dbus/dbus.gyp
+++ b/dbus/dbus.gyp
@@ -101,5 +101,23 @@
'..',
],
},
+ {
+ 'target_name': 'dbus_test_server',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:test_support_base',
+ '../base/base.gyp:base',
+ '../build/linux/system.gyp:dbus',
+ 'dbus',
+ ],
+ 'sources': [
+ 'test_server.cc',
+ 'test_service.cc',
+ 'test_service.h',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ },
],
}
diff --git a/dbus/test_server.cc b/dbus/test_server.cc
new file mode 100644
index 0000000..827f62d
--- /dev/null
+++ b/dbus/test_server.cc
@@ -0,0 +1,28 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/at_exit.h"
+#include "base/command_line.h"
+#include "base/test/test_timeouts.h"
+#include "dbus/bus.h"
+#include "dbus/test_service.h"
+
+int main(int argc, char** argv) {
+ base::AtExitManager exit_manager;
+ CommandLine::Init(argc, argv);
+ TestTimeouts::Initialize();
+
+ base::Thread* dbus_thread = new base::Thread("D-Bus Thread");
+ base::Thread::Options thread_options;
+ thread_options.message_loop_type = MessageLoop::TYPE_IO;
+ CHECK(dbus_thread->StartWithOptions(thread_options));
+
+ dbus::TestService::Options options;
+ options.dbus_thread_message_loop_proxy = dbus_thread->message_loop_proxy();
+ dbus::TestService* test_service = new dbus::TestService(options);
+ CHECK(test_service->StartService());
+ CHECK(test_service->WaitUntilServiceIsStarted());
+ CHECK(test_service->HasDBusThread());
+ base::PlatformThread::Join(dbus_thread->thread_handle());
+}