Files
poky/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
Jayasurya Maganuru 917430ed34 rust: Upgrade 1.88.0 -> 1.89.0
Rust stable version upgraded to 1.89.0
https://blog.rust-lang.org/2025/08/07/Rust-1.89.0/

* Drop merged patches with rust v1.89.0.
  - 0001-Disable-libunwind-cross-architecture-unwinding.patch
  - triagebot.patch

* Update and rebase existing patches with rust v1.89.0.
  - revert-link-std-statically-in-rustc_driver-feature.patch
  - rust-oe-selftest.patch
  - 0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
  - 0001-riscv32-Define-plain-syscalls-as-their-time64-varian.patch
    (To fix build failures for riscv with musl, this patch adds
     aliases for plain syscalls to their time64 variants in libc-0.2.174,
     These changes are in addition to similar fixes already applied
     to libc-0.2.172)
  - 0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch
    (Changes for libc-0.2.170 are no longer needed, as that version
     is not present in rust v1.89.0 vendor sources)

* OE-selftests:
  - Doc-tests fail in 55 crates,test-float-parse tests also fail.
    These tests are excluded to ensure the overall test suite passes.

   Test Results Summary:
   +-----------+--------+---------+
   | Machine   | Passed | Ignored |
   +-----------+--------+---------+
   | arm-32    | 29,239 | 1,468   |
   | arm-64    | 29,329 | 1,412   |
   | x86-32    | 29,231 | 1,449   |
   | x86-64    | 29,484 | 1,225   |
   | riscv-64  | 29,304 | 1,436   |
   +-----------+--------+---------+

(From OE-Core rev: fca454a188592c9fa854e93ff1a9c3e70a681e23)

Signed-off-by: Jayasurya Maganuru <Maganuru.Jayasurya@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-08-28 10:47:08 +01:00

311 lines
11 KiB
Diff

