Fixing flaky "TestExpireTime" test.
It failed any time the clock ticked in between getting "now" and calling
Generate.
R=pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1800833002 .
Cr-Commit-Position: refs/heads/master@{#12000}
diff --git a/webrtc/base/sslidentity_unittest.cc b/webrtc/base/sslidentity_unittest.cc
index 8e25fe9..e9e9f98 100644
--- a/webrtc/base/sslidentity_unittest.cc
+++ b/webrtc/base/sslidentity_unittest.cc
@@ -392,12 +392,16 @@
for (int i = 0; i < times; i++) {
// We limit the time to < 2^31 here, i.e., we stay before 2038, since else
// we hit time offset limitations in OpenSSL on some 32-bit systems.
- time_t now = time(NULL);
- time_t lifetime = rtc::CreateRandomId() % (0x80000000 - now);
+ time_t time_before_generation = time(nullptr);
+ time_t lifetime =
+ rtc::CreateRandomId() % (0x80000000 - time_before_generation);
rtc::KeyParams key_params = rtc::KeyParams::ECDSA(rtc::EC_NIST_P256);
SSLIdentity* identity =
rtc::SSLIdentity::Generate("", key_params, lifetime);
- EXPECT_EQ(now + lifetime,
+ time_t time_after_generation = time(nullptr);
+ EXPECT_LE(time_before_generation + lifetime,
+ identity->certificate().CertificateExpirationTime());
+ EXPECT_GE(time_after_generation + lifetime,
identity->certificate().CertificateExpirationTime());
delete identity;
}