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) {
catalog("services_unittests_catalog") {
testonly = true
catalog_deps = [
"//services/video_capture:tests_catalog",
"//services/viz:tests_catalog",
]
catalog_deps = [ "//services/viz:tests_catalog" ]
if (use_aura) {
catalog_deps += [
......
......@@ -2,9 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be
# 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/service_manifest.gni")
import("//services/service_manager/public/tools/test/service_test.gni")
import("//testing/test.gni")
service("video_capture") {
......@@ -93,12 +93,12 @@ source_set("tests") {
deps = [
":lib",
":tests_catalog_source",
":video_capture",
"//base/test:test_support",
"//media/capture:test_support",
"//media/capture/mojom:video_capture",
"//services/service_manager/public/cpp",
"//services/service_manager/public/cpp:service_test_support",
"//services/service_manager/public/cpp/test:test_support",
"//services/video_capture/public/cpp:mocks",
"//testing/gmock",
......@@ -117,6 +117,13 @@ service_manifest("unittest_manifest") {
}
catalog("tests_catalog") {
testonly = true
embedded_services = [ ":unittest_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 @@
#include "services/service_manager/public/mojom/service_manager.mojom.h"
#include "services/video_capture/public/cpp/mock_producer.h"
#include "services/video_capture/public/mojom/constants.mojom.h"
#include "services/video_capture/tests_catalog_source.h"
namespace video_capture {
......@@ -22,7 +23,10 @@ DeviceFactoryProviderTest::SharedMemoryVirtualDeviceContext::
~SharedMemoryVirtualDeviceContext() = default;
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;
......@@ -32,8 +36,6 @@ void DeviceFactoryProviderTest::SetUp() {
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
switches::kUseFakeDeviceForMediaStream, "device-count=3");
service_manager::test::ServiceTest::SetUp();
connector()->BindInterface(mojom::kServiceName, &factory_provider_);
// Note, that we explicitly do *not* call
// |factory_provider_->InjectGpuDependencies()| here. Test case
......
......@@ -5,16 +5,22 @@
#ifndef 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 "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 "testing/gtest/include/gtest/gtest.h"
namespace video_capture {
class MockProducer;
// 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:
DeviceFactoryProviderTest();
~DeviceFactoryProviderTest() override;
......@@ -36,10 +42,21 @@ class DeviceFactoryProviderTest : public service_manager::test::ServiceTest {
mojom::TextureVirtualDevicePtr AddTextureVirtualDevice(
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::DeviceFactoryPtr factory_;
base::MockCallback<mojom::DeviceFactory::GetDeviceInfosCallback>
device_info_receiver_;
DISALLOW_COPY_AND_ASSIGN(DeviceFactoryProviderTest);
};
} // 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