From 247b73939a619ea4dcb2affbe1c285d20d93a0b8 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Tue, 15 Sep 2020 07:15:01 -0700 Subject: [PATCH 1/3] Move Wrapping ui tests into library --- .../core/tests/num/wrapping.rs | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/test/ui/wrapping-int-combinations.rs => library/core/tests/num/wrapping.rs (100%) diff --git a/src/test/ui/wrapping-int-combinations.rs b/library/core/tests/num/wrapping.rs similarity index 100% rename from src/test/ui/wrapping-int-combinations.rs rename to library/core/tests/num/wrapping.rs From 797cb9526a627c37b9bb9f6be6d3b54789b67c26 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Tue, 15 Sep 2020 07:24:07 -0700 Subject: [PATCH 2/3] Fix to libstd test --- library/core/tests/num/wrapping.rs | 86 +++++++++++++++--------------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/library/core/tests/num/wrapping.rs b/library/core/tests/num/wrapping.rs index f0bc479ee0f..e50bb6f670f 100644 --- a/library/core/tests/num/wrapping.rs +++ b/library/core/tests/num/wrapping.rs @@ -1,6 +1,4 @@ -// run-pass - -use std::num::Wrapping; +use core::num::Wrapping; macro_rules! wrapping_operation { ($result:expr, $lhs:ident $op:tt $rhs:expr) => { @@ -29,49 +27,53 @@ macro_rules! wrapping_assignment { macro_rules! wrapping_test { ($type:ty, $min:expr, $max:expr) => { - let zero: Wrapping<$type> = Wrapping(0); - let one: Wrapping<$type> = Wrapping(1); - let min: Wrapping<$type> = Wrapping($min); - let max: Wrapping<$type> = Wrapping($max); + #[test] + fn wrapping_$type() { + let zero: Wrapping<$type> = Wrapping(0); + let one: Wrapping<$type> = Wrapping(1); + let min: Wrapping<$type> = Wrapping($min); + let max: Wrapping<$type> = Wrapping($max); - wrapping_operation!(min, max + one); - wrapping_assignment!(min, max += one); - wrapping_operation!(max, min - one); - wrapping_assignment!(max, min -= one); - wrapping_operation!(max, max * one); - wrapping_assignment!(max, max *= one); - wrapping_operation!(max, max / one); - wrapping_assignment!(max, max /= one); - wrapping_operation!(zero, max % one); - wrapping_assignment!(zero, max %= one); - wrapping_operation!(zero, zero & max); - wrapping_assignment!(zero, zero &= max); - wrapping_operation!(max, zero | max); - wrapping_assignment!(max, zero |= max); - wrapping_operation!(zero, max ^ max); - wrapping_assignment!(zero, max ^= max); - wrapping_operation!(zero, zero << 1usize); - wrapping_assignment!(zero, zero <<= 1usize); - wrapping_operation!(zero, zero >> 1usize); - wrapping_assignment!(zero, zero >>= 1usize); - wrapping_operation!(zero, -zero); - wrapping_operation!(max, !min); + wrapping_operation!(min, max + one); + wrapping_assignment!(min, max += one); + wrapping_operation!(max, min - one); + wrapping_assignment!(max, min -= one); + wrapping_operation!(max, max * one); + wrapping_assignment!(max, max *= one); + wrapping_operation!(max, max / one); + wrapping_assignment!(max, max /= one); + wrapping_operation!(zero, max % one); + wrapping_assignment!(zero, max %= one); + wrapping_operation!(zero, zero & max); + wrapping_assignment!(zero, zero &= max); + wrapping_operation!(max, zero | max); + wrapping_assignment!(max, zero |= max); + wrapping_operation!(zero, max ^ max); + wrapping_assignment!(zero, max ^= max); + wrapping_operation!(zero, zero << 1usize); + wrapping_assignment!(zero, zero <<= 1usize); + wrapping_operation!(zero, zero >> 1usize); + wrapping_assignment!(zero, zero >>= 1usize); + wrapping_operation!(zero, -zero); + wrapping_operation!(max, !min); + } }; } -fn main() { - wrapping_test!(i8, std::i8::MIN, std::i8::MAX); - wrapping_test!(i16, std::i16::MIN, std::i16::MAX); - wrapping_test!(i32, std::i32::MIN, std::i32::MAX); - wrapping_test!(i64, std::i64::MIN, std::i64::MAX); +#[cfg(tests)] +mod tests { + wrapping_test!(i8, i8::MIN, i8::MAX); + wrapping_test!(i16, i16::MIN, i16::MAX); + wrapping_test!(i32, i32::MIN, i32::MAX); + wrapping_test!(i64, i64::MIN, i64::MAX); #[cfg(not(target_os = "emscripten"))] - wrapping_test!(i128, std::i128::MIN, std::i128::MAX); - wrapping_test!(isize, std::isize::MIN, std::isize::MAX); - wrapping_test!(u8, std::u8::MIN, std::u8::MAX); - wrapping_test!(u16, std::u16::MIN, std::u16::MAX); - wrapping_test!(u32, std::u32::MIN, std::u32::MAX); - wrapping_test!(u64, std::u64::MIN, std::u64::MAX); + wrapping_test!(i128, i128::MIN, i128::MAX); + wrapping_test!(isize, isize::MIN, isize::MAX); + wrapping_test!(u8, u8::MIN, u8::MAX); + wrapping_test!(u16, u16::MIN, u16::MAX); + wrapping_test!(u32, u32::MIN, u32::MAX); + wrapping_test!(u64, u64::MIN, u64::MAX); #[cfg(not(target_os = "emscripten"))] - wrapping_test!(u128, std::u128::MIN, std::u128::MAX); - wrapping_test!(usize, std::usize::MIN, std::usize::MAX); + wrapping_test!(u128, u128::MIN, u128::MAX); + wrapping_test!(usize, usize::MIN, usize::MAX); } From 4e973966b95e5157754f91216456a3c37a1472b2 Mon Sep 17 00:00:00 2001 From: Jubilee Young Date: Fri, 2 Oct 2020 11:40:57 -0700 Subject: [PATCH 3/3] Remove unnecessary mod-cfg --- library/core/tests/num/wrapping.rs | 31 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/library/core/tests/num/wrapping.rs b/library/core/tests/num/wrapping.rs index e50bb6f670f..5d4ecb2669a 100644 --- a/library/core/tests/num/wrapping.rs +++ b/library/core/tests/num/wrapping.rs @@ -60,20 +60,17 @@ macro_rules! wrapping_test { }; } -#[cfg(tests)] -mod tests { - wrapping_test!(i8, i8::MIN, i8::MAX); - wrapping_test!(i16, i16::MIN, i16::MAX); - wrapping_test!(i32, i32::MIN, i32::MAX); - wrapping_test!(i64, i64::MIN, i64::MAX); - #[cfg(not(target_os = "emscripten"))] - wrapping_test!(i128, i128::MIN, i128::MAX); - wrapping_test!(isize, isize::MIN, isize::MAX); - wrapping_test!(u8, u8::MIN, u8::MAX); - wrapping_test!(u16, u16::MIN, u16::MAX); - wrapping_test!(u32, u32::MIN, u32::MAX); - wrapping_test!(u64, u64::MIN, u64::MAX); - #[cfg(not(target_os = "emscripten"))] - wrapping_test!(u128, u128::MIN, u128::MAX); - wrapping_test!(usize, usize::MIN, usize::MAX); -} +wrapping_test!(i8, i8::MIN, i8::MAX); +wrapping_test!(i16, i16::MIN, i16::MAX); +wrapping_test!(i32, i32::MIN, i32::MAX); +wrapping_test!(i64, i64::MIN, i64::MAX); +#[cfg(not(target_os = "emscripten"))] +wrapping_test!(i128, i128::MIN, i128::MAX); +wrapping_test!(isize, isize::MIN, isize::MAX); +wrapping_test!(u8, u8::MIN, u8::MAX); +wrapping_test!(u16, u16::MIN, u16::MAX); +wrapping_test!(u32, u32::MIN, u32::MAX); +wrapping_test!(u64, u64::MIN, u64::MAX); +#[cfg(not(target_os = "emscripten"))] +wrapping_test!(u128, u128::MIN, u128::MAX); +wrapping_test!(usize, usize::MIN, usize::MAX);