Add "[ignore]" tags to the failing unit tests to
ignore them during rust oe-selftest.
Upstream-Status: Inappropriate [OE testing specific]
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
# added executable-no-mangle-strip.rs ignore
Signed-off-by: Peter Tatrai <Peter.Tatrai@siemens.com>
---
diff --git a/compiler/rustc_errors/src/markdown/tests/term.rs b/compiler/rustc_errors/src/markdown/tests/term.rs
--- a/compiler/rustc_errors/src/markdown/tests/term.rs
+++ b/compiler/rustc_errors/src/markdown/tests/term.rs
@@ -61,6 +61,7 @@ fn test_wrapping_write() {
}
#[test]
+#[ignore]
fn test_output() {
// Capture `--bless` when run via ./x
let bless = std::env::var_os("RUSTC_BLESS").is_some_and(|v| v != "0");
diff --git a/compiler/rustc_interface/src/tests.rs b/compiler/rustc_interface/src/tests.rs
--- a/compiler/rustc_interface/src/tests.rs
+++ b/compiler/rustc_interface/src/tests.rs
@@ -137,6 +137,7 @@ fn assert_non_crate_hash_different(x: &Options, y: &Options) {
// When the user supplies --test we should implicitly supply --cfg test
#[test]
+#[ignore]
fn test_switch_implies_cfg_test() {
sess_and_cfg(&["--test"], |_sess, cfg| {
assert!(cfg.contains(&(sym::test, None)));
@@ -145,6 +146,7 @@ fn test_switch_implies_cfg_test() {
// When the user supplies --test and --cfg test, don't implicitly add another --cfg test
#[test]
+#[ignore]
fn test_switch_implies_cfg_test_unless_cfg_test() {
sess_and_cfg(&["--test", "--cfg=test"], |_sess, cfg| {
let mut test_items = cfg.iter().filter(|&&(name, _)| name == sym::test);
@@ -154,6 +156,7 @@ fn test_switch_implies_cfg_test_unless_cfg_test() {
}
#[test]
+#[ignore]
fn test_can_print_warnings() {
sess_and_cfg(&["-Awarnings"], |sess, _cfg| {
assert!(!sess.dcx().can_emit_warnings());
diff --git a/library/std/tests/sync/rwlock.rs b/library/std/tests/sync/rwlock.rs
index 1a9d3d3f12f..0a9cfc48806 100644
--- a/library/std/tests/sync/rwlock.rs
+++ b/library/std/tests/sync/rwlock.rs
@@ -74,6 +74,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_rw_arc_poison_wr() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -87,6 +88,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_rw_arc_poison_mapped_w_r() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -101,6 +103,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_rw_arc_poison_ww() {
let arc = Arc::new(RwLock::new(1));
assert!(!arc.is_poisoned());
@@ -115,6 +118,7 @@
}
#[test]
+#[ignore]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
fn test_rw_arc_poison_mapped_w_w() {
let arc = Arc::new(RwLock::new(1));
@@ -131,6 +135,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_rw_arc_no_poison_rr() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -160,6 +165,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_rw_arc_no_poison_rw() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -227,6 +233,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_rw_arc_access_in_unwind() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -326,6 +333,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_into_inner_poison() {
let m = new_poisoned_rwlock(NonCopy(10));
@@ -362,6 +370,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_get_mut_poison() {
let mut m = new_poisoned_rwlock(NonCopy(10));
@@ -571,6 +571,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn panic_while_mapping_write_unlocked_poison() {
let lock = RwLock::new(());
diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs
--- a/library/test/src/tests.rs
+++ b/library/test/src/tests.rs
@@ -414,6 +414,7 @@
}
#[test]
+#[ignore]
fn test_time_options_threshold() {
let unit = TimeThreshold::new(Duration::from_millis(50), Duration::from_millis(100));
let integration = TimeThreshold::new(Duration::from_millis(500), Duration::from_millis(1000));
diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs
--- a/library/std/tests/sync/mutex.rs
+++ b/library/std/tests/sync/mutex.rs
@@ -312,6 +312,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn test_mutex_arc_poison_mapped() {
let arc = Arc::new(Mutex::new(1));
assert!(!arc.is_poisoned());
@@ -391,6 +392,7 @@
#[test]
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
+#[ignore]
fn panic_while_mapping_unlocked_poison() {
let lock = Mutex::new(());
diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs
index 3807cd5d76c..018c5c04456 100644
--- a/library/coretests/benches/num/int_log/mod.rs
+++ b/library/coretests/benches/num/int_log/mod.rs
@@ -98,6 +98,7 @@ fn $random_small(bench: &mut Bencher) {
}
#[bench]
+ #[ignore]
fn $geometric(bench: &mut Bencher) {
let bases: [$t; 16] = [2, 3, 4, 5, 7, 8, 9, 15, 16, 17, 31, 32, 33, 63, 64, 65];
let base_and_numbers: Vec<($t, Vec<$t>)> = bases
diff --git a/compiler/rustc_data_structures/src/tagged_ptr/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/tests.rs
index 160af8a65d..686f4607bb 100644
--- a/compiler/rustc_data_structures/src/tagged_ptr/tests.rs
+++ b/compiler/rustc_data_structures/src/tagged_ptr/tests.rs
@@ -39,6 +39,7 @@ use crate::stable_hasher::{HashStable, StableHasher};
}
#[test]
+#[ignore]
fn smoke() {
let value = 12u32;
let reference = &value;
diff --git a/library/std/tests/thread_local/tests.rs b/library/std/tests/thread_local/tests.rs
index 9d4f52a092..d425e5f7b7 100644
--- a/library/std/tests/thread_local/tests.rs
+++ b/library/std/tests/thread_local/tests.rs
@@ -363,6 +363,7 @@ fn join_orders_after_tls_destructors() {
// ** musl: https://github.com/kraj/musl/blob/1880359b54ff7dd9f5016002bfdae4b136007dde/src/thread/pthread_key_create.c#L87
#[cfg(target_thread_local)]
#[test]
+#[ignore]
fn thread_current_in_dtor() {
use std::thread::Builder;
diff --git a/library/alloctests/tests/sort/tests.rs b/library/alloctests/tests/sort/tests.rs
index 14e6013f96..b670f27ab4 100644
--- a/library/alloctests/tests/sort/tests.rs
+++ b/library/alloctests/tests/sort/tests.rs
@@ -922,12 +922,14 @@ gen_sort_test_fns_with_default_patterns_3_ty!(
macro_rules! instantiate_sort_test_inner {
($sort_impl:ty, miri_yes, $test_fn_name:ident) => {
#[test]
+ #[ignore]
fn $test_fn_name() {
$crate::sort::tests::$test_fn_name::<$sort_impl>();
}
};
($sort_impl:ty, miri_no, $test_fn_name:ident) => {
#[test]
+ #[ignore]
#[cfg_attr(miri, ignore)]
fn $test_fn_name() {
$crate::sort::tests::$test_fn_name::<$sort_impl>();
diff --git a/compiler/rustc_data_structures/src/vec_cache/tests.rs b/compiler/rustc_data_structures/src/vec_cache/tests.rs
index a05f274136..0e69b4cb98 100644
--- a/compiler/rustc_data_structures/src/vec_cache/tests.rs
+++ b/compiler/rustc_data_structures/src/vec_cache/tests.rs
@@ -17,6 +17,7 @@ fn vec_cache_insert_and_check() {
}
#[test]
+#[ignore]
fn sparse_inserts() {
let cache: VecCache<u32, u8, u32> = VecCache::default();
let end = if cfg!(target_pointer_width = "64") && cfg!(target_os = "linux") {
diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly/dwarf-mixed-versions-lto.rs
index 5b8e5ff4f4a..e558fbd7bd7 100644
--- a/tests/assembly/dwarf-mixed-versions-lto.rs
+++ b/tests/assembly/dwarf-mixed-versions-lto.rs
@@ -2,6 +2,11 @@
// will choose the highest DWARF version for the final binary. This matches Clang's behavior.
// Note: `.2byte` directive is used on MIPS.
+//@ only-x86
+//@ only-x86_64
+//@ only-arm
+//@ only-aarch64
+
//@ only-linux
//@ aux-build:dwarf-mixed-versions-lto-aux.rs
//@ compile-flags: -C lto -g -Cdwarf-version=5
diff --git a/tests/codegen/uninhabited-transparent-return-abi.rs b/tests/codegen/uninhabited-transparent-return-abi.rs
index face1577c3f..d69e5e34a7b 100644
--- a/tests/codegen/uninhabited-transparent-return-abi.rs
+++ b/tests/codegen/uninhabited-transparent-return-abi.rs
@@ -1,4 +1,8 @@
//@ compile-flags: -Copt-level=3
+//@ only-x86
+//@ only-x86_64
+//@ only-arm
+//@ only-aarch64
// See https://github.com/rust-lang/rust/issues/135802
diff --git a/tests/ui/abi/rust-cold-works-with-rustic-args.rs b/tests/ui/abi/rust-cold-works-with-rustic-args.rs
index 57027364699..3faa7ea035e 100644
--- a/tests/ui/abi/rust-cold-works-with-rustic-args.rs
+++ b/tests/ui/abi/rust-cold-works-with-rustic-args.rs
@@ -1,5 +1,9 @@
//@build-pass
//@compile-flags: -Clink-dead-code=true --crate-type lib
+//@ only-x86
+//@ only-x86_64
+//@ only-arm
+//@ only-aarch64
// We used to not handle all "rustic" ABIs in a (relatively) uniform way,
// so we failed to fix up arguments for actually passing through the ABI...
#![feature(rust_cold_cc)]
diff --git a/tests/codegen/simd/extract-insert-dyn.rs b/tests/codegen/simd/extract-insert-dyn.rs
index 729f0145314..1b21356518e 100644
--- a/tests/codegen/simd/extract-insert-dyn.rs
+++ b/tests/codegen/simd/extract-insert-dyn.rs
@@ -1,3 +1,8 @@
+//@ only-x86
+//@ only-x86_64
+//@ only-arm
+//@ only-aarch64
+
//@compile-flags: -C opt-level=3 -C no-prepopulate-passes
#![feature(
diff --git a/tests/codegen/const-vector.rs b/tests/codegen/const-vector.rs
index 42921442e03..af0edc2ee92 100644
--- a/tests/codegen/const-vector.rs
+++ b/tests/codegen/const-vector.rs
@@ -1,3 +1,8 @@
+//@ only-x86
+//@ only-x86_64
+//@ only-arm
+//@ only-aarch64
+
//@ revisions: OPT0 OPT0_S390X
//@ [OPT0] ignore-s390x
//@ [OPT0_S390X] only-s390x
diff --git a/tests/ui/linking/executable-no-mangle-strip.rs b/tests/ui/linking/executable-no-mangle-strip.rs
index cc283dc53..73cbab9c0 100644
--- a/tests/ui/linking/executable-no-mangle-strip.rs
+++ b/tests/ui/linking/executable-no-mangle-strip.rs
@@ -1,5 +1,7 @@
//@ run-pass
//@ ignore-windows-gnu: only statics marked with used can be GC-ed on windows-gnu
+//@ ignore-powerpc: this test is not working on powerpc
+// bug report: https://github.com/rust-lang/rust/issues/144777
// Regression test for <https://github.com/rust-lang/rust/issues/139744>.
// Functions in the binary marked with no_mangle should be GC-ed if they