Adds fake clock unit test.
Also removing unused ScopedRealClock. Bug: webrtc:10365 Change-Id: I3cd95df894cba9bf4ee703d979f476e2c526bf35 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128860 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27425}
This commit is contained in:
committed by
Commit Bot
parent
27d5ad074c
commit
7d6a259baa
@ -1359,6 +1359,7 @@ if (rtc_include_tests) {
|
||||
"callback_unittest.cc",
|
||||
"crc32_unittest.cc",
|
||||
"data_rate_limiter_unittest.cc",
|
||||
"fake_clock_unittest.cc",
|
||||
"helpers_unittest.cc",
|
||||
"ip_address_unittest.cc",
|
||||
"memory_usage_unittest.cc",
|
||||
|
||||
@ -62,16 +62,6 @@ class ScopedFakeClock : public FakeClock {
|
||||
ClockInterface* prev_clock_;
|
||||
};
|
||||
|
||||
// Helper class to "undo" the fake clock temporarily.
|
||||
class ScopedRealClock {
|
||||
public:
|
||||
ScopedRealClock();
|
||||
~ScopedRealClock();
|
||||
|
||||
private:
|
||||
ClockInterface* prev_clock_;
|
||||
};
|
||||
|
||||
} // namespace rtc
|
||||
|
||||
#endif // RTC_BASE_FAKE_CLOCK_H_
|
||||
|
||||
37
rtc_base/fake_clock_unittest.cc
Normal file
37
rtc_base/fake_clock_unittest.cc
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2019 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.
|
||||
*/
|
||||
|
||||
#include "test/gtest.h"
|
||||
|
||||
#include "rtc_base/fake_clock.h"
|
||||
|
||||
namespace rtc {
|
||||
TEST(ScopedFakeClockTest, OverridesGlobalClock) {
|
||||
const int64_t kFixedTimeUs = 100000;
|
||||
int64_t real_time_us = rtc::TimeMicros();
|
||||
EXPECT_NE(real_time_us, 0);
|
||||
{
|
||||
ScopedFakeClock scoped;
|
||||
EXPECT_EQ(rtc::TimeMicros(), 0);
|
||||
|
||||
scoped.AdvanceTimeMicros(1000);
|
||||
EXPECT_EQ(rtc::TimeMicros(), 1000);
|
||||
|
||||
scoped.SetTimeMicros(kFixedTimeUs);
|
||||
EXPECT_EQ(rtc::TimeMicros(), kFixedTimeUs);
|
||||
|
||||
scoped.AdvanceTimeMicros(1000);
|
||||
EXPECT_EQ(rtc::TimeMicros(), kFixedTimeUs + 1000);
|
||||
}
|
||||
|
||||
EXPECT_NE(rtc::TimeMicros(), kFixedTimeUs + 1000);
|
||||
EXPECT_GE(rtc::TimeMicros(), real_time_us);
|
||||
}
|
||||
} // namespace rtc
|
||||
Reference in New Issue
Block a user