Add propagation of test duration to PC framework user.
Add method to get real test execution time, where test execution time is time from call setup to call terminated. Bug: webrtc:10138 Change-Id: I7ae3995c0051ecb4fc796b895be1180c8aab77cf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134302 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Bjorn Mellem <mellem@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27822}
This commit is contained in:
@ -237,6 +237,13 @@ class PeerConnectionE2EQualityTestFixture {
|
|||||||
rtc::NetworkManager* network_manager,
|
rtc::NetworkManager* network_manager,
|
||||||
rtc::FunctionView<void(PeerConfigurer*)> configurer) = 0;
|
rtc::FunctionView<void(PeerConfigurer*)> configurer) = 0;
|
||||||
virtual void Run(RunParams run_params) = 0;
|
virtual void Run(RunParams run_params) = 0;
|
||||||
|
|
||||||
|
// Returns real test duration - the time of test execution measured during
|
||||||
|
// test. Client must call this method only after test is finished (after
|
||||||
|
// Run(...) method returned). Test execution time is time from end of call
|
||||||
|
// setup (offer/answer, ICE candidates exchange done and ICE connected) to
|
||||||
|
// start of call tear down (PeerConnection closed).
|
||||||
|
virtual TimeDelta GetRealTestDuration() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc_pc_e2e
|
} // namespace webrtc_pc_e2e
|
||||||
|
@ -122,6 +122,7 @@ TEST(PeerConnectionE2EQualityTestSmokeTest, MAYBE_RunWithEmulatedNetwork) {
|
|||||||
run_params.video_encoder_bitrate_multiplier = 1.1;
|
run_params.video_encoder_bitrate_multiplier = 1.1;
|
||||||
fixture->Run(run_params);
|
fixture->Run(run_params);
|
||||||
|
|
||||||
|
EXPECT_GE(fixture->GetRealTestDuration(), run_params.run_duration);
|
||||||
for (auto stream_label : video_analyzer_ptr->GetKnownVideoStreams()) {
|
for (auto stream_label : video_analyzer_ptr->GetKnownVideoStreams()) {
|
||||||
FrameCounters stream_conters =
|
FrameCounters stream_conters =
|
||||||
video_analyzer_ptr->GetPerStreamCounters().at(stream_label);
|
video_analyzer_ptr->GetPerStreamCounters().at(stream_label);
|
||||||
|
@ -369,6 +369,11 @@ void PeerConnectionE2EQualityTest::Run(
|
|||||||
RTC_FROM_HERE,
|
RTC_FROM_HERE,
|
||||||
rtc::Bind(&PeerConnectionE2EQualityTest::TearDownCallOnSignalingThread,
|
rtc::Bind(&PeerConnectionE2EQualityTest::TearDownCallOnSignalingThread,
|
||||||
this));
|
this));
|
||||||
|
Timestamp end_time = Now();
|
||||||
|
{
|
||||||
|
rtc::CritScope crit(&lock_);
|
||||||
|
real_test_duration_ = end_time - start_time_;
|
||||||
|
}
|
||||||
|
|
||||||
audio_quality_analyzer_->Stop();
|
audio_quality_analyzer_->Stop();
|
||||||
video_quality_analyzer_injection_helper_->Stop();
|
video_quality_analyzer_injection_helper_->Stop();
|
||||||
|
@ -179,6 +179,12 @@ class PeerConnectionE2EQualityTest
|
|||||||
rtc::FunctionView<void(PeerConfigurer*)> configurer) override;
|
rtc::FunctionView<void(PeerConfigurer*)> configurer) override;
|
||||||
void Run(RunParams run_params) override;
|
void Run(RunParams run_params) override;
|
||||||
|
|
||||||
|
TimeDelta GetRealTestDuration() const override {
|
||||||
|
rtc::CritScope crit(&lock_);
|
||||||
|
RTC_CHECK_NE(real_test_duration_, TimeDelta::Zero());
|
||||||
|
return real_test_duration_;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct ScheduledActivity {
|
struct ScheduledActivity {
|
||||||
ScheduledActivity(TimeDelta initial_delay_since_start,
|
ScheduledActivity(TimeDelta initial_delay_since_start,
|
||||||
@ -253,6 +259,7 @@ class PeerConnectionE2EQualityTest
|
|||||||
// Time when test call was started. Minus infinity means that call wasn't
|
// Time when test call was started. Minus infinity means that call wasn't
|
||||||
// started yet.
|
// started yet.
|
||||||
Timestamp start_time_ RTC_GUARDED_BY(lock_) = Timestamp::MinusInfinity();
|
Timestamp start_time_ RTC_GUARDED_BY(lock_) = Timestamp::MinusInfinity();
|
||||||
|
TimeDelta real_test_duration_ RTC_GUARDED_BY(lock_) = TimeDelta::Zero();
|
||||||
// Queue of activities that were added before test call was started.
|
// Queue of activities that were added before test call was started.
|
||||||
// Activities from this queue will be posted on the |task_queue_| after test
|
// Activities from this queue will be posted on the |task_queue_| after test
|
||||||
// call will be set up and then this queue will be unused.
|
// call will be set up and then this queue will be unused.
|
||||||
|
Reference in New Issue
Block a user