Chromium Code Reviews| Index: webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc |
| diff --git a/webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc b/webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc |
| index 5ca885cd54e855e0e3985bb963fe3b8e8e4d262e..311896071d304d43f5a9781c7e386424e1f6deaa 100644 |
| --- a/webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc |
| +++ b/webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc |
| @@ -16,6 +16,7 @@ |
| #include "webrtc/base/buffer.h" |
| #include "webrtc/base/checks.h" |
| +#include "webrtc/base/fakeclock.h" |
| #include "webrtc/base/random.h" |
| #include "webrtc/call.h" |
| #include "webrtc/logging/rtc_event_log/rtc_event_log.h" |
| @@ -26,7 +27,6 @@ |
| #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h" |
| -#include "webrtc/system_wrappers/include/clock.h" |
| #include "webrtc/test/gtest.h" |
| #include "webrtc/test/test_suite.h" |
| #include "webrtc/test/testsupport/fileutils.h" |
| @@ -291,12 +291,16 @@ void LogSessionAndReadBack(size_t rtp_count, |
| // When log_dumper goes out of scope, it causes the log file to be flushed |
| // to disk. |
| { |
| - SimulatedClock fake_clock(prng.Rand<uint32_t>()); |
| - std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create(&fake_clock)); |
| + rtc::ScopedFakeClock fake_clock; |
| + fake_clock.SetTimeNanos(rtc::kNumNanosecsPerMicrosec * |
| + prng.Rand<uint32_t>()); |
| + std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
| log_dumper->LogVideoReceiveStreamConfig(receiver_config); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| log_dumper->LogVideoSendStreamConfig(sender_config); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
|
terelius
2016/11/18 13:44:28
Could we make a convenience function for this? A l
nisse-webrtc
2016/11/18 15:03:43
What precisely do you suggest to make this more co
terelius
2016/11/18 15:55:33
A function AdvanceTimeMicroseconds(int64_t) comes
nisse-webrtc
2016/11/21 07:58:02
Hmm. I can add AdvanceTimeMicros and SetTimeMicros
nisse-webrtc
2016/11/28 14:26:42
Done.
|
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| size_t rtcp_index = 1; |
| size_t playout_index = 1; |
| size_t bwe_loss_index = 1; |
| @@ -305,7 +309,8 @@ void LogSessionAndReadBack(size_t rtp_count, |
| (i % 2 == 0) ? kIncomingPacket : kOutgoingPacket, |
| (i % 3 == 0) ? MediaType::AUDIO : MediaType::VIDEO, |
| rtp_packets[i - 1].data(), rtp_packets[i - 1].size()); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| if (i * rtcp_count >= rtcp_index * rtp_count) { |
| log_dumper->LogRtcpPacket( |
| (rtcp_index % 2 == 0) ? kIncomingPacket : kOutgoingPacket, |
| @@ -313,23 +318,27 @@ void LogSessionAndReadBack(size_t rtp_count, |
| rtcp_packets[rtcp_index - 1].data(), |
| rtcp_packets[rtcp_index - 1].size()); |
| rtcp_index++; |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| } |
| if (i * playout_count >= playout_index * rtp_count) { |
| log_dumper->LogAudioPlayout(playout_ssrcs[playout_index - 1]); |
| playout_index++; |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| } |
| if (i * bwe_loss_count >= bwe_loss_index * rtp_count) { |
| log_dumper->LogBwePacketLossEvent( |
| bwe_loss_updates[bwe_loss_index - 1].first, |
| bwe_loss_updates[bwe_loss_index - 1].second, i); |
| bwe_loss_index++; |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| } |
| if (i == rtp_count / 2) { |
| log_dumper->StartLogging(temp_filename, 10000000); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime( |
| + rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| } |
| } |
| log_dumper->StopLogging(); |
| @@ -447,19 +456,20 @@ TEST(RtcEventLogTest, LogEventAndReadBack) { |
| test::OutputPath() + test_info->test_case_name() + test_info->name(); |
| // Add RTP, start logging, add RTCP and then stop logging |
| - SimulatedClock fake_clock(prng.Rand<uint32_t>()); |
| - std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create(&fake_clock)); |
| + rtc::ScopedFakeClock fake_clock; |
| + fake_clock.SetTimeNanos(rtc::kNumNanosecsPerMicrosec * prng.Rand<uint32_t>()); |
|
terelius
2016/11/18 13:44:28
Same thing here; could we add a convenience functi
nisse-webrtc
2016/11/18 15:03:43
Maybe a constructor taking a TimeDelta (or some in
|
| + std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
| log_dumper->LogRtpHeader(kIncomingPacket, MediaType::VIDEO, rtp_packet.data(), |
| rtp_packet.size()); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime(rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| log_dumper->StartLogging(temp_filename, 10000000); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime(rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| log_dumper->LogRtcpPacket(kOutgoingPacket, MediaType::VIDEO, |
| rtcp_packet.data(), rtcp_packet.size()); |
| - fake_clock.AdvanceTimeMicroseconds(prng.Rand(1, 1000)); |
| + fake_clock.AdvanceTime(rtc::TimeDelta::FromMicroseconds(prng.Rand(1, 1000))); |
| log_dumper->StopLogging(); |
| @@ -508,8 +518,10 @@ class ConfigReadWriteTest { |
| GenerateConfig(extensions_bitvector); |
| // Log a single config event and stop logging. |
| - SimulatedClock fake_clock(prng.Rand<uint32_t>()); |
| - std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create(&fake_clock)); |
| + rtc::ScopedFakeClock fake_clock; |
| + fake_clock.SetTimeNanos(rtc::kNumNanosecsPerMicrosec * |
| + prng.Rand<uint32_t>()); |
| + std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
| log_dumper->StartLogging(temp_filename, 10000000); |
| LogConfig(log_dumper.get()); |