Fix to libstd test
This commit is contained in:
parent
247b73939a
commit
797cb9526a
@ -1,6 +1,4 @@
|
|||||||
// run-pass
|
use core::num::Wrapping;
|
||||||
|
|
||||||
use std::num::Wrapping;
|
|
||||||
|
|
||||||
macro_rules! wrapping_operation {
|
macro_rules! wrapping_operation {
|
||||||
($result:expr, $lhs:ident $op:tt $rhs:expr) => {
|
($result:expr, $lhs:ident $op:tt $rhs:expr) => {
|
||||||
@ -29,6 +27,8 @@ macro_rules! wrapping_assignment {
|
|||||||
|
|
||||||
macro_rules! wrapping_test {
|
macro_rules! wrapping_test {
|
||||||
($type:ty, $min:expr, $max:expr) => {
|
($type:ty, $min:expr, $max:expr) => {
|
||||||
|
#[test]
|
||||||
|
fn wrapping_$type() {
|
||||||
let zero: Wrapping<$type> = Wrapping(0);
|
let zero: Wrapping<$type> = Wrapping(0);
|
||||||
let one: Wrapping<$type> = Wrapping(1);
|
let one: Wrapping<$type> = Wrapping(1);
|
||||||
let min: Wrapping<$type> = Wrapping($min);
|
let min: Wrapping<$type> = Wrapping($min);
|
||||||
@ -56,22 +56,24 @@ macro_rules! wrapping_test {
|
|||||||
wrapping_assignment!(zero, zero >>= 1usize);
|
wrapping_assignment!(zero, zero >>= 1usize);
|
||||||
wrapping_operation!(zero, -zero);
|
wrapping_operation!(zero, -zero);
|
||||||
wrapping_operation!(max, !min);
|
wrapping_operation!(max, !min);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
#[cfg(tests)]
|
||||||
wrapping_test!(i8, std::i8::MIN, std::i8::MAX);
|
mod tests {
|
||||||
wrapping_test!(i16, std::i16::MIN, std::i16::MAX);
|
wrapping_test!(i8, i8::MIN, i8::MAX);
|
||||||
wrapping_test!(i32, std::i32::MIN, std::i32::MAX);
|
wrapping_test!(i16, i16::MIN, i16::MAX);
|
||||||
wrapping_test!(i64, std::i64::MIN, std::i64::MAX);
|
wrapping_test!(i32, i32::MIN, i32::MAX);
|
||||||
|
wrapping_test!(i64, i64::MIN, i64::MAX);
|
||||||
#[cfg(not(target_os = "emscripten"))]
|
#[cfg(not(target_os = "emscripten"))]
|
||||||
wrapping_test!(i128, std::i128::MIN, std::i128::MAX);
|
wrapping_test!(i128, i128::MIN, i128::MAX);
|
||||||
wrapping_test!(isize, std::isize::MIN, std::isize::MAX);
|
wrapping_test!(isize, isize::MIN, isize::MAX);
|
||||||
wrapping_test!(u8, std::u8::MIN, std::u8::MAX);
|
wrapping_test!(u8, u8::MIN, u8::MAX);
|
||||||
wrapping_test!(u16, std::u16::MIN, std::u16::MAX);
|
wrapping_test!(u16, u16::MIN, u16::MAX);
|
||||||
wrapping_test!(u32, std::u32::MIN, std::u32::MAX);
|
wrapping_test!(u32, u32::MIN, u32::MAX);
|
||||||
wrapping_test!(u64, std::u64::MIN, std::u64::MAX);
|
wrapping_test!(u64, u64::MIN, u64::MAX);
|
||||||
#[cfg(not(target_os = "emscripten"))]
|
#[cfg(not(target_os = "emscripten"))]
|
||||||
wrapping_test!(u128, std::u128::MIN, std::u128::MAX);
|
wrapping_test!(u128, u128::MIN, u128::MAX);
|
||||||
wrapping_test!(usize, std::usize::MIN, std::usize::MAX);
|
wrapping_test!(usize, usize::MIN, usize::MAX);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user