| Index: webrtc/base/dbus_unittest.cc
|
| diff --git a/webrtc/base/dbus_unittest.cc b/webrtc/base/dbus_unittest.cc
|
| deleted file mode 100644
|
| index 38c507d28931a5124e959669ba9eb04c9daaf976..0000000000000000000000000000000000000000
|
| --- a/webrtc/base/dbus_unittest.cc
|
| +++ /dev/null
|
| @@ -1,234 +0,0 @@
|
| -/*
|
| - * Copyright 2011 The WebRTC Project Authors. All rights reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#ifdef HAVE_DBUS_GLIB
|
| -
|
| -#include <memory>
|
| -
|
| -#include "webrtc/base/dbus.h"
|
| -#include "webrtc/base/gunit.h"
|
| -#include "webrtc/base/thread.h"
|
| -
|
| -namespace rtc {
|
| -
|
| -#define SIG_NAME "NameAcquired"
|
| -
|
| -static const uint32_t kTimeoutMs = 5000U;
|
| -
|
| -class DBusSigFilterTest : public DBusSigFilter {
|
| - public:
|
| - // DBusSigFilterTest listens on DBus service itself for "NameAcquired" signal.
|
| - // This signal should be received when the application connects to DBus
|
| - // service and gains ownership of a name.
|
| - // http://dbus.freedesktop.org/doc/dbus-specification.html
|
| - DBusSigFilterTest()
|
| - : DBusSigFilter(GetFilter()),
|
| - message_received_(false) {
|
| - }
|
| -
|
| - bool MessageReceived() {
|
| - return message_received_;
|
| - }
|
| -
|
| - private:
|
| - static std::string GetFilter() {
|
| - return rtc::DBusSigFilter::BuildFilterString("", "", SIG_NAME);
|
| - }
|
| -
|
| - // Implement virtual method of DBusSigFilter. On caller thread.
|
| - virtual void ProcessSignal(DBusMessage *message) {
|
| - EXPECT_TRUE(message != NULL);
|
| - message_received_ = true;
|
| - }
|
| -
|
| - bool message_received_;
|
| -};
|
| -
|
| -TEST(DBusMonitorTest, StartStopStartStop) {
|
| - DBusSigFilterTest filter;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor;
|
| - monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor) {
|
| - EXPECT_TRUE(monitor->AddFilter(&filter));
|
| -
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_NOT_INITIALIZED);
|
| -
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| -
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_RUNNING);
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
|
| - }
|
| -}
|
| -
|
| -// DBusMonitorTest listens on DBus service itself for "NameAcquired" signal.
|
| -// This signal should be received when the application connects to DBus
|
| -// service and gains ownership of a name.
|
| -// This test is to make sure that we capture the "NameAcquired" signal.
|
| -TEST(DBusMonitorTest, ReceivedNameAcquiredSignal) {
|
| - DBusSigFilterTest filter;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor;
|
| - monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor) {
|
| - EXPECT_TRUE(monitor->AddFilter(&filter));
|
| -
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| - EXPECT_TRUE_WAIT(filter.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
|
| - }
|
| -}
|
| -
|
| -TEST(DBusMonitorTest, ConcurrentMonitors) {
|
| - DBusSigFilterTest filter1;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor1;
|
| - monitor1.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor1) {
|
| - EXPECT_TRUE(monitor1->AddFilter(&filter1));
|
| - DBusSigFilterTest filter2;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor2;
|
| - monitor2.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - EXPECT_TRUE(monitor2->AddFilter(&filter2));
|
| -
|
| - EXPECT_TRUE(monitor1->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor1->GetStatus(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor2->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor2->GetStatus(), kTimeoutMs);
|
| -
|
| - EXPECT_TRUE_WAIT(filter2.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor2->StopMonitoring());
|
| - EXPECT_EQ(monitor2->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| -
|
| - EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor1->StopMonitoring());
|
| - EXPECT_EQ(monitor1->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
|
| - }
|
| -}
|
| -
|
| -TEST(DBusMonitorTest, ConcurrentFilters) {
|
| - DBusSigFilterTest filter1;
|
| - DBusSigFilterTest filter2;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor;
|
| - monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor) {
|
| - EXPECT_TRUE(monitor->AddFilter(&filter1));
|
| - EXPECT_TRUE(monitor->AddFilter(&filter2));
|
| -
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| -
|
| - EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE_WAIT(filter2.MessageReceived(), kTimeoutMs);
|
| -
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
|
| - }
|
| -}
|
| -
|
| -TEST(DBusMonitorTest, NoAddFilterIfRunning) {
|
| - DBusSigFilterTest filter1;
|
| - DBusSigFilterTest filter2;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor;
|
| - monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor) {
|
| - EXPECT_TRUE(monitor->AddFilter(&filter1));
|
| -
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| - EXPECT_FALSE(monitor->AddFilter(&filter2));
|
| -
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
|
| - }
|
| -}
|
| -
|
| -TEST(DBusMonitorTest, AddFilterAfterStop) {
|
| - DBusSigFilterTest filter1;
|
| - DBusSigFilterTest filter2;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor;
|
| - monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor) {
|
| - EXPECT_TRUE(monitor->AddFilter(&filter1));
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| - EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| -
|
| - EXPECT_TRUE(monitor->AddFilter(&filter2));
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_EQ_WAIT(DBusMonitor::DMS_RUNNING, monitor->GetStatus(), kTimeoutMs);
|
| - EXPECT_TRUE_WAIT(filter1.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE_WAIT(filter2.MessageReceived(), kTimeoutMs);
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| - EXPECT_EQ(monitor->GetStatus(), DBusMonitor::DMS_STOPPED);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started. Skipping test.";
|
| - }
|
| -}
|
| -
|
| -TEST(DBusMonitorTest, StopRightAfterStart) {
|
| - DBusSigFilterTest filter;
|
| - std::unique_ptr<rtc::DBusMonitor> monitor;
|
| - monitor.reset(rtc::DBusMonitor::Create(DBUS_BUS_SYSTEM));
|
| - if (monitor) {
|
| - EXPECT_TRUE(monitor->AddFilter(&filter));
|
| -
|
| - EXPECT_TRUE(monitor->StartMonitoring());
|
| - EXPECT_TRUE(monitor->StopMonitoring());
|
| -
|
| - // Stop the monitoring thread right after it had been started.
|
| - // If the monitoring thread got a chance to receive a DBus signal, it would
|
| - // post a message to the main thread and signal the main thread wakeup.
|
| - // This message will be cleaned out automatically when the filter get
|
| - // destructed. Here we also consume the wakeup signal (if there is one) so
|
| - // that the testing (main) thread is reset to a clean state.
|
| - rtc::Thread::Current()->ProcessMessages(1);
|
| - } else {
|
| - LOG(LS_WARNING) << "DBus Monitor not started.";
|
| - }
|
| -}
|
| -
|
| -TEST(DBusSigFilter, BuildFilterString) {
|
| - EXPECT_EQ(DBusSigFilter::BuildFilterString("", "", ""),
|
| - (DBUS_TYPE "='" DBUS_SIGNAL "'"));
|
| - EXPECT_EQ(DBusSigFilter::BuildFilterString("p", "", ""),
|
| - (DBUS_TYPE "='" DBUS_SIGNAL "'," DBUS_PATH "='p'"));
|
| - EXPECT_EQ(DBusSigFilter::BuildFilterString("p","i", ""),
|
| - (DBUS_TYPE "='" DBUS_SIGNAL "'," DBUS_PATH "='p',"
|
| - DBUS_INTERFACE "='i'"));
|
| - EXPECT_EQ(DBusSigFilter::BuildFilterString("p","i","m"),
|
| - (DBUS_TYPE "='" DBUS_SIGNAL "'," DBUS_PATH "='p',"
|
| - DBUS_INTERFACE "='i'," DBUS_MEMBER "='m'"));
|
| -}
|
| -
|
| -} // namespace rtc
|
| -
|
| -#endif // HAVE_DBUS_GLIB
|
|
|