diff options
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus.gyp | 18 | ||||
-rw-r--r-- | dbus/test_server.cc | 28 |
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()); +} |