Allow more than 2 encoders in RtcEventLogEncoderTest

Bug: webrtc:11933
Change-Id: Iabec44eecbd41b0834a1a7105d344ea52fa1aeae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184513
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32139}
This commit is contained in:
Björn Terelius
2020-09-18 12:58:31 +02:00
committed by Commit Bot
parent bd8409b70f
commit 03fd7930c6

View File

@ -43,21 +43,25 @@
namespace webrtc { namespace webrtc {
class RtcEventLogEncoderTest class RtcEventLogEncoderTest
: public ::testing::TestWithParam<std::tuple<int, bool, size_t, bool>> { : public ::testing::TestWithParam<
std::tuple<int, RtcEventLog::EncodingType, size_t, bool>> {
protected: protected:
RtcEventLogEncoderTest() RtcEventLogEncoderTest()
: seed_(std::get<0>(GetParam())), : seed_(std::get<0>(GetParam())),
prng_(seed_), prng_(seed_),
new_encoding_(std::get<1>(GetParam())), encoding_(std::get<1>(GetParam())),
event_count_(std::get<2>(GetParam())), event_count_(std::get<2>(GetParam())),
force_repeated_fields_(std::get<3>(GetParam())), force_repeated_fields_(std::get<3>(GetParam())),
gen_(seed_ * 880001UL), gen_(seed_ * 880001UL),
verifier_(new_encoding_ ? RtcEventLog::EncodingType::NewFormat verifier_(encoding_) {
: RtcEventLog::EncodingType::Legacy) { switch (encoding_) {
if (new_encoding_) case RtcEventLog::EncodingType::Legacy:
encoder_ = std::make_unique<RtcEventLogEncoderNewFormat>(); encoder_ = std::make_unique<RtcEventLogEncoderLegacy>();
else break;
encoder_ = std::make_unique<RtcEventLogEncoderLegacy>(); case RtcEventLog::EncodingType::NewFormat:
encoder_ = std::make_unique<RtcEventLogEncoderNewFormat>();
break;
}
} }
~RtcEventLogEncoderTest() override = default; ~RtcEventLogEncoderTest() override = default;
@ -85,7 +89,7 @@ class RtcEventLogEncoderTest
ParsedRtcEventLog parsed_log_; ParsedRtcEventLog parsed_log_;
const uint64_t seed_; const uint64_t seed_;
Random prng_; Random prng_;
const bool new_encoding_; const RtcEventLog::EncodingType encoding_;
const size_t event_count_; const size_t event_count_;
const bool force_repeated_fields_; const bool force_repeated_fields_;
test::EventGenerator gen_; test::EventGenerator gen_;
@ -163,7 +167,7 @@ void RtcEventLogEncoderTest::TestRtpPackets() {
// TODO(terelius): Test extensions for legacy encoding, too. // TODO(terelius): Test extensions for legacy encoding, too.
RtpHeaderExtensionMap extension_map; RtpHeaderExtensionMap extension_map;
if (new_encoding_) { if (encoding_ != RtcEventLog::EncodingType::Legacy) {
extension_map = gen_.NewRtpHeaderExtensionMap(true); extension_map = gen_.NewRtpHeaderExtensionMap(true);
} }
@ -219,7 +223,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventAlrState) {
} }
TEST_P(RtcEventLogEncoderTest, RtcEventRouteChange) { TEST_P(RtcEventLogEncoderTest, RtcEventRouteChange) {
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
return; return;
} }
std::vector<std::unique_ptr<RtcEventRouteChange>> events(event_count_); std::vector<std::unique_ptr<RtcEventRouteChange>> events(event_count_);
@ -240,7 +244,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventRouteChange) {
} }
TEST_P(RtcEventLogEncoderTest, RtcEventRemoteEstimate) { TEST_P(RtcEventLogEncoderTest, RtcEventRemoteEstimate) {
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
return; return;
} }
std::vector<std::unique_ptr<RtcEventRemoteEstimate>> events(event_count_); std::vector<std::unique_ptr<RtcEventRemoteEstimate>> events(event_count_);
@ -507,7 +511,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventBweUpdateLossBased) {
} }
TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketReceived) { TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketReceived) {
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
return; return;
} }
std::vector<std::unique_ptr<RtcEventGenericPacketReceived>> events( std::vector<std::unique_ptr<RtcEventGenericPacketReceived>> events(
@ -532,7 +536,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketReceived) {
} }
TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketSent) { TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketSent) {
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
return; return;
} }
std::vector<std::unique_ptr<RtcEventGenericPacketSent>> events(event_count_); std::vector<std::unique_ptr<RtcEventGenericPacketSent>> events(event_count_);
@ -555,7 +559,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketSent) {
} }
TEST_P(RtcEventLogEncoderTest, RtcEventGenericAcksReceived) { TEST_P(RtcEventLogEncoderTest, RtcEventGenericAcksReceived) {
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
return; return;
} }
std::vector<std::unique_ptr<RtcEventGenericAckReceived>> events(event_count_); std::vector<std::unique_ptr<RtcEventGenericAckReceived>> events(event_count_);
@ -591,7 +595,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventDtlsTransportState) {
ASSERT_TRUE(parsed_log_.ParseString(encoded).ok()); ASSERT_TRUE(parsed_log_.ParseString(encoded).ok());
const auto& dtls_transport_states = parsed_log_.dtls_transport_states(); const auto& dtls_transport_states = parsed_log_.dtls_transport_states();
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
ASSERT_EQ(dtls_transport_states.size(), 0u); ASSERT_EQ(dtls_transport_states.size(), 0u);
return; return;
} }
@ -617,7 +621,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventDtlsWritableState) {
ASSERT_TRUE(parsed_log_.ParseString(encoded).ok()); ASSERT_TRUE(parsed_log_.ParseString(encoded).ok());
const auto& dtls_writable_states = parsed_log_.dtls_writable_states(); const auto& dtls_writable_states = parsed_log_.dtls_writable_states();
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
ASSERT_EQ(dtls_writable_states.size(), 0u); ASSERT_EQ(dtls_writable_states.size(), 0u);
return; return;
} }
@ -658,7 +662,7 @@ TEST_P(RtcEventLogEncoderTest, RtcEventFrameDecoded) {
ASSERT_TRUE(status.ok()); ASSERT_TRUE(status.ok());
const auto& decoded_frames_by_ssrc = parsed_log_.decoded_frames(); const auto& decoded_frames_by_ssrc = parsed_log_.decoded_frames();
if (!new_encoding_) { if (encoding_ == RtcEventLog::EncodingType::Legacy) {
ASSERT_EQ(decoded_frames_by_ssrc.size(), 0u); ASSERT_EQ(decoded_frames_by_ssrc.size(), 0u);
return; return;
} }
@ -1232,7 +1236,9 @@ INSTANTIATE_TEST_SUITE_P(
RandomSeeds, RandomSeeds,
RtcEventLogEncoderTest, RtcEventLogEncoderTest,
::testing::Combine(/* Random seed*: */ ::testing::Values(1, 2, 3, 4, 5), ::testing::Combine(/* Random seed*: */ ::testing::Values(1, 2, 3, 4, 5),
/* Encoding: */ ::testing::Bool(), /* Encoding: */
::testing::Values(RtcEventLog::EncodingType::Legacy,
RtcEventLog::EncodingType::NewFormat),
/* Event count: */ ::testing::Values(1, 2, 10, 100), /* Event count: */ ::testing::Values(1, 2, 10, 100),
/* Repeated fields: */ ::testing::Bool())); /* Repeated fields: */ ::testing::Bool()));