Skip to content

Commit

Permalink
dbus: Add test_server.cc used for manual testing.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
satorux@chromium.org committed Jun 7, 2012
1 parent ba0e069 commit 500456f
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
18 changes: 18 additions & 0 deletions dbus/dbus.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -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': [
'..',
],
},
],
}
28 changes: 28 additions & 0 deletions dbus/test_server.cc
Original file line number Diff line number Diff line change
@@ -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());
}

0 comments on commit 500456f

Please sign in to comment.