Skip to content

Commit

Permalink
Rollup merge of rust-lang#59147 - jethrogb:jb/time-tests, r=sfackler
Browse files Browse the repository at this point in the history
Make std time tests more robust for platform differences

Previously, `time::tests::since_epoch` and `time::tests::system_time_math` would fail if the platform represents a SystemTime as unix epoch + `u64` nanoseconds.

r? @sfackler
  • Loading branch information
kennytm committed Mar 16, 2019
2 parents bbe5f3d + adbd0a6 commit d84e063
Showing 1 changed file with 2 additions and 9 deletions.
11 changes: 2 additions & 9 deletions src/libstd/time.rs
Original file line number Diff line number Diff line change
Expand Up @@ -712,13 +712,6 @@ mod tests {
assert_almost_eq!(a - second + second, a);
assert_almost_eq!(a.checked_sub(second).unwrap().checked_add(second).unwrap(), a);

// A difference of 80 and 800 years cannot fit inside a 32-bit time_t
if !(cfg!(unix) && crate::mem::size_of::<libc::time_t>() <= 4) {
let eighty_years = second * 60 * 60 * 24 * 365 * 80;
assert_almost_eq!(a - eighty_years + eighty_years, a);
assert_almost_eq!(a - (eighty_years * 10) + (eighty_years * 10), a);
}

let one_second_from_epoch = UNIX_EPOCH + Duration::new(1, 0);
let one_second_from_epoch2 = UNIX_EPOCH + Duration::new(0, 500_000_000)
+ Duration::new(0, 500_000_000);
Expand Down Expand Up @@ -747,8 +740,8 @@ mod tests {
#[test]
fn since_epoch() {
let ts = SystemTime::now();
let a = ts.duration_since(UNIX_EPOCH).unwrap();
let b = ts.duration_since(UNIX_EPOCH - Duration::new(1, 0)).unwrap();
let a = ts.duration_since(UNIX_EPOCH + Duration::new(1, 0)).unwrap();
let b = ts.duration_since(UNIX_EPOCH).unwrap();
assert!(b > a);
assert_eq!(b - a, Duration::new(1, 0));

Expand Down

0 comments on commit d84e063

Please sign in to comment.