Define MockFrameTransformer in test/.

Add MockFrameTransformer to test/, and remove definitions from unit test
files.

Bug: webrtc:11380
Change-Id: Ia709883e8d000852e3f71e7bfb87877072e22aeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174001
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31151}
This commit is contained in:
Marina Ciocea 2020-04-29 22:39:13 +02:00 committed by Commit Bot
parent 8ae18adb66
commit 1148fd5cef
9 changed files with 71 additions and 55 deletions

View File

@ -429,6 +429,7 @@ if (rtc_include_tests) {
"../test:encoder_settings",
"../test:fake_video_codecs",
"../test:field_trial",
"../test:mock_frame_transformer",
"../test:mock_transport",
"../test:test_common",
"../test:test_support",

View File

@ -26,6 +26,7 @@
#include "test/field_trial.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/mock_frame_transformer.h"
#include "test/mock_transport.h"
#include "test/scenario/scenario.h"
#include "test/time_controller/simulated_time_controller.h"
@ -825,17 +826,6 @@ TEST(RtpVideoSenderTest, CanSetZeroBitrateWithoutOverhead) {
}
TEST(RtpVideoSenderTest, SimulcastSenderRegistersFrameTransformers) {
class MockFrameTransformer : public FrameTransformerInterface {
public:
MOCK_METHOD3(TransformFrame,
void(std::unique_ptr<video_coding::EncodedFrame> frame,
std::vector<uint8_t> additional_data,
uint32_t ssrc));
MOCK_METHOD2(RegisterTransformedFrameSinkCallback,
void(rtc::scoped_refptr<TransformedFrameCallback>, uint32_t));
MOCK_METHOD1(UnregisterTransformedFrameSinkCallback, void(uint32_t));
};
rtc::scoped_refptr<MockFrameTransformer> transformer =
new rtc::RefCountedObject<MockFrameTransformer>();

View File

@ -543,6 +543,7 @@ if (rtc_include_tests) {
"../../rtc_base:task_queue_for_test",
"../../system_wrappers",
"../../test:field_trial",
"../../test:mock_frame_transformer",
"../../test:mock_transport",
"../../test:rtp_test_utils",
"../../test:test_common",

View File

@ -36,6 +36,7 @@
#include "rtc_base/rate_limiter.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/mock_frame_transformer.h"
namespace webrtc {
@ -873,20 +874,9 @@ TEST_P(RtpSenderVideoTest, PopulatesPlayoutDelay) {
EXPECT_EQ(received_delay, kExpectedDelay);
}
class MockFrameTransformer : public FrameTransformerInterface {
public:
MOCK_METHOD3(TransformFrame,
void(std::unique_ptr<video_coding::EncodedFrame> frame,
std::vector<uint8_t> additional_data,
uint32_t ssrc));
MOCK_METHOD2(RegisterTransformedFrameSinkCallback,
void(rtc::scoped_refptr<TransformedFrameCallback>, uint32_t));
MOCK_METHOD1(UnregisterTransformedFrameSinkCallback, void(uint32_t));
};
TEST_P(RtpSenderVideoTest, SendEncodedImageWithFrameTransformer) {
rtc::scoped_refptr<MockFrameTransformer> transformer =
new rtc::RefCountedObject<MockFrameTransformer>();
new rtc::RefCountedObject<NiceMock<MockFrameTransformer>>();
RTPSenderVideo::Config config;
config.clock = &fake_clock_;
config.rtp_sender = rtp_module_->RtpSender();

View File

@ -873,6 +873,16 @@ rtc_source_set("test_renderer") {
}
}
rtc_library("mock_frame_transformer") {
visibility = [ "*" ]
testonly = true
sources = [ "mock_frame_transformer.h" ]
deps = [
"../api:frame_transformer_interface",
"../test:test_support",
]
}
if (is_mac) {
rtc_library("test_renderer_objc") {
testonly = true

View File

@ -0,0 +1,51 @@
/*
* Copyright (c) 2020 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.
*/
#ifndef TEST_MOCK_FRAME_TRANSFORMER_H_
#define TEST_MOCK_FRAME_TRANSFORMER_H_
#include <memory>
#include <vector>
#include "api/frame_transformer_interface.h"
#include "test/gmock.h"
namespace webrtc {
class MockFrameTransformer : public FrameTransformerInterface {
public:
MOCK_METHOD(void,
TransformFrame,
(std::unique_ptr<video_coding::EncodedFrame>,
std::vector<uint8_t>,
uint32_t),
(override));
MOCK_METHOD(void,
Transform,
(std::unique_ptr<TransformableFrameInterface>),
(override));
MOCK_METHOD(void,
RegisterTransformedFrameCallback,
(rtc::scoped_refptr<TransformedFrameCallback>),
(override));
MOCK_METHOD(void,
RegisterTransformedFrameSinkCallback,
(rtc::scoped_refptr<TransformedFrameCallback>, uint32_t),
(override));
MOCK_METHOD(void, UnregisterTransformedFrameCallback, (), (override));
MOCK_METHOD(void,
UnregisterTransformedFrameSinkCallback,
(uint32_t),
(override));
};
} // namespace webrtc
#endif // TEST_MOCK_FRAME_TRANSFORMER_H_

View File

@ -622,6 +622,7 @@ if (rtc_include_tests) {
"../test:field_trial",
"../test:fileutils",
"../test:frame_utils",
"../test:mock_frame_transformer",
"../test:mock_transport",
"../test:null_transport",
"../test:perf_test",

View File

@ -23,6 +23,7 @@
#include "rtc_base/task_utils/to_queued_task.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/mock_frame_transformer.h"
#include "video/rtp_video_stream_receiver.h"
namespace webrtc {
@ -108,25 +109,6 @@ class TestRtpVideoStreamReceiver : public TestRtpVideoStreamReceiverInitializer,
(override));
};
class MockFrameTransformer : public FrameTransformerInterface {
public:
~MockFrameTransformer() override = default;
MOCK_METHOD(void,
TransformFrame,
(std::unique_ptr<video_coding::EncodedFrame>,
std::vector<uint8_t>,
uint32_t),
(override));
MOCK_METHOD(void,
RegisterTransformedFrameSinkCallback,
(rtc::scoped_refptr<TransformedFrameCallback>, uint32_t),
(override));
MOCK_METHOD(void,
UnregisterTransformedFrameSinkCallback,
(uint32_t),
(override));
};
TEST(RtpVideoStreamReceiverFrameTransformerDelegateTest,
RegisterTransformedFrameCallbackSinkOnInit) {
TestRtpVideoStreamReceiver receiver;
@ -157,7 +139,7 @@ TEST(RtpVideoStreamReceiverFrameTransformerDelegateTest,
TEST(RtpVideoStreamReceiverFrameTransformerDelegateTest, TransformFrame) {
TestRtpVideoStreamReceiver receiver;
rtc::scoped_refptr<MockFrameTransformer> frame_transformer(
new rtc::RefCountedObject<MockFrameTransformer>());
new rtc::RefCountedObject<testing::NiceMock<MockFrameTransformer>>());
rtc::scoped_refptr<RtpVideoStreamReceiverFrameTransformerDelegate> delegate(
new rtc::RefCountedObject<RtpVideoStreamReceiverFrameTransformerDelegate>(
&receiver, frame_transformer, rtc::Thread::Current(),

View File

@ -36,6 +36,7 @@
#include "test/field_trial.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/mock_frame_transformer.h"
using ::testing::_;
using ::testing::ElementsAre;
@ -134,17 +135,6 @@ class MockRtpPacketSink : public RtpPacketSinkInterface {
MOCK_METHOD1(OnRtpPacket, void(const RtpPacketReceived&));
};
class MockFrameTransformer : public FrameTransformerInterface {
public:
MOCK_METHOD3(TransformFrame,
void(std::unique_ptr<video_coding::EncodedFrame> frame,
std::vector<uint8_t> additional_data,
uint32_t ssrc));
MOCK_METHOD2(RegisterTransformedFrameSinkCallback,
void(rtc::scoped_refptr<TransformedFrameCallback>, uint32_t));
MOCK_METHOD1(UnregisterTransformedFrameSinkCallback, void(uint32_t));
};
constexpr uint32_t kSsrc = 111;
constexpr uint16_t kSequenceNumber = 222;
constexpr int kPayloadType = 100;
@ -1126,7 +1116,7 @@ TEST_F(RtpVideoStreamReceiverTest, RepeatedSecondarySinkDisallowed) {
TEST_F(RtpVideoStreamReceiverTest, TransformFrame) {
rtc::scoped_refptr<MockFrameTransformer> mock_frame_transformer =
new rtc::RefCountedObject<MockFrameTransformer>();
new rtc::RefCountedObject<testing::NiceMock<MockFrameTransformer>>();
EXPECT_CALL(*mock_frame_transformer,
RegisterTransformedFrameSinkCallback(_, config_.rtp.remote_ssrc));
auto receiver = std::make_unique<RtpVideoStreamReceiver>(