diff options
author | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-07 17:05:36 +0000 |
---|---|---|
committer | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-07 17:05:36 +0000 |
commit | 500456fa14e6e1aac51baaf636d86a29a5dde6ec (patch) | |
tree | 905c1854164dbcaf1f00ee295f47b5977d0f0ce4 /dbus | |
parent | ba0e06914ae47acc6fcfd84a6ac8447b14c7e1e4 (diff) | |
download | chromium_src-500456fa14e6e1aac51baaf636d86a29a5dde6ec.zip chromium_src-500456fa14e6e1aac51baaf636d86a29a5dde6ec.tar.gz chromium_src-500456fa14e6e1aac51baaf636d86a29a5dde6ec.tar.bz2 |
dbus: Add test_server.cc used for manual testing.
The server was used for investigating crbug.com/126217.
end_to_end_async_unittest.cc runs both the server and the client
in the same process. It's useful to have a server program
that runs as a separate process.
BUG=none
TEST=out/Debug/dbus_test_server; (from another terminal) dbus-send --print-reply --type=method_call --dest=org.chromium.TestService /org/chromium/TestObject org.chromium.TestInterface.SlowEcho string:hello
Review URL: https://chromiumcodereview.appspot.com/10540032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141023 0039d316-1c4b-4281-b951-d872f2087c98
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()); +} |