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",
|
"callback_unittest.cc",
|
||||||
"crc32_unittest.cc",
|
"crc32_unittest.cc",
|
||||||
"data_rate_limiter_unittest.cc",
|
"data_rate_limiter_unittest.cc",
|
||||||
|
"fake_clock_unittest.cc",
|
||||||
"helpers_unittest.cc",
|
"helpers_unittest.cc",
|
||||||
"ip_address_unittest.cc",
|
"ip_address_unittest.cc",
|
||||||
"memory_usage_unittest.cc",
|
"memory_usage_unittest.cc",
|
||||||
|
|||||||
@ -62,16 +62,6 @@ class ScopedFakeClock : public FakeClock {
|
|||||||
ClockInterface* prev_clock_;
|
ClockInterface* prev_clock_;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper class to "undo" the fake clock temporarily.
|
|
||||||
class ScopedRealClock {
|
|
||||||
public:
|
|
||||||
ScopedRealClock();
|
|
||||||
~ScopedRealClock();
|
|
||||||
|
|
||||||
private:
|
|
||||||
ClockInterface* prev_clock_;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace rtc
|
} // namespace rtc
|
||||||
|
|
||||||
#endif // RTC_BASE_FAKE_CLOCK_H_
|
#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