Commit dd32b5d4 authored by Ken Rockot's avatar Ken Rockot Committed by Commit Bot

Migrate video_capture off of ServiceTest

Migrates video_capture away from the deprecated ServiceTest framework
to use regular unit tests and new test helpers provided by the Service
Manager client library.

Bug: 906239
Change-Id: I56f9a1ce396b601f4e6a5e9078c506398cf50dbc
Reviewed-on: https://chromium-review.googlesource.com/c/1352750
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: default avatarEmircan Uysaler <emircan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612117}
parent 5d3c7435
...@@ -98,10 +98,7 @@ if (!is_ios) { ...@@ -98,10 +98,7 @@ if (!is_ios) {
catalog("services_unittests_catalog") { catalog("services_unittests_catalog") {
testonly = true testonly = true
catalog_deps = [ catalog_deps = [ "//services/viz:tests_catalog" ]
"//services/video_capture:tests_catalog",
"//services/viz:tests_catalog",
]
if (use_aura) { if (use_aura) {
catalog_deps += [ catalog_deps += [
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//services/catalog/public/tools/catalog.gni")
import("//services/service_manager/public/cpp/service.gni") import("//services/service_manager/public/cpp/service.gni")
import("//services/service_manager/public/service_manifest.gni") import("//services/service_manager/public/service_manifest.gni")
import("//services/service_manager/public/tools/test/service_test.gni")
import("//testing/test.gni") import("//testing/test.gni")
service("video_capture") { service("video_capture") {
...@@ -93,12 +93,12 @@ source_set("tests") { ...@@ -93,12 +93,12 @@ source_set("tests") {
deps = [ deps = [
":lib", ":lib",
":tests_catalog_source",
":video_capture", ":video_capture",
"//base/test:test_support", "//base/test:test_support",
"//media/capture:test_support", "//media/capture:test_support",
"//media/capture/mojom:video_capture", "//media/capture/mojom:video_capture",
"//services/service_manager/public/cpp", "//services/service_manager/public/cpp",
"//services/service_manager/public/cpp:service_test_support",
"//services/service_manager/public/cpp/test:test_support", "//services/service_manager/public/cpp/test:test_support",
"//services/video_capture/public/cpp:mocks", "//services/video_capture/public/cpp:mocks",
"//testing/gmock", "//testing/gmock",
...@@ -117,6 +117,13 @@ service_manifest("unittest_manifest") { ...@@ -117,6 +117,13 @@ service_manifest("unittest_manifest") {
} }
catalog("tests_catalog") { catalog("tests_catalog") {
testonly = true
embedded_services = [ ":unittest_manifest" ] embedded_services = [ ":unittest_manifest" ]
standalone_services = [ ":manifest" ] standalone_services = [ ":manifest" ]
} }
catalog_cpp_source("tests_catalog_source") {
testonly = true
catalog = ":tests_catalog"
generated_function_name = "video_capture::CreateTestCatalog"
}
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "services/service_manager/public/mojom/service_manager.mojom.h" #include "services/service_manager/public/mojom/service_manager.mojom.h"
#include "services/video_capture/public/cpp/mock_producer.h" #include "services/video_capture/public/cpp/mock_producer.h"
#include "services/video_capture/public/mojom/constants.mojom.h" #include "services/video_capture/public/mojom/constants.mojom.h"
#include "services/video_capture/tests_catalog_source.h"
namespace video_capture { namespace video_capture {
...@@ -22,7 +23,10 @@ DeviceFactoryProviderTest::SharedMemoryVirtualDeviceContext:: ...@@ -22,7 +23,10 @@ DeviceFactoryProviderTest::SharedMemoryVirtualDeviceContext::
~SharedMemoryVirtualDeviceContext() = default; ~SharedMemoryVirtualDeviceContext() = default;
DeviceFactoryProviderTest::DeviceFactoryProviderTest() DeviceFactoryProviderTest::DeviceFactoryProviderTest()
: service_manager::test::ServiceTest("video_capture_unittests") {} : test_service_manager_(CreateTestCatalog()),
test_service_binding_(&test_service_,
test_service_manager_.RegisterTestInstance(
"video_capture_unittests")) {}
DeviceFactoryProviderTest::~DeviceFactoryProviderTest() = default; DeviceFactoryProviderTest::~DeviceFactoryProviderTest() = default;
...@@ -32,8 +36,6 @@ void DeviceFactoryProviderTest::SetUp() { ...@@ -32,8 +36,6 @@ void DeviceFactoryProviderTest::SetUp() {
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
switches::kUseFakeDeviceForMediaStream, "device-count=3"); switches::kUseFakeDeviceForMediaStream, "device-count=3");
service_manager::test::ServiceTest::SetUp();
connector()->BindInterface(mojom::kServiceName, &factory_provider_); connector()->BindInterface(mojom::kServiceName, &factory_provider_);
// Note, that we explicitly do *not* call // Note, that we explicitly do *not* call
// |factory_provider_->InjectGpuDependencies()| here. Test case // |factory_provider_->InjectGpuDependencies()| here. Test case
......
...@@ -5,16 +5,22 @@ ...@@ -5,16 +5,22 @@
#ifndef SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_TEST_DEVICE_FACTORY_PROVIDER_TEST_H_ #ifndef SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_TEST_DEVICE_FACTORY_PROVIDER_TEST_H_
#define SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_TEST_DEVICE_FACTORY_PROVIDER_TEST_H_ #define SERVICES_VIDEO_CAPTURE_VIDEO_CAPTURE_TEST_DEVICE_FACTORY_PROVIDER_TEST_H_
#include "base/macros.h"
#include "base/test/mock_callback.h" #include "base/test/mock_callback.h"
#include "services/service_manager/public/cpp/service_test.h" #include "base/test/scoped_task_environment.h"
#include "services/service_manager/public/cpp/connector.h"
#include "services/service_manager/public/cpp/service.h"
#include "services/service_manager/public/cpp/service_binding.h"
#include "services/service_manager/public/cpp/test/test_service_manager.h"
#include "services/video_capture/public/mojom/device_factory_provider.mojom.h" #include "services/video_capture/public/mojom/device_factory_provider.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace video_capture { namespace video_capture {
class MockProducer; class MockProducer;
// Basic test fixture that sets up a connection to the fake device factory. // Basic test fixture that sets up a connection to the fake device factory.
class DeviceFactoryProviderTest : public service_manager::test::ServiceTest { class DeviceFactoryProviderTest : public testing::Test {
public: public:
DeviceFactoryProviderTest(); DeviceFactoryProviderTest();
~DeviceFactoryProviderTest() override; ~DeviceFactoryProviderTest() override;
...@@ -36,10 +42,21 @@ class DeviceFactoryProviderTest : public service_manager::test::ServiceTest { ...@@ -36,10 +42,21 @@ class DeviceFactoryProviderTest : public service_manager::test::ServiceTest {
mojom::TextureVirtualDevicePtr AddTextureVirtualDevice( mojom::TextureVirtualDevicePtr AddTextureVirtualDevice(
const std::string& device_id); const std::string& device_id);
service_manager::Connector* connector() {
return test_service_binding_.GetConnector();
}
base::test::ScopedTaskEnvironment task_environment_;
service_manager::TestServiceManager test_service_manager_;
service_manager::Service test_service_;
service_manager::ServiceBinding test_service_binding_;
mojom::DeviceFactoryProviderPtr factory_provider_; mojom::DeviceFactoryProviderPtr factory_provider_;
mojom::DeviceFactoryPtr factory_; mojom::DeviceFactoryPtr factory_;
base::MockCallback<mojom::DeviceFactory::GetDeviceInfosCallback> base::MockCallback<mojom::DeviceFactory::GetDeviceInfosCallback>
device_info_receiver_; device_info_receiver_;
DISALLOW_COPY_AND_ASSIGN(DeviceFactoryProviderTest);
}; };
} // namespace video_capture } // namespace video_capture
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment