Run libcore tests
This commit is contained in:
parent
53e0833232
commit
e9d3569e08
@ -12,7 +12,6 @@ popd >/dev/null
|
||||
# Cleanup for previous run
|
||||
# v Clean target dir except for build scripts and incremental cache
|
||||
rm -r target/*/{debug,release}/{build,deps,examples,libsysroot*,native} || true
|
||||
rm -r sysroot_src/src/{libcore,libtest}/target/ || true
|
||||
rm Cargo.lock test_target/Cargo.lock 2>/dev/null || true
|
||||
rm -r sysroot/ 2>/dev/null || true
|
||||
|
||||
|
@ -24,7 +24,8 @@ git commit -m "Initial commit" -q
|
||||
for file in $(ls ../../patches/ | grep -v patcha); do
|
||||
echo "[GIT] apply" $file
|
||||
git apply ../../patches/$file
|
||||
git commit --no-gpg-sign -am "Patch $file"
|
||||
git add -A
|
||||
git commit --no-gpg-sign -m "Patch $file"
|
||||
done
|
||||
popd
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(is_sorted)]
|
||||
|
||||
use std::arch::x86_64::*;
|
||||
use std::io::Write;
|
||||
@ -76,6 +77,9 @@ fn main() {
|
||||
|
||||
let _a = 1u32 << 2u8;
|
||||
|
||||
let empty: [i32; 0] = [];
|
||||
assert!(empty.is_sorted());
|
||||
|
||||
println!("{:?}", unsafe { std::intrinsics::caller_location() });
|
||||
|
||||
unsafe {
|
||||
|
123
patches/0022-core-Disable-not-compiling-tests.patch
Normal file
123
patches/0022-core-Disable-not-compiling-tests.patch
Normal file
@ -0,0 +1,123 @@
|
||||
From f6befc4bb51d84f5f1cf35938a168c953d421350 Mon Sep 17 00:00:00 2001
|
||||
From: bjorn3 <bjorn3@users.noreply.github.com>
|
||||
Date: Sun, 24 Nov 2019 15:10:23 +0100
|
||||
Subject: [PATCH] [core] Disable not compiling tests
|
||||
|
||||
---
|
||||
src/libcore/tests/Cargo.toml | 8 ++++++++
|
||||
src/libcore/tests/num/flt2dec/mod.rs | 1 -
|
||||
src/libcore/tests/num/int_macros.rs | 2 ++
|
||||
src/libcore/tests/num/uint_macros.rs | 2 ++
|
||||
src/libcore/tests/ptr.rs | 2 ++
|
||||
src/libcore/tests/slice.rs | 2 ++
|
||||
6 files changed, 16 insertions(+), 1 deletion(-)
|
||||
create mode 100644 src/libcore/tests/Cargo.toml
|
||||
|
||||
diff --git a/src/libcore/tests/Cargo.toml b/src/libcore/tests/Cargo.toml
|
||||
new file mode 100644
|
||||
index 0000000..46fd999
|
||||
--- /dev/null
|
||||
+++ b/src/libcore/tests/Cargo.toml
|
||||
@@ -0,0 +1,8 @@
|
||||
+[package]
|
||||
+name = "core"
|
||||
+version = "0.0.0"
|
||||
+edition = "2018"
|
||||
+
|
||||
+[lib]
|
||||
+name = "coretests"
|
||||
+path = "lib.rs"
|
||||
diff --git a/src/libcore/tests/num/flt2dec/mod.rs b/src/libcore/tests/num/flt2dec/mod.rs
|
||||
index a35897e..f0bf645 100644
|
||||
--- a/src/libcore/tests/num/flt2dec/mod.rs
|
||||
+++ b/src/libcore/tests/num/flt2dec/mod.rs
|
||||
@@ -13,7 +13,6 @@ mod strategy {
|
||||
mod dragon;
|
||||
mod grisu;
|
||||
}
|
||||
-mod random;
|
||||
|
||||
pub fn decode_finite<T: DecodableFloat>(v: T) -> Decoded {
|
||||
match decode(v).1 {
|
||||
diff --git a/src/libcore/tests/num/int_macros.rs b/src/libcore/tests/num/int_macros.rs
|
||||
index 0475aeb..9558198 100644
|
||||
--- a/src/libcore/tests/num/int_macros.rs
|
||||
+++ b/src/libcore/tests/num/int_macros.rs
|
||||
@@ -88,6 +88,7 @@ mod tests {
|
||||
assert_eq!(C.count_zeros(), bits as u32 - 5);
|
||||
}
|
||||
|
||||
+ /*
|
||||
#[test]
|
||||
fn test_rotate() {
|
||||
assert_eq!(A.rotate_left(6).rotate_right(2).rotate_right(4), A);
|
||||
@@ -112,6 +113,7 @@ mod tests {
|
||||
assert_eq!(B.rotate_left(64), B);
|
||||
assert_eq!(C.rotate_left(64), C);
|
||||
}
|
||||
+ */
|
||||
|
||||
#[test]
|
||||
fn test_swap_bytes() {
|
||||
diff --git a/src/libcore/tests/num/uint_macros.rs b/src/libcore/tests/num/uint_macros.rs
|
||||
index 04ed14f..a6e372e 100644
|
||||
--- a/src/libcore/tests/num/uint_macros.rs
|
||||
+++ b/src/libcore/tests/num/uint_macros.rs
|
||||
@@ -52,6 +52,7 @@ mod tests {
|
||||
assert!(C.count_zeros() == bits as u32 - 5);
|
||||
}
|
||||
|
||||
+ /*
|
||||
#[test]
|
||||
fn test_rotate() {
|
||||
assert_eq!(A.rotate_left(6).rotate_right(2).rotate_right(4), A);
|
||||
@@ -76,6 +77,7 @@ mod tests {
|
||||
assert_eq!(B.rotate_left(64), B);
|
||||
assert_eq!(C.rotate_left(64), C);
|
||||
}
|
||||
+ */
|
||||
|
||||
#[test]
|
||||
fn test_swap_bytes() {
|
||||
diff --git a/src/libcore/tests/ptr.rs b/src/libcore/tests/ptr.rs
|
||||
index 1a6be3a..42dbd59 100644
|
||||
--- a/src/libcore/tests/ptr.rs
|
||||
+++ b/src/libcore/tests/ptr.rs
|
||||
@@ -250,6 +250,7 @@ fn test_unsized_nonnull() {
|
||||
assert!(ys == zs);
|
||||
}
|
||||
|
||||
+/*
|
||||
#[test]
|
||||
#[allow(warnings)]
|
||||
// Have a symbol for the test below. It doesn’t need to be an actual variadic function, match the
|
||||
@@ -289,6 +290,7 @@ fn write_unaligned_drop() {
|
||||
}
|
||||
DROPS.with(|d| assert_eq!(*d.borrow(), [0]));
|
||||
}
|
||||
+*/
|
||||
|
||||
#[test]
|
||||
#[cfg(not(miri))] // Miri does not compute a maximal `mid` for `align_offset`
|
||||
diff --git a/src/libcore/tests/slice.rs b/src/libcore/tests/slice.rs
|
||||
index 6609bc3..241b497 100644
|
||||
--- a/src/libcore/tests/slice.rs
|
||||
+++ b/src/libcore/tests/slice.rs
|
||||
@@ -1209,6 +1209,7 @@ fn brute_force_rotate_test_1() {
|
||||
}
|
||||
}
|
||||
|
||||
+/*
|
||||
#[test]
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
fn sort_unstable() {
|
||||
@@ -1394,6 +1395,7 @@ fn partition_at_index() {
|
||||
v.partition_at_index(0);
|
||||
assert!(v == [0xDEADBEEF]);
|
||||
}
|
||||
+*/
|
||||
|
||||
#[test]
|
||||
#[should_panic(expected = "index 0 greater than length of slice")]
|
||||
--
|
||||
2.21.0 (Apple Git-122)
|
183
patches/0023-core-Ignore-failing-tests.patch
Normal file
183
patches/0023-core-Ignore-failing-tests.patch
Normal file
@ -0,0 +1,183 @@
|
||||
From dd82e95c9de212524e14fc60155de1ae40156dfc Mon Sep 17 00:00:00 2001
|
||||
From: bjorn3 <bjorn3@users.noreply.github.com>
|
||||
Date: Sun, 24 Nov 2019 15:34:06 +0100
|
||||
Subject: [PATCH] [core] Ignore failing tests
|
||||
|
||||
---
|
||||
src/libcore/tests/iter.rs | 4 ++++
|
||||
src/libcore/tests/num/bignum.rs | 10 ++++++++++
|
||||
src/libcore/tests/num/mod.rs | 5 +++--
|
||||
src/libcore/tests/time.rs | 1 +
|
||||
4 files changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs
|
||||
index c9096b7..be37fcd 100644
|
||||
--- a/src/libcore/tests/iter.rs
|
||||
+++ b/src/libcore/tests/iter.rs
|
||||
@@ -342,6 +342,7 @@ fn test_iterator_step_by_nth() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
+#[ignore]
|
||||
fn test_iterator_step_by_nth_overflow() {
|
||||
#[cfg(target_pointer_width = "8")]
|
||||
type Bigger = u16;
|
||||
@@ -2184,6 +2185,7 @@ fn test_range_inclusive_folds() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
+#[ignore]
|
||||
fn test_range_size_hint() {
|
||||
use core::usize::MAX as UMAX;
|
||||
assert_eq!((0..0usize).size_hint(), (0, Some(0)));
|
||||
@@ -2210,6 +2212,7 @@ fn test_range_size_hint() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
+#[ignore]
|
||||
fn test_range_inclusive_size_hint() {
|
||||
use core::usize::MAX as UMAX;
|
||||
assert_eq!((1..=0usize).size_hint(), (0, Some(0)));
|
||||
@@ -2305,6 +2308,7 @@ fn test_repeat_with_take_collect() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
+#[ignore]
|
||||
fn test_successors() {
|
||||
let mut powers_of_10 = successors(Some(1_u16), |n| n.checked_mul(10));
|
||||
assert_eq!(powers_of_10.by_ref().collect::<Vec<_>>(), &[1, 10, 100, 1_000, 10_000]);
|
||||
diff --git a/src/libcore/tests/num/bignum.rs b/src/libcore/tests/num/bignum.rs
|
||||
index b9e15ec..32f6de8 100644
|
||||
--- a/src/libcore/tests/num/bignum.rs
|
||||
+++ b/src/libcore/tests/num/bignum.rs
|
||||
@@ -3,6 +3,7 @@ use core::num::bignum::tests::Big8x3 as Big;
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_from_u64_overflow() {
|
||||
Big::from_u64(0x1000000);
|
||||
}
|
||||
@@ -19,12 +20,14 @@ fn test_add() {
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_add_overflow_1() {
|
||||
Big::from_small(1).add(&Big::from_u64(0xffffff));
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_add_overflow_2() {
|
||||
Big::from_u64(0xffffff).add(&Big::from_small(1));
|
||||
}
|
||||
@@ -42,6 +45,7 @@ fn test_add_small() {
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_add_small_overflow() {
|
||||
Big::from_u64(0xffffff).add_small(1);
|
||||
}
|
||||
@@ -76,6 +80,7 @@ fn test_mul_small() {
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_mul_small_overflow() {
|
||||
Big::from_u64(0x800000).mul_small(2);
|
||||
}
|
||||
@@ -118,12 +123,14 @@ fn test_mul_pow5() {
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_mul_pow5_overflow_1() {
|
||||
Big::from_small(1).mul_pow5(12);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_mul_pow5_overflow_2() {
|
||||
Big::from_small(230).mul_pow5(8);
|
||||
}
|
||||
@@ -141,12 +148,14 @@ fn test_mul_digits() {
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_mul_digits_overflow_1() {
|
||||
Big::from_u64(0x800000).mul_digits(&[2]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_mul_digits_overflow_2() {
|
||||
Big::from_u64(0x1000).mul_digits(&[0, 0x10]);
|
||||
}
|
||||
@@ -206,6 +215,7 @@ fn test_get_bit() {
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
+#[ignore]
|
||||
fn test_get_bit_out_of_range() {
|
||||
Big::from_small(42).get_bit(24);
|
||||
}
|
||||
diff --git a/src/libcore/tests/num/mod.rs b/src/libcore/tests/num/mod.rs
|
||||
index a17c094..5bb11d2 100644
|
||||
--- a/src/libcore/tests/num/mod.rs
|
||||
+++ b/src/libcore/tests/num/mod.rs
|
||||
@@ -63,6 +63,7 @@ pub fn test_num<T>(ten: T, two: T) where
|
||||
}
|
||||
|
||||
#[test]
|
||||
+#[ignore]
|
||||
fn from_str_issue7588() {
|
||||
let u : Option<u8> = u8::from_str_radix("1000", 10).ok();
|
||||
assert_eq!(u, None);
|
||||
@@ -613,11 +614,9 @@ test_impl_try_from_signed_to_unsigned_err! { test_try_i64u32, i64, u32 }
|
||||
test_impl_try_from_signed_to_unsigned_err! { test_try_i128u8, i128, u8 }
|
||||
test_impl_try_from_signed_to_unsigned_err! { test_try_i128u16, i128, u16 }
|
||||
test_impl_try_from_signed_to_unsigned_err! { test_try_i128u32, i128, u32 }
|
||||
-test_impl_try_from_signed_to_unsigned_err! { test_try_i128u64, i128, u64 }
|
||||
|
||||
assume_usize_width! {
|
||||
test_impl_try_from_signed_to_unsigned_err! { test_try_isizeu8, isize, u8 }
|
||||
- test_impl_try_from_signed_to_unsigned_err! { test_try_i128usize, i128, usize }
|
||||
|
||||
cfg_block! {
|
||||
#[cfg(target_pointer_width = "16")] {
|
||||
@@ -640,6 +639,7 @@ macro_rules! test_float {
|
||||
($modname: ident, $fty: ty, $inf: expr, $neginf: expr, $nan: expr) => { mod $modname {
|
||||
// FIXME(nagisa): these tests should test for sign of -0.0
|
||||
#[test]
|
||||
+ #[ignore]
|
||||
fn min() {
|
||||
assert_eq!((0.0 as $fty).min(0.0), 0.0);
|
||||
assert_eq!((-0.0 as $fty).min(-0.0), -0.0);
|
||||
@@ -662,6 +662,7 @@ macro_rules! test_float {
|
||||
assert!(($nan as $fty).min($nan).is_nan());
|
||||
}
|
||||
#[test]
|
||||
+ #[ignore]
|
||||
fn max() {
|
||||
assert_eq!((0.0 as $fty).max(0.0), 0.0);
|
||||
assert_eq!((-0.0 as $fty).max(-0.0), -0.0);
|
||||
diff --git a/src/libcore/tests/time.rs b/src/libcore/tests/time.rs
|
||||
index fac70c4..9107a02 100644
|
||||
--- a/src/libcore/tests/time.rs
|
||||
+++ b/src/libcore/tests/time.rs
|
||||
@@ -127,6 +127,7 @@ fn mul() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
+#[ignore]
|
||||
fn checked_mul() {
|
||||
assert_eq!(Duration::new(0, 1).checked_mul(2), Some(Duration::new(0, 2)));
|
||||
assert_eq!(Duration::new(1, 1).checked_mul(3), Some(Duration::new(3, 3)));
|
||||
--
|
||||
2.21.0 (Apple Git-122)
|
5
test.sh
5
test.sh
@ -76,6 +76,11 @@ cp ./target/*/debug/main ./raytracer_cg_clif
|
||||
hyperfine --runs ${RUN_RUNS:-10} ./raytracer_cg_llvm ./raytracer_cg_clif
|
||||
popd
|
||||
|
||||
pushd build_sysroot/sysroot_src/src/libcore/tests
|
||||
rm -r sysroot_src/src/**/*/target/ || true
|
||||
cargo test
|
||||
popd
|
||||
|
||||
pushd regex
|
||||
echo "[TEST] rust-lang/regex example shootout-regex-dna"
|
||||
../cargo.sh clean
|
||||
|
Loading…
x
Reference in New Issue
Block a user