Fix modules_unittests for force-test-env flag Update various tests in modules/ to use CreateTestEnvironment and CreateTestFieldTrials instead of production versions, allowing modules_unittests to pass with the --force-test-environment flag. Bug: webrtc:521534686 Change-Id: Ie19e5dda19f91ef8dfc11cc477b7b56e3147abd0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/481361 Auto-Submit: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#47997}
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index 0eb8f28..cb779e6 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn
@@ -906,9 +906,10 @@ "../../api:scoped_refptr", "../../api/audio_codecs:audio_codecs_api", "../../api/audio_codecs:builtin_audio_decoder_factory", - "../../api/environment:environment_factory", + "../../api/environment", "../../api/neteq:default_neteq_factory", "../../api/neteq:neteq_api", + "../../test:create_test_environment", "../../test:test_support", "../rtp_rtcp:rtp_rtcp_format", "//testing/gtest", @@ -935,8 +936,8 @@ "../../api/audio_codecs:audio_codecs_api", "../../api/audio_codecs:builtin_audio_encoder_factory", "../../api/environment", - "../../api/environment:environment_factory", "../../rtc_base:checks", + "../../test:create_test_environment", "../rtp_rtcp:rtp_rtcp_format", "//testing/gtest", "//third_party/abseil-cpp/absl/strings",
diff --git a/modules/audio_coding/acm2/acm_receive_test.cc b/modules/audio_coding/acm2/acm_receive_test.cc index ac25d6f..e1b07ee 100644 --- a/modules/audio_coding/acm2/acm_receive_test.cc +++ b/modules/audio_coding/acm2/acm_receive_test.cc
@@ -17,7 +17,6 @@ #include "api/audio_codecs/audio_decoder_factory.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" -#include "api/environment/environment_factory.h" #include "api/neteq/default_neteq_factory.h" #include "api/neteq/neteq.h" #include "api/scoped_refptr.h" @@ -25,6 +24,7 @@ #include "modules/audio_coding/neteq/tools/audio_sink.h" #include "modules/audio_coding/neteq/tools/packet_source.h" #include "modules/rtp_rtcp/source/rtp_packet_received.h" +#include "test/create_test_environment.h" #include "test/gtest.h" namespace webrtc { @@ -37,9 +37,10 @@ NumOutputChannels exptected_output_channels, scoped_refptr<AudioDecoderFactory> decoder_factory) : clock_(0), - neteq_(DefaultNetEqFactory().Create(CreateEnvironment(&clock_), - NetEq::Config(), - std::move(decoder_factory))), + neteq_( + DefaultNetEqFactory().Create(CreateTestEnvironment({.time = &clock_}), + NetEq::Config(), + std::move(decoder_factory))), packet_source_(packet_source), audio_sink_(audio_sink), output_freq_hz_(output_freq_hz),
diff --git a/modules/audio_coding/acm2/acm_send_test.cc b/modules/audio_coding/acm2/acm_send_test.cc index 54dc1c3..40c6ea9 100644 --- a/modules/audio_coding/acm2/acm_send_test.cc +++ b/modules/audio_coding/acm2/acm_send_test.cc
@@ -22,12 +22,12 @@ #include "api/audio_codecs/audio_encoder.h" #include "api/audio_codecs/audio_format.h" #include "api/audio_codecs/builtin_audio_encoder_factory.h" -#include "api/environment/environment_factory.h" #include "modules/audio_coding/include/audio_coding_module.h" #include "modules/audio_coding/include/audio_coding_module_typedefs.h" #include "modules/audio_coding/neteq/tools/input_audio_file.h" #include "modules/rtp_rtcp/source/rtp_packet_received.h" #include "rtc_base/checks.h" +#include "test/create_test_environment.h" namespace webrtc { namespace test { @@ -36,7 +36,7 @@ int source_rate_hz, int test_duration_ms) : clock_(0), - env_(CreateEnvironment(&clock_)), + env_(CreateTestEnvironment({.time = &clock_})), acm_(AudioCodingModule::Create()), audio_source_(audio_source), source_rate_hz_(source_rate_hz),
diff --git a/modules/audio_coding/codecs/opus/audio_decoder_opus_unittest.cc b/modules/audio_coding/codecs/opus/audio_decoder_opus_unittest.cc index b4d5df5..46d2fbd 100644 --- a/modules/audio_coding/codecs/opus/audio_decoder_opus_unittest.cc +++ b/modules/audio_coding/codecs/opus/audio_decoder_opus_unittest.cc
@@ -25,15 +25,13 @@ #include "api/audio_codecs/audio_encoder.h" #include "api/audio_codecs/opus/audio_encoder_opus_config.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" -#include "api/field_trials.h" #include "modules/audio_coding/codecs/opus/audio_encoder_opus.h" #include "modules/audio_coding/test/PCMFile.h" #include "rtc_base/buffer.h" #include "rtc_base/checks.h" #include "rtc_base/numerics/safe_conversions.h" #include "rtc_base/random.h" -#include "test/create_test_field_trials.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -246,7 +244,7 @@ } // namespace TEST(AudioDecoderOpusTest, MonoEncoderStereoDecoderOutputsTrivialStereo) { - const Environment env = EnvironmentFactory().Create(); + const Environment env = CreateTestEnvironment(); WhiteNoiseGenerator generator(/*amplitude_dbfs=*/-70.0); std::array<int16_t, kInputFrameLength> input_frame; // Create a mono encoder. @@ -284,7 +282,7 @@ TEST(AudioDecoderOpusTest, MonoEncoderStereoDecoderOutputsTrivialStereoComfortNoise) { - const Environment env = EnvironmentFactory().Create(); + const Environment env = CreateTestEnvironment(); // Create a mono encoder. AudioEncoderOpusConfig encoder_config = GetEncoderConfig(/*num_channels=*/1, /*dtx_enabled=*/true); @@ -328,9 +326,8 @@ } TEST(AudioDecoderOpusTest, MonoEncoderStereoDecoderOutputsTrivialStereoPlc) { - const FieldTrials trials = - CreateTestFieldTrials("WebRTC-Audio-OpusGeneratePlc/Enabled/"); - const Environment env = CreateEnvironment(&trials); + const Environment env = CreateTestEnvironment( + {.field_trials = "WebRTC-Audio-OpusGeneratePlc/Enabled/"}); // Create a mono encoder. AudioEncoderOpusConfig encoder_config = GetEncoderConfig(/*num_channels=*/1, /*dtx_enabled=*/false); @@ -367,7 +364,7 @@ } TEST(AudioDecoderOpusTest, MonoEncoderStereoDecoderOutputsTrivialStereoFec) { - const Environment env = EnvironmentFactory().Create(); + const Environment env = CreateTestEnvironment(); AudioEncoderOpusConfig encoder_config = GetEncoderConfig(/*num_channels=*/1, /*dtx_enabled=*/false); encoder_config.fec_enabled = true; @@ -422,7 +419,7 @@ TEST(AudioDecoderOpusTest, StereoEncoderStereoDecoderOutputsNonTrivialStereoComfortNoise) { - const Environment env = EnvironmentFactory().Create(); + const Environment env = CreateTestEnvironment(); // Create a stereo encoder. AudioEncoderOpusConfig encoder_config = GetEncoderConfig(/*num_channels=*/2, /*dtx_enabled=*/true); @@ -460,9 +457,8 @@ TEST(AudioDecoderOpusTest, StereoEncoderStereoDecoderOutputsNonTrivialStereoPlc) { - const FieldTrials trials = - CreateTestFieldTrials("WebRTC-Audio-OpusGeneratePlc/Enabled/"); - const Environment env = CreateEnvironment(&trials); + const Environment env = CreateTestEnvironment( + {.field_trials = "WebRTC-Audio-OpusGeneratePlc/Enabled/"}); // Create a stereo encoder. AudioEncoderOpusConfig encoder_config = GetEncoderConfig(/*num_channels=*/2, /*dtx_enabled=*/false);
diff --git a/modules/audio_coding/neteq/mock/mock_decoder_database.h b/modules/audio_coding/neteq/mock/mock_decoder_database.h index c323237..3401980 100644 --- a/modules/audio_coding/neteq/mock/mock_decoder_database.h +++ b/modules/audio_coding/neteq/mock/mock_decoder_database.h
@@ -15,9 +15,9 @@ #include "api/audio_codecs/audio_decoder.h" #include "api/audio_codecs/audio_format.h" -#include "api/environment/environment_factory.h" #include "modules/audio_coding/codecs/cng/webrtc_cng.h" #include "modules/audio_coding/neteq/decoder_database.h" +#include "test/create_test_environment.h" #include "test/gmock.h" namespace webrtc { @@ -25,7 +25,7 @@ class MockDecoderDatabase : public DecoderDatabase { public: MockDecoderDatabase() - : DecoderDatabase(CreateEnvironment(), + : DecoderDatabase(CreateTestEnvironment(), /*decoder_factory=*/nullptr) {} ~MockDecoderDatabase() override { Die(); } MOCK_METHOD(void, Die, ());
diff --git a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc index 116892a..2c9e6c1 100644 --- a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc +++ b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
@@ -21,6 +21,7 @@ #include "api/audio_codecs/audio_decoder.h" #include "api/audio_codecs/audio_format.h" +#include "api/field_trials.h" #include "api/make_ref_counted.h" #include "api/neteq/neteq.h" #include "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.h" @@ -34,6 +35,7 @@ #include "rtc_base/checks.h" #include "rtc_base/numerics/safe_conversions.h" #include "test/audio_decoder_proxy_factory.h" +#include "test/create_test_field_trials.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -223,11 +225,13 @@ // No callback objects. NetEqTest::Callbacks callbacks; - NetEqTest neteq_test( - config, /*decoder_factory=*/ - make_ref_counted<test::AudioDecoderProxyFactory>(&dec), - /*codecs=*/decoders, /*text_log=*/nullptr, /*neteq_factory=*/nullptr, - /*input=*/std::move(lossy_input), std::move(output), callbacks); + FieldTrials field_trials = CreateTestFieldTrials(""); + NetEqTest neteq_test(config, /*decoder_factory=*/ + make_ref_counted<test::AudioDecoderProxyFactory>(&dec), + /*codecs=*/decoders, /*text_log=*/nullptr, + /*neteq_factory=*/nullptr, + /*input=*/std::move(lossy_input), std::move(output), + callbacks, &field_trials); EXPECT_LE(kRunTimeMs, neteq_test.Run()); auto lifetime_stats = neteq_test.LifetimeStats();
diff --git a/modules/audio_coding/neteq/neteq_impl_unittest.cc b/modules/audio_coding/neteq/neteq_impl_unittest.cc index 30bf865..18b3177 100644 --- a/modules/audio_coding/neteq/neteq_impl_unittest.cc +++ b/modules/audio_coding/neteq/neteq_impl_unittest.cc
@@ -24,7 +24,6 @@ #include "api/audio_codecs/audio_format.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/make_ref_counted.h" #include "api/neteq/default_neteq_controller_factory.h" #include "api/neteq/default_neteq_factory.h" @@ -86,7 +85,7 @@ class NetEqImplTest : public ::testing::Test { protected: - NetEqImplTest() : clock_(0), env_(CreateEnvironment(&clock_)) { + NetEqImplTest() : clock_(0), env_(CreateTestEnvironment({.time = &clock_})) { config_.sample_rate_hz = 8000; }
diff --git a/modules/audio_coding/neteq/neteq_stereo_unittest.cc b/modules/audio_coding/neteq/neteq_stereo_unittest.cc index 54c81b9..5979081 100644 --- a/modules/audio_coding/neteq/neteq_stereo_unittest.cc +++ b/modules/audio_coding/neteq/neteq_stereo_unittest.cc
@@ -24,7 +24,6 @@ #include "api/audio_codecs/audio_format.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/neteq/default_neteq_factory.h" #include "api/neteq/neteq.h" #include "api/rtp_headers.h" @@ -35,6 +34,7 @@ #include "rtc_base/checks.h" #include "rtc_base/strings/string_builder.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -71,7 +71,7 @@ static_cast<size_t>(frame_size_ms_ * samples_per_ms_)), output_size_samples_(10 * samples_per_ms_), clock_(0), - env_(CreateEnvironment(&clock_)), + env_(CreateTestEnvironment({.time = &clock_})), rtp_generator_mono_(samples_per_ms_), rtp_generator_(samples_per_ms_), payload_size_bytes_(0),
diff --git a/modules/audio_coding/neteq/neteq_unittest.cc b/modules/audio_coding/neteq/neteq_unittest.cc index 4a25d56..7a96403 100644 --- a/modules/audio_coding/neteq/neteq_unittest.cc +++ b/modules/audio_coding/neteq/neteq_unittest.cc
@@ -25,6 +25,7 @@ #include "absl/flags/flag.h" #include "api/audio/audio_frame.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" +#include "api/field_trials.h" #include "api/rtp_headers.h" #include "api/units/time_delta.h" #include "modules/audio_coding/codecs/pcm16b/pcm16b.h" @@ -39,6 +40,7 @@ #include "rtc_base/numerics/safe_conversions.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/system/arch.h" +#include "test/create_test_field_trials.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -1005,10 +1007,11 @@ new TimeLimitedNetEqInput(std::move(input), 20000)); std::unique_ptr<AudioSink> output(new VoidAudioSink); NetEqTest::Callbacks callbacks; + FieldTrials field_trials = CreateTestFieldTrials(""); NetEqTest test(config, CreateBuiltinAudioDecoderFactory(), codecs, /*text_log=*/nullptr, /*neteq_factory=*/nullptr, /*input=*/std::move(input_time_limit), std::move(output), - callbacks); + callbacks, &field_trials); test.Run(); const auto stats = test.SimulationStats(); EXPECT_EQ(0, stats.accelerate_rate);
diff --git a/modules/audio_coding/neteq/test/neteq_decoding_test.cc b/modules/audio_coding/neteq/test/neteq_decoding_test.cc index 45c3d6f..6619500 100644 --- a/modules/audio_coding/neteq/test/neteq_decoding_test.cc +++ b/modules/audio_coding/neteq/test/neteq_decoding_test.cc
@@ -21,7 +21,6 @@ #include "api/audio/audio_frame.h" #include "api/audio_codecs/audio_format.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" -#include "api/environment/environment_factory.h" #include "api/neteq/default_neteq_factory.h" #include "api/neteq/neteq.h" #include "api/rtp_headers.h" @@ -29,6 +28,7 @@ #include "modules/audio_coding/neteq/test/result_sink.h" #include "modules/audio_coding/neteq/tools/rtp_file_source.h" #include "rtc_base/strings/string_builder.h" +#include "test/create_test_environment.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -72,7 +72,7 @@ NetEqDecodingTest::NetEqDecodingTest() : clock_(0), - env_(CreateEnvironment(&clock_)), + env_(CreateTestEnvironment({.time = &clock_})), config_(), output_sample_rate_(kInitSampleRateHz), algorithmic_delay_ms_(0) {
diff --git a/modules/audio_device/audio_device_unittest.cc b/modules/audio_device/audio_device_unittest.cc index b75043b..d230b12 100644 --- a/modules/audio_device/audio_device_unittest.cc +++ b/modules/audio_device/audio_device_unittest.cc
@@ -511,9 +511,11 @@ // Both the tests and the code under test are very old, unstaffed and not // a part of webRTC stack. // Here sanitizers make the tests hang, without providing usefull report. +// It also hangs under some Linux configurations. // So we are just disabling them, without intention to re-enable them. -#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \ - defined(THREAD_SANITIZER) || defined(UNDEFINED_SANITIZER) +#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \ + defined(THREAD_SANITIZER) || defined(UNDEFINED_SANITIZER) || \ + defined(WEBRTC_LINUX) #define MAYBE_AudioDeviceTest DISABLED_AudioDeviceTest #else #define MAYBE_AudioDeviceTest AudioDeviceTest
diff --git a/modules/audio_device/include/test_audio_device_unittest.cc b/modules/audio_device/include/test_audio_device_unittest.cc index b78c31b..90611e4 100644 --- a/modules/audio_device/include/test_audio_device_unittest.cc +++ b/modules/audio_device/include/test_audio_device_unittest.cc
@@ -28,7 +28,6 @@ #include "api/audio/audio_device.h" #include "api/audio/audio_device_defines.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/scoped_refptr.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" @@ -37,6 +36,7 @@ #include "rtc_base/checks.h" #include "rtc_base/synchronization/mutex.h" #include "rtc_base/thread_annotations.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -484,8 +484,7 @@ TEST(TestAudioDeviceModuleTest, CreatedADMCanRecord) { GlobalSimulatedTimeController time_controller(kStartTime); - const Environment env = CreateEnvironment( - time_controller.GetClock(), time_controller.GetTaskQueueFactory()); + const Environment env = CreateTestEnvironment({.time = &time_controller}); TestAudioTransport audio_transport(TestAudioTransport::Mode::kRecording); std::unique_ptr<TestAudioDeviceModule::PulsedNoiseCapturer> capturer = TestAudioDeviceModule::CreatePulsedNoiseCapturer( @@ -518,8 +517,7 @@ TEST(TestAudioDeviceModuleTest, CreatedADMCanPlay) { GlobalSimulatedTimeController time_controller(kStartTime); - const Environment env = CreateEnvironment( - time_controller.GetClock(), time_controller.GetTaskQueueFactory()); + const Environment env = CreateTestEnvironment({.time = &time_controller}); TestAudioTransport audio_transport(TestAudioTransport::Mode::kPlaying); std::unique_ptr<TestAudioDeviceModule::Renderer> renderer = TestAudioDeviceModule::CreateDiscardRenderer(
diff --git a/modules/audio_processing/aec_dump/BUILD.gn b/modules/audio_processing/aec_dump/BUILD.gn index 586a38e..9bab8d7 100644 --- a/modules/audio_processing/aec_dump/BUILD.gn +++ b/modules/audio_processing/aec_dump/BUILD.gn
@@ -51,6 +51,7 @@ "../../../api/audio:builtin_audio_processing_builder", "../../../api/environment:environment_factory", "../../../rtc_base:checks", + "../../../test:create_test_environment", "../../../test:test_support", "//testing/gtest", ]
diff --git a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc index 7701877..04e7db1 100644 --- a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc +++ b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc
@@ -15,10 +15,10 @@ #include "api/audio/audio_processing.h" #include "api/audio/builtin_audio_processing_builder.h" -#include "api/environment/environment_factory.h" #include "api/scoped_refptr.h" #include "modules/audio_processing/aec_dump/mock_aec_dump.h" #include "rtc_base/checks.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" @@ -32,7 +32,7 @@ webrtc::scoped_refptr<webrtc::AudioProcessing> CreateAudioProcessing() { webrtc::scoped_refptr<webrtc::AudioProcessing> apm = webrtc::BuiltinAudioProcessingBuilder().Build( - webrtc::CreateEnvironment()); + webrtc::CreateTestEnvironment()); RTC_DCHECK(apm); return apm; }
diff --git a/modules/audio_processing/test/debug_dump_replayer.cc b/modules/audio_processing/test/debug_dump_replayer.cc index ca09367..d8ff50d 100644 --- a/modules/audio_processing/test/debug_dump_replayer.cc +++ b/modules/audio_processing/test/debug_dump_replayer.cc
@@ -20,11 +20,11 @@ #include "absl/strings/string_view.h" #include "api/audio/audio_processing.h" #include "api/audio/builtin_audio_processing_builder.h" -#include "api/environment/environment_factory.h" #include "common_audio/channel_buffer.h" #include "modules/audio_processing/test/protobuf_utils.h" #include "modules/audio_processing/test/runtime_setting_util.h" #include "rtc_base/checks.h" +#include "test/create_test_environment.h" namespace webrtc { namespace test { @@ -197,7 +197,7 @@ // We only create APM once, since changes on these fields should not // happen in current implementation. if (apm_ == nullptr) { - apm_ = BuiltinAudioProcessingBuilder().Build(CreateEnvironment()); + apm_ = BuiltinAudioProcessingBuilder().Build(CreateTestEnvironment()); } }
diff --git a/modules/audio_processing/test/debug_dump_test.cc b/modules/audio_processing/test/debug_dump_test.cc index b6a5f84..12c57de 100644 --- a/modules/audio_processing/test/debug_dump_test.cc +++ b/modules/audio_processing/test/debug_dump_test.cc
@@ -22,7 +22,6 @@ #include "absl/strings/string_view.h" #include "api/audio/audio_processing.h" #include "api/audio/builtin_audio_processing_builder.h" -#include "api/environment/environment_factory.h" #include "api/scoped_refptr.h" #include "common_audio/channel_buffer.h" #include "common_audio/include/audio_util.h" @@ -32,6 +31,7 @@ #include "modules/audio_processing/test/protobuf_utils.h" #include "rtc_base/checks.h" #include "rtc_base/task_queue_for_test.h" +#include "test/create_test_environment.h" #include "test/gtest.h" #include "test/testsupport/file_utils.h" @@ -150,7 +150,7 @@ enable_pre_amplifier_(enable_pre_amplifier), worker_queue_("debug_dump_generator_worker_queue"), dump_file_name_(dump_file_name) { - apm_ = BuiltinAudioProcessingBuilder().Build(CreateEnvironment()); + apm_ = BuiltinAudioProcessingBuilder().Build(CreateTestEnvironment()); } DebugDumpGenerator::DebugDumpGenerator(
diff --git a/modules/congestion_controller/BUILD.gn b/modules/congestion_controller/BUILD.gn index 81973e7..de70698 100644 --- a/modules/congestion_controller/BUILD.gn +++ b/modules/congestion_controller/BUILD.gn
@@ -64,6 +64,7 @@ "../../api/units:timestamp", "../../rtc_base:buffer", "../../system_wrappers", + "../../test:create_test_environment", "../../test:create_test_field_trials", "../../test:test_support", "../../test/scenario",
diff --git a/modules/congestion_controller/goog_cc/BUILD.gn b/modules/congestion_controller/goog_cc/BUILD.gn index a8c9da4..b52738a 100644 --- a/modules/congestion_controller/goog_cc/BUILD.gn +++ b/modules/congestion_controller/goog_cc/BUILD.gn
@@ -288,6 +288,7 @@ "../../../rtc_base:stringutils", "../../../rtc_base/experiments:alr_experiment", "../../../system_wrappers", + "../../../test:create_test_environment", "../../../test:create_test_field_trials", "../../../test:test_support", "../../../test/network:emulated_network",
diff --git a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc index 225ba8a..aa6f2fc 100644 --- a/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc +++ b/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc
@@ -19,7 +19,6 @@ #include "absl/strings/string_view.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/field_trials.h" #include "api/test/network_emulation/create_cross_traffic.h" #include "api/test/network_emulation/cross_traffic.h" @@ -31,6 +30,7 @@ #include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "call/video_receive_stream.h" +#include "test/create_test_environment.h" #include "test/create_test_field_trials.h" #include "test/gmock.h" #include "test/gtest.h" @@ -161,7 +161,7 @@ GoogCcNetworkControllerFactory factory; Scenario s("googcc_unit/target_capacity" + std::string(test_name), false); CallClientConfig config; - config.field_trials.Merge(FieldTrials(field_trials)); + config.field_trials.Merge(CreateTestFieldTrials(field_trials)); config.transport.cc_factory = &factory; config.transport.rates.min_rate = DataRate::KilobitsPerSec(10); config.transport.rates.max_rate = DataRate::KilobitsPerSec(1500); @@ -269,7 +269,8 @@ } FieldTrials field_trials_ = CreateTestFieldTrials(); - const Environment env_ = CreateEnvironment(&field_trials_); + const Environment env_ = + CreateTestEnvironment({.field_trials = &field_trials_}); GoogCcNetworkControllerFactory factory_; };
diff --git a/modules/congestion_controller/receive_side_congestion_controller_unittest.cc b/modules/congestion_controller/receive_side_congestion_controller_unittest.cc index fb91272..f5ef560 100644 --- a/modules/congestion_controller/receive_side_congestion_controller_unittest.cc +++ b/modules/congestion_controller/receive_side_congestion_controller_unittest.cc
@@ -14,7 +14,6 @@ #include <memory> #include <vector> -#include "api/environment/environment_factory.h" #include "api/field_trials.h" #include "api/media_types.h" #include "api/rtp_header_extension_id.h" @@ -34,6 +33,7 @@ #include "modules/rtp_rtcp/source/rtp_packet_received.h" #include "rtc_base/buffer.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/create_test_field_trials.h" #include "test/gmock.h" #include "test/gtest.h" @@ -59,9 +59,9 @@ MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); - ReceiveSideCongestionController controller(CreateEnvironment(&clock), - feedback_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + ReceiveSideCongestionController controller( + CreateTestEnvironment({.time = &clock}), feedback_sender.AsStdFunction(), + remb_sender.AsStdFunction()); RtpHeaderExtensionMap extensions; extensions.Register<AbsoluteSendTime>(RtpHeaderExtensionId(1)); @@ -89,9 +89,9 @@ MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); - ReceiveSideCongestionController controller(CreateEnvironment(&clock), - feedback_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + ReceiveSideCongestionController controller( + CreateTestEnvironment({.time = &clock}), feedback_sender.AsStdFunction(), + remb_sender.AsStdFunction()); EXPECT_CALL(remb_sender, Call(123, _)); controller.SetMaxDesiredReceiveBitrate(DataRate::BitsPerSec(123)); } @@ -124,8 +124,8 @@ MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); ReceiveSideCongestionController controller( - CreateEnvironment(&clock, &field_trials), rtcp_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + CreateTestEnvironment({.field_trials = &field_trials, .time = &clock}), + rtcp_sender.AsStdFunction(), remb_sender.AsStdFunction()); // Expect that RTCP feedback is sent. EXPECT_CALL(rtcp_sender, Call) @@ -149,9 +149,9 @@ rtcp_sender; MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); - ReceiveSideCongestionController controller(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + ReceiveSideCongestionController controller( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction(), + remb_sender.AsStdFunction()); controller.SetPreferredRtcpCcAckType(RtcpFeedbackType::CCFB); // Expect that RTCP feedback is sent. @@ -177,9 +177,9 @@ rtcp_sender; MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); - ReceiveSideCongestionController controller(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + ReceiveSideCongestionController controller( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction(), + remb_sender.AsStdFunction()); controller.SetPreferredRtcpCcAckType(RtcpFeedbackType::TRANSPORT_CC); // Expect that RTCP feedback is sent. @@ -208,9 +208,9 @@ rtcp_sender; MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); - ReceiveSideCongestionController controller(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + ReceiveSideCongestionController controller( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction(), + remb_sender.AsStdFunction()); // No Transport feedback is sent because received packet does not have // transport sequence number rtp header extension. @@ -272,9 +272,9 @@ MockFunction<void(uint64_t, std::vector<uint32_t>)> remb_sender; SimulatedClock clock(123456); - ReceiveSideCongestionController controller(CreateEnvironment(&clock), - feedback_sender.AsStdFunction(), - remb_sender.AsStdFunction()); + ReceiveSideCongestionController controller( + CreateTestEnvironment({.time = &clock}), feedback_sender.AsStdFunction(), + remb_sender.AsStdFunction()); // Test new overload. controller.OnBitrateChanged(DataRate::BitsPerSec(500'000),
diff --git a/modules/remote_bitrate_estimator/BUILD.gn b/modules/remote_bitrate_estimator/BUILD.gn index 70bbfaf..b7f4727 100644 --- a/modules/remote_bitrate_estimator/BUILD.gn +++ b/modules/remote_bitrate_estimator/BUILD.gn
@@ -192,6 +192,7 @@ "../../rtc_base:logging", "../../rtc_base:random", "../../system_wrappers", + "../../test:create_test_environment", "../../test:create_test_field_trials", "../../test:fileutils", "../../test:test_support",
diff --git a/modules/remote_bitrate_estimator/congestion_control_feedback_generator_unittest.cc b/modules/remote_bitrate_estimator/congestion_control_feedback_generator_unittest.cc index da1e300..29fba5f 100644 --- a/modules/remote_bitrate_estimator/congestion_control_feedback_generator_unittest.cc +++ b/modules/remote_bitrate_estimator/congestion_control_feedback_generator_unittest.cc
@@ -14,11 +14,8 @@ #include <cstddef> #include <cstdint> #include <memory> -#include <utility> #include <vector> -#include "api/environment/environment_factory.h" -#include "api/field_trials.h" #include "api/transport/ecn_marking.h" #include "api/units/data_rate.h" #include "api/units/data_size.h" @@ -30,6 +27,7 @@ #include "modules/rtp_rtcp/source/rtp_packet_received.h" #include "rtc_base/buffer.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" @@ -63,8 +61,8 @@ MockFunction<void(std::vector<std::unique_ptr<rtcp::RtcpPacket>>)> rtcp_sender; SimulatedClock clock(123456); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); EXPECT_GT(generator.Process(clock.CurrentTime()), TimeDelta::Millis(10)); clock.AdvanceTimeMilliseconds(10); @@ -81,8 +79,8 @@ MockFunction<void(std::vector<std::unique_ptr<rtcp::RtcpPacket>>)> rtcp_sender; SimulatedClock clock(123456); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); TimeDelta time_to_next = generator.Process(clock.CurrentTime()); EXPECT_EQ(time_to_next, TimeDelta::Millis(25)); @@ -108,8 +106,8 @@ rtcp_sender; constexpr TimeDelta kSmallTimeInterval = TimeDelta::Millis(2); SimulatedClock clock(123456); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); TimeDelta time_to_next_process = generator.Process(clock.CurrentTime()); Timestamp expected_feedback_time = clock.CurrentTime(); @@ -137,8 +135,8 @@ MockFunction<void(std::vector<std::unique_ptr<rtcp::RtcpPacket>>)> rtcp_sender; SimulatedClock clock(123456); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); int number_of_feedback_packets = 0; DataSize total_feedback_size; @@ -178,8 +176,8 @@ MockFunction<void(std::vector<std::unique_ptr<rtcp::RtcpPacket>>)> rtcp_sender; SimulatedClock clock(123456); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); int number_of_feedback_packets = 0; DataSize total_feedback_size = DataSize::Zero(); @@ -236,8 +234,8 @@ rtcp_sender; SimulatedClock clock(123456); constexpr TimeDelta kSmallTimeInterval = TimeDelta::Millis(2); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); TimeDelta time_to_next_process = generator.Process(clock.CurrentTime()); @@ -299,8 +297,8 @@ rtcp_sender; SimulatedClock clock(123456); constexpr TimeDelta kSmallTimeInterval = TimeDelta::Millis(2); - CongestionControlFeedbackGenerator generator(CreateEnvironment(&clock), - rtcp_sender.AsStdFunction()); + CongestionControlFeedbackGenerator generator( + CreateTestEnvironment({.time = &clock}), rtcp_sender.AsStdFunction()); TimeDelta time_to_next_process = generator.Process(clock.CurrentTime()); RtpPacketReceived packet_1 = @@ -341,10 +339,11 @@ SimulatedClock clock(123456); // Enable 5% feedback fraction limit via field trial - auto field_trials = std::make_unique<FieldTrials>( - "WebRTC-RFC8888CongestionControlFeedback/feedback_fraction:0.05/"); CongestionControlFeedbackGenerator generator( - CreateEnvironment(&clock, std::move(field_trials)), + CreateTestEnvironment({.field_trials = + "WebRTC-RFC8888CongestionControlFeedback/" + "feedback_fraction:0.05/", + .time = &clock}), rtcp_sender.AsStdFunction()); // Notify the generator that send BWE is 100 kbps. @@ -398,10 +397,11 @@ SimulatedClock clock(123456); // Enable 5% feedback fraction limit via field trial - auto field_trials = std::make_unique<FieldTrials>( - "WebRTC-RFC8888CongestionControlFeedback/feedback_fraction:0.05/"); CongestionControlFeedbackGenerator generator( - CreateEnvironment(&clock, std::move(field_trials)), + CreateTestEnvironment({.field_trials = + "WebRTC-RFC8888CongestionControlFeedback/" + "feedback_fraction:0.05/", + .time = &clock}), rtcp_sender.AsStdFunction()); // Notify the generator that send BWE is extremely low (10 kbps). @@ -457,10 +457,11 @@ SimulatedClock clock(123456); // Enable 5% feedback fraction limit via field trial - auto field_trials = std::make_unique<FieldTrials>( - "WebRTC-RFC8888CongestionControlFeedback/feedback_fraction:0.05/"); CongestionControlFeedbackGenerator generator( - CreateEnvironment(&clock, std::move(field_trials)), + CreateTestEnvironment({.field_trials = + "WebRTC-RFC8888CongestionControlFeedback/" + "feedback_fraction:0.05/", + .time = &clock}), rtcp_sender.AsStdFunction()); // Notify the generator that send BWE is extremely low (10 kbps) but we are
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc b/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc index 4f6c94d..7129255 100644 --- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc +++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
@@ -13,8 +13,8 @@ #include <cstdint> #include <memory> -#include "api/environment/environment_factory.h" #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h" +#include "test/create_test_environment.h" #include "test/gtest.h" namespace webrtc { @@ -31,7 +31,7 @@ void SetUp() override { bitrate_estimator_ = std::make_unique<RemoteBitrateEstimatorAbsSendTime>( - CreateEnvironment(&clock_), bitrate_observer_.get()); + CreateTestEnvironment({.time = &clock_}), bitrate_observer_.get()); } };
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc b/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc index 15696dc..7c6faca 100644 --- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc +++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
@@ -12,8 +12,8 @@ #include <memory> -#include "api/environment/environment_factory.h" #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h" +#include "test/create_test_environment.h" #include "test/gtest.h" namespace webrtc { @@ -29,7 +29,7 @@ void SetUp() override { bitrate_estimator_ = std::make_unique<RemoteBitrateEstimatorSingleStream>( - CreateEnvironment(&clock_), bitrate_observer_.get()); + CreateTestEnvironment({.time = &clock_}), bitrate_observer_.get()); } };
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 75bc1b7..6876cbe 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn
@@ -703,6 +703,7 @@ "../../rtc_base:threading", "../../system_wrappers", "../../system_wrappers:metrics", + "../../test:create_test_environment", "../../test:create_test_field_trials", "../../test:mock_transport", "../../test:near_matcher",
diff --git a/modules/rtp_rtcp/source/flexfec_sender_unittest.cc b/modules/rtp_rtcp/source/flexfec_sender_unittest.cc index 61d1d33..3f8c82e 100644 --- a/modules/rtp_rtcp/source/flexfec_sender_unittest.cc +++ b/modules/rtp_rtcp/source/flexfec_sender_unittest.cc
@@ -18,7 +18,6 @@ #include <vector> #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_header_extension_id.h" #include "api/rtp_parameters.h" #include "modules/include/module_fec_types.h" @@ -29,6 +28,7 @@ #include "modules/rtp_rtcp/source/rtp_packet_to_send.h" #include "modules/rtp_rtcp/source/rtp_sender.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gtest.h" namespace webrtc { @@ -90,7 +90,7 @@ TEST(FlexfecSenderTest, Ssrc) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, kNoMid, kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes, nullptr /* rtp_state */); @@ -100,7 +100,7 @@ TEST(FlexfecSenderTest, NoFecAvailableBeforeMediaAdded) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, kNoMid, kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes, nullptr /* rtp_state */); @@ -110,7 +110,7 @@ TEST(FlexfecSenderTest, ProtectOneFrameWithOneFecPacket) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, kNoMid, kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes, nullptr /* rtp_state */); @@ -127,7 +127,7 @@ TEST(FlexfecSenderTest, ProtectTwoFramesWithOneFecPacket) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); // FEC parameters selected to generate a single FEC packet per frame. FecProtectionParams params; params.fec_rate = 15; @@ -165,7 +165,7 @@ TEST(FlexfecSenderTest, ProtectTwoFramesWithTwoFecPackets) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); // FEC parameters selected to generate a single FEC packet per frame. FecProtectionParams params; params.fec_rate = 30; @@ -205,7 +205,7 @@ // In the tests, we only consider RTP header extensions that are useful for BWE. TEST(FlexfecSenderTest, NoRtpHeaderExtensionsForBweByDefault) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{}; FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, kNoMid, kRtpHeaderExtensions, kNoRtpHeaderExtensionSizes, @@ -219,7 +219,7 @@ TEST(FlexfecSenderTest, RegisterAbsoluteSendTimeRtpHeaderExtension) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{ {RtpExtension::kAbsSendTimeUri, RtpHeaderExtensionId(1)}}; FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, @@ -234,7 +234,7 @@ TEST(FlexfecSenderTest, RegisterTransmissionOffsetRtpHeaderExtension) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{ {RtpExtension::kTimestampOffsetUri, RtpHeaderExtensionId(1)}}; FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, @@ -249,7 +249,7 @@ TEST(FlexfecSenderTest, RegisterTransportSequenceNumberRtpHeaderExtension) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{ {RtpExtension::kTransportSequenceNumberUri, RtpHeaderExtensionId(1)}}; FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, @@ -264,7 +264,7 @@ TEST(FlexfecSenderTest, RegisterAllRtpHeaderExtensionsForBwe) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{ {RtpExtension::kAbsSendTimeUri, RtpHeaderExtensionId(1)}, {RtpExtension::kTimestampOffsetUri, RtpHeaderExtensionId(2)}, @@ -281,7 +281,7 @@ TEST(FlexfecSenderTest, MaxPacketOverhead) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); FlexfecSender sender(env, kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc, kNoMid, kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes, nullptr /* rtp_state */); @@ -291,7 +291,7 @@ TEST(FlexfecSenderTest, MaxPacketOverheadWithExtensions) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{ {RtpExtension::kAbsSendTimeUri, RtpHeaderExtensionId(1)}, {RtpExtension::kTimestampOffsetUri, RtpHeaderExtensionId(2)}, @@ -313,7 +313,7 @@ TEST(FlexfecSenderTest, MidIncludedInPacketsWhenSet) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); const std::vector<RtpExtension> kRtpHeaderExtensions{ {RtpExtension::kMidUri, RtpHeaderExtensionId(1)}}; const char kMid[] = "mid"; @@ -330,7 +330,7 @@ TEST(FlexfecSenderTest, SetsAndGetsRtpState) { SimulatedClock clock(kInitialSimulatedClockTime); - const Environment env = CreateEnvironment(&clock); + const Environment env = CreateTestEnvironment({.time = &clock}); RtpState initial_rtp_state; initial_rtp_state.sequence_number = 100; initial_rtp_state.start_timestamp = 200;
diff --git a/modules/rtp_rtcp/source/nack_rtx_unittest.cc b/modules/rtp_rtcp/source/nack_rtx_unittest.cc index f03cfcc..23a80bc 100644 --- a/modules/rtp_rtcp/source/nack_rtx_unittest.cc +++ b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
@@ -20,7 +20,6 @@ #include "absl/algorithm/container.h" #include "api/call/transport.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_headers.h" #include "api/task_queue/task_queue_base.h" #include "api/units/time_delta.h" @@ -39,6 +38,7 @@ #include "modules/rtp_rtcp/source/rtp_sender_video.h" #include "rtc_base/rate_limiter.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gtest.h" #include "test/run_loop.h" @@ -149,7 +149,7 @@ protected: RtpRtcpRtxNackTest() : fake_clock_(123456), - env_(CreateEnvironment(&fake_clock_)), + env_(CreateTestEnvironment({.time = &fake_clock_})), transport_(main_thread_.task_queue(), main_thread_.task_queue(), kTestRtxSsrc),
diff --git a/modules/rtp_rtcp/source/rtcp_sender_unittest.cc b/modules/rtp_rtcp/source/rtcp_sender_unittest.cc index 40f7c92..e3c9823 100644 --- a/modules/rtp_rtcp/source/rtcp_sender_unittest.cc +++ b/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
@@ -20,7 +20,6 @@ #include "api/call/transport.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_headers.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" @@ -42,6 +41,7 @@ #include "rtc_base/rate_limiter.h" #include "system_wrappers/include/clock.h" #include "system_wrappers/include/ntp_time.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/mock_transport.h" @@ -97,7 +97,7 @@ protected: RtcpSenderTest() : clock_(1335900000), - env_(CreateEnvironment(&clock_)), + env_(CreateTestEnvironment({.time = &clock_})), receive_statistics_(ReceiveStatistics::Create(&clock_)), rtp_rtcp_impl_( ModuleRtpRtcpImpl2::CreateSendModule(env_,
diff --git a/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc b/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc index a5531ef..a265483 100644 --- a/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_packet_history_unittest.cc
@@ -18,13 +18,13 @@ #include <vector> #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "modules/rtp_rtcp/source/rtp_packet_to_send.h" #include "rtc_base/copy_on_write_buffer.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" @@ -62,7 +62,7 @@ protected: RtpPacketHistoryTest() : fake_clock_(123456), - env_(CreateEnvironment(&fake_clock_)), + env_(CreateTestEnvironment({.time = &fake_clock_})), hist_(env_, /*enable_padding_prio=*/GetParam()) {} SimulatedClock fake_clock_; @@ -633,7 +633,7 @@ TEST(RtpPacketHistoryRecentLargePacketMode, GetPayloadPaddingPacketAfterCullWithAcksReturnOldPacket) { SimulatedClock fake_clock(1234); - Environment env = CreateEnvironment(&fake_clock); + Environment env = CreateTestEnvironment({.time = &fake_clock}); RtpPacketHistory history(env, RtpPacketHistory::PaddingMode::kRecentLargePacket); @@ -654,7 +654,7 @@ TEST(RtpPacketHistoryRecentLargePacketMode, GetPayloadPaddingPacketIgnoreSmallRecentPackets) { SimulatedClock fake_clock(1234); - Environment env = CreateEnvironment(&fake_clock); + Environment env = CreateTestEnvironment({.time = &fake_clock}); RtpPacketHistory history(env, RtpPacketHistory::PaddingMode::kRecentLargePacket); history.SetStorePacketsStatus(StorageMode::kStoreAndCull, 10); @@ -676,7 +676,7 @@ TEST(RtpPacketHistoryRecentLargePacketMode, GetPayloadPaddingPacketReturnsRecentPacketIfSizeNearMax) { SimulatedClock fake_clock(1234); - Environment env = CreateEnvironment(&fake_clock); + Environment env = CreateTestEnvironment({.time = &fake_clock}); RtpPacketHistory history(env, RtpPacketHistory::PaddingMode::kRecentLargePacket); history.SetStorePacketsStatus(StorageMode::kStoreAndCull, 10); @@ -698,7 +698,7 @@ TEST(RtpPacketHistoryRecentLargePacketMode, GetPayloadPaddingPacketReturnsLastPacketAfterLargeSequenceNumberGap) { SimulatedClock fake_clock(1234); - Environment env = CreateEnvironment(&fake_clock); + Environment env = CreateTestEnvironment({.time = &fake_clock}); RtpPacketHistory history(env, RtpPacketHistory::PaddingMode::kRecentLargePacket); history.SetStorePacketsStatus(StorageMode::kStoreAndCull, 10);
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc index ba5a175..39cd0c2 100644 --- a/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2_unittest.cc
@@ -22,7 +22,6 @@ #include "absl/strings/string_view.h" #include "api/call/transport.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_header_extension_id.h" #include "api/rtp_headers.h" #include "api/rtp_parameters.h" @@ -57,6 +56,7 @@ #include "rtc_base/buffer.h" #include "rtc_base/rate_limiter.h" #include "system_wrappers/include/ntp_time.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/near_matcher.h" @@ -282,8 +282,7 @@ protected: RtpRtcpImpl2Test() : time_controller_(Timestamp::Micros(133590000000000)), - env_(CreateEnvironment(time_controller_.GetClock(), - time_controller_.CreateTaskQueueFactory())), + env_(CreateTestEnvironment({.time = &time_controller_})), sender_(env_, /*is_sender=*/true), receiver_(env_, /*is_sender=*/false) {}
diff --git a/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc index 8fd6f44..5c4d4e5 100644 --- a/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc
@@ -17,7 +17,6 @@ #include "api/call/transport.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_header_extension_id.h" #include "api/rtp_headers.h" #include "api/units/timestamp.h" @@ -28,6 +27,7 @@ #include "modules/rtp_rtcp/source/rtp_rtcp_impl2.h" #include "system_wrappers/include/clock.h" #include "system_wrappers/include/ntp_time.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/run_loop.h" @@ -76,7 +76,7 @@ public: RtpSenderAudioTest() : fake_clock_(kStartTime), - env_(CreateEnvironment(&fake_clock_)), + env_(CreateTestEnvironment({.time = &fake_clock_})), rtp_module_(ModuleRtpRtcpImpl2::CreateSendModule( env_, {.audio = true,
diff --git a/modules/rtp_rtcp/source/rtp_sender_egress_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_egress_unittest.cc index 40bca50..68476ca 100644 --- a/modules/rtp_rtcp/source/rtp_sender_egress_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_egress_unittest.cc
@@ -20,7 +20,6 @@ #include "api/call/transport.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_header_extension_id.h" #include "api/transport/network_types.h" #include "api/units/data_size.h" @@ -37,6 +36,7 @@ #include "modules/rtp_rtcp/source/rtp_packet_to_send.h" #include "modules/rtp_rtcp/source/rtp_rtcp_interface.h" #include "rtc_base/checks.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/time_controller/simulated_time_controller.h" @@ -133,7 +133,7 @@ protected: RtpSenderEgressTest() : time_controller_(kStartTime), - env_(CreateEnvironment(time_controller_.GetClock())), + env_(CreateTestEnvironment({.time = &time_controller_})), transport_(&header_extensions_), packet_history_(env_, RtpPacketHistory::PaddingMode::kRecentLargePacket),
diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc index a8e3e8b..1c89d3d 100644 --- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -20,7 +20,6 @@ #include "absl/strings/string_view.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/rtp_header_extension_id.h" #include "api/rtp_packet_sender.h" #include "api/rtp_parameters.h" @@ -41,6 +40,7 @@ #include "modules/rtp_rtcp/source/rtp_sender_video.h" #include "modules/rtp_rtcp/source/video_fec_generator.h" #include "rtc_base/rate_limiter.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/time_controller/simulated_time_controller.h" @@ -109,7 +109,7 @@ protected: RtpSenderTest() : time_controller_(Timestamp::Millis(kStartTime)), - env_(CreateEnvironment(time_controller_.GetClock())), + env_(CreateTestEnvironment({.time = &time_controller_})), retransmission_rate_limiter_(&env_.clock(), 1000), flexfec_sender_(env_, 0,
diff --git a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc index 42998b8..7466255 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc
@@ -22,7 +22,6 @@ #include "absl/memory/memory.h" #include "api/call/transport.h" #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "api/field_trials_view.h" #include "api/frame_transformer_factory.h" #include "api/frame_transformer_interface.h" @@ -71,6 +70,7 @@ #include "rtc_base/rate_limiter.h" #include "system_wrappers/include/clock.h" #include "system_wrappers/include/ntp_time.h" +#include "test/create_test_environment.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/run_loop.h" @@ -191,7 +191,7 @@ public: explicit RtpSenderVideoTest(bool raw_packetization = false) : fake_clock_(kStartTime), - env_(CreateEnvironment(&fake_clock_)), + env_(CreateTestEnvironment({.time = &fake_clock_})), retransmission_rate_limiter_(&fake_clock_, 1000), rtp_module_(ModuleRtpRtcpImpl2::CreateSendModule( env_, @@ -1573,8 +1573,7 @@ public: RtpSenderVideoWithFrameTransformerTest() : time_controller_(kStartTime), - env_(CreateEnvironment(time_controller_.GetClock(), - time_controller_.GetTaskQueueFactory())), + env_(CreateTestEnvironment({.time = &time_controller_})), retransmission_rate_limiter_(time_controller_.GetClock(), 1000), rtp_module_(ModuleRtpRtcpImpl2::CreateSendModule( env_,
diff --git a/modules/rtp_rtcp/source/ulpfec_generator_unittest.cc b/modules/rtp_rtcp/source/ulpfec_generator_unittest.cc index cbaf916..40bbeba 100644 --- a/modules/rtp_rtcp/source/ulpfec_generator_unittest.cc +++ b/modules/rtp_rtcp/source/ulpfec_generator_unittest.cc
@@ -16,7 +16,6 @@ #include <vector> #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" #include "modules/include/module_fec_types.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "modules/rtp_rtcp/source/fec_test_helper.h" @@ -24,6 +23,7 @@ #include "modules/rtp_rtcp/source/rtp_packet_to_send.h" #include "rtc_base/copy_on_write_buffer.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gtest.h" namespace webrtc { @@ -55,10 +55,12 @@ class UlpfecGeneratorTest : public ::testing::Test { protected: UlpfecGeneratorTest() - : env_(CreateEnvironment(std::make_unique<SimulatedClock>(1))), + : clock_(1), + env_(CreateTestEnvironment({.time = &clock_})), ulpfec_generator_(env_, kRedPayloadType, kFecPayloadType), packet_generator_(kMediaSsrc) {} + SimulatedClock clock_; const Environment env_; UlpfecGenerator ulpfec_generator_; AugmentedPacketGenerator packet_generator_;
diff --git a/modules/video_coding/codecs/av1/libaom_av1_unittest.cc b/modules/video_coding/codecs/av1/libaom_av1_unittest.cc index 46859dc..b6f90e0 100644 --- a/modules/video_coding/codecs/av1/libaom_av1_unittest.cc +++ b/modules/video_coding/codecs/av1/libaom_av1_unittest.cc
@@ -20,8 +20,6 @@ #include <vector> #include "api/environment/environment.h" -#include "api/environment/environment_factory.h" -#include "api/field_trials.h" #include "api/make_ref_counted.h" #include "api/scoped_refptr.h" #include "api/test/mock_video_encoder.h" @@ -180,11 +178,10 @@ } TEST(LibaomAv1Test, EncodeDecodeWithSpeedController) { - EnvironmentFactory factory; - factory.Set(std::make_unique<FieldTrials>( - "WebRTC-EncoderSpeed/" - "dynamic_speed:true,av1_camera:high,av1_screenshare:low/")); - const Environment env = factory.Create(); + const Environment env = CreateTestEnvironment( + {.field_trials = + "WebRTC-EncoderSpeed/" + "dynamic_speed:true,av1_camera:high,av1_screenshare:low/"}); TestAv1Decoder decoder(env, /*decoder_id=*/0); std::unique_ptr<VideoEncoder> encoder = CreateLibaomAv1Encoder(env); @@ -213,11 +210,10 @@ } TEST(LibaomAv1Test, InitReleaseRepeatedly) { - EnvironmentFactory factory; - factory.Set(FieldTrials::Create( - "WebRTC-EncoderSpeed/" - "dynamic_speed:true,av1_camera:high,av1_screenshare:low/")); - const Environment env = factory.Create(); + const Environment env = CreateTestEnvironment( + {.field_trials = + "WebRTC-EncoderSpeed/" + "dynamic_speed:true,av1_camera:high,av1_screenshare:low/"}); std::unique_ptr<VideoEncoder> encoder = CreateLibaomAv1Encoder(env); VideoCodec codec_settings = DefaultCodecSettings();
diff --git a/modules/video_coding/codecs/av1/libaom_speed_config_factory_unittest.cc b/modules/video_coding/codecs/av1/libaom_speed_config_factory_unittest.cc index 3e9beee..589ff00 100644 --- a/modules/video_coding/codecs/av1/libaom_speed_config_factory_unittest.cc +++ b/modules/video_coding/codecs/av1/libaom_speed_config_factory_unittest.cc
@@ -20,6 +20,7 @@ #include "api/video_codecs/video_codec.h" #include "rtc_base/checks.h" #include "test/create_test_environment.h" +#include "test/create_test_field_trials.h" #include "test/gtest.h" namespace webrtc { @@ -39,7 +40,7 @@ // Test that the number of speed levels increases with complexity. TEST(LibaomSpeedConfigFactoryTest, NumLevelsIncreaseWithComplexity) { - FieldTrials empty_trial(""); + FieldTrials empty_trial = CreateTestFieldTrials(""); LibaomSpeedConfigFactory factory_low(VideoCodecComplexity::kComplexityLow, VideoCodecMode::kRealtimeVideo); EncoderSpeedController::Config config_low = @@ -74,11 +75,10 @@ // Test that speeds within each level are monotonic. TEST(LibaomSpeedConfigFactoryTest, SpeedsAreMonotonic) { - FieldTrials empty_trial(""); LibaomSpeedConfigFactory factory(VideoCodecComplexity::kComplexityMax, VideoCodecMode::kRealtimeVideo); EncoderSpeedController::Config config = - factory.GetSpeedConfig(1280, 720, 3, empty_trial); + factory.GetSpeedConfig(1280, 720, 3, CreateTestFieldTrials("")); for (const auto& level : config.speed_levels) { // Lower reference class index means more important, so speed should be @@ -100,11 +100,10 @@ // Test that keyframe and base layer speeds between levels are monotonic. TEST(LibaomSpeedConfigFactoryTest, KeyAndMainSpeedsIncreaseBetweenLevels) { - FieldTrials empty_trial(""); LibaomSpeedConfigFactory factory(VideoCodecComplexity::kComplexityMax, VideoCodecMode::kRealtimeVideo); EncoderSpeedController::Config config = - factory.GetSpeedConfig(1280, 720, 3, empty_trial); + factory.GetSpeedConfig(1280, 720, 3, CreateTestFieldTrials("")); for (size_t i = 0; i < config.speed_levels.size() - 1; ++i) { const auto& current_level = config.speed_levels[i]; @@ -141,9 +140,8 @@ const ResolutionParams& params = GetParam(); LibaomSpeedConfigFactory factory(VideoCodecComplexity::kComplexityMax, VideoCodecMode::kRealtimeVideo); - FieldTrials empty_trial(""); - EncoderSpeedController::Config config = - factory.GetSpeedConfig(params.width, params.height, 3, empty_trial); + EncoderSpeedController::Config config = factory.GetSpeedConfig( + params.width, params.height, 3, CreateTestFieldTrials("")); int expected_index = std::max(0, static_cast<int>(config.speed_levels.size()) - params.expected_start_index_offset); @@ -155,9 +153,8 @@ RTC_DCHECK_GT(num_temporal_layers, 0); RTC_DCHECK_LE(num_temporal_layers, 3); - FieldTrials empty_trial(""); - EncoderSpeedController::Config config = - factory.GetSpeedConfig(640, 360, num_temporal_layers, empty_trial); + EncoderSpeedController::Config config = factory.GetSpeedConfig( + 640, 360, num_temporal_layers, CreateTestFieldTrials("")); std::set<EncoderSpeedController::Config::SpeedLevel> unique_configs( config.speed_levels.begin(), config.speed_levels.end()); @@ -183,9 +180,9 @@ } TEST(LibaomSpeedConfigFactoryTest, PropagatesPsnrExperimentSettings) { - const std::string kFieldTrials = - "WebRTC-Video-CalculatePsnr/Enabled,sampling_interval:3000ms/"; - Environment env = CreateTestEnvironment({.field_trials = kFieldTrials}); + Environment env = CreateTestEnvironment( + {.field_trials = + "WebRTC-Video-CalculatePsnr/Enabled,sampling_interval:3000ms/"}); LibaomSpeedConfigFactory factory(VideoCodecComplexity::kComplexityMax, VideoCodecMode::kRealtimeVideo);
diff --git a/modules/video_coding/fec_controller_unittest.cc b/modules/video_coding/fec_controller_unittest.cc index 88579af..5585446 100644 --- a/modules/video_coding/fec_controller_unittest.cc +++ b/modules/video_coding/fec_controller_unittest.cc
@@ -13,10 +13,10 @@ #include <cstdint> #include <vector> -#include "api/environment/environment_factory.h" #include "modules/include/module_fec_types.h" #include "modules/video_coding/fec_controller_default.h" #include "system_wrappers/include/clock.h" +#include "test/create_test_environment.h" #include "test/gtest.h" namespace webrtc { @@ -51,7 +51,8 @@ // a special case (e.g. frame rate in media optimization). ProtectionBitrateCalculatorTest() : clock_(1000), - fec_controller_(CreateEnvironment(&clock_), &protection_callback_) {} + fec_controller_(CreateTestEnvironment({.time = &clock_}), + &protection_callback_) {} SimulatedClock clock_; ProtectionCallback protection_callback_;