Files
poky/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
Yash Shinde 61ce087049 rust: Upgrade 1.89.0 -> 1.90.0
https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/

* Recent changes in rustc require 'target-c-int-width' to be an integer,
  not a string. This fixes type consistency when generating target specs.
  https://github.com/rust-lang/rust/pull/142352.

* Rebase existing patches with v1.90.0.

* Drop merged patches with rust v1.90.0.
  - backport-fix-test-string-merging.patch
  2d51acd2fb

* The "remote-test-server" bin is now generated in stage1-tools-bin dir
  rather than stage2. Update the test suite accordingly.

  The tests/{assembly/codegen} dirs are renamed to
  tests/{assembly,codegen}-llvm. Update the test suite and
  patches accordingly.
  https://github.com/rust-lang/rust/pull/144249/commits

* Use "//@ ignore-riscv64" tag for tests failing on riscv-64 instead of previous
  "only-<target_arch>" tags.

  Test results summary:

   rust v1.90.0
   +-----------+--------+---------+
   | Machine   | Passed | Ignored |
   +-----------+--------+---------+
   | arm-32    | 29,517 |  1,529  |
   | arm-64    | 29,608 |  1,471  |
   | x86-32    | 29,508 |  1,507  |
   | x86-64    | 29,903 |  1,275  |
   | riscv-64  | 29,584 |  1,494  |
   +-----------+--------+---------+

   Test results difference (1.90 - 1.89):
   +-----------+--------+---------+
   | Machine   | Passed | Ignored |
   +-----------+--------+---------+
   | arm-32    |  +278  |   +61   |
   | arm-64    |  +279  |   +59   |
   | x86-32    |  +277  |   +58   |
   | x86-64    |  +419  |   +50   |
   | riscv-64  |  +280  |   +58   |
   +-----------+--------+---------+

(From OE-Core rev: 86d09ec9cdbcea6e076ebac6e1243f9e20fb4378)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-09-25 11:09:05 +01:00

380 lines
14 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-llvm/dwarf-mixed-versions-lto.rs b/tests/assembly-llvm/dwarf-mixed-versions-lto.rs
index 828328df843..30753c56c76 100644
--- a/tests/assembly-llvm/dwarf-mixed-versions-lto.rs
+++ b/tests/assembly-llvm/dwarf-mixed-versions-lto.rs
@@ -8,6 +8,7 @@
//@ compile-flags: -C lto -g -Cdwarf-version=5
//@ assembly-output: emit-asm
//@ no-prefer-dynamic
+//@ ignore-riscv64
extern crate dwarf_mixed_versions_lto_aux;
diff --git a/tests/codegen-llvm/const-vector.rs b/tests/codegen-llvm/const-vector.rs
index f4307492341..617e31140e9 100644
--- a/tests/codegen-llvm/const-vector.rs
+++ b/tests/codegen-llvm/const-vector.rs
@@ -3,6 +3,7 @@
//@ [OPT0_S390X] only-s390x
//@ [OPT0] compile-flags: -C no-prepopulate-passes -Copt-level=0
//@ [OPT0_S390X] compile-flags: -C no-prepopulate-passes -Copt-level=0 -C target-cpu=z13
+//@ ignore-riscv64
// This test checks that constants of SIMD type are passed as immediate vectors.
// We ensure that both vector representations (struct with fields and struct wrapping array) work.
diff --git a/tests/codegen-llvm/enum/enum-aggregate.rs b/tests/codegen-llvm/enum/enum-aggregate.rs
index 0161e5f3fa1..773a06fabb4 100644
--- a/tests/codegen-llvm/enum/enum-aggregate.rs
+++ b/tests/codegen-llvm/enum/enum-aggregate.rs
@@ -1,6 +1,7 @@
//@ compile-flags: -Copt-level=0 -Cno-prepopulate-passes
//@ min-llvm-version: 19
//@ only-64bit
+//@ ignore-riscv64
#![crate_type = "lib"]
diff --git a/tests/codegen-llvm/enum/enum-match.rs b/tests/codegen-llvm/enum/enum-match.rs
index 57db44ec74e..1e2507f7c90 100644
--- a/tests/codegen-llvm/enum/enum-match.rs
+++ b/tests/codegen-llvm/enum/enum-match.rs
@@ -1,5 +1,6 @@
//@ compile-flags: -Copt-level=1
//@ only-64bit
+//@ ignore-riscv64
#![crate_type = "lib"]
#![feature(core_intrinsics)]
diff --git a/tests/codegen-llvm/enum/enum-transparent-extract.rs b/tests/codegen-llvm/enum/enum-transparent-extract.rs
index c5efb8d472b..e79b8916fc1 100644
--- a/tests/codegen-llvm/enum/enum-transparent-extract.rs
+++ b/tests/codegen-llvm/enum/enum-transparent-extract.rs
@@ -1,5 +1,6 @@
//@ compile-flags: -Copt-level=0
//@ only-64bit
+//@ ignore-riscv64
#![crate_type = "lib"]
diff --git a/tests/codegen-llvm/repeat-operand-zero-len.rs b/tests/codegen-llvm/repeat-operand-zero-len.rs
index b4cec42a07c..d450fead9a4 100644
--- a/tests/codegen-llvm/repeat-operand-zero-len.rs
+++ b/tests/codegen-llvm/repeat-operand-zero-len.rs
@@ -1,4 +1,5 @@
//@ compile-flags: -Copt-level=1 -Cno-prepopulate-passes
+//@ ignore-riscv64
// This test is here to hit the `Rvalue::Repeat` case in `codegen_rvalue_operand`.
// It only applies when the resulting array is a ZST, so the test is written in
diff --git a/tests/codegen-llvm/simd/extract-insert-dyn.rs b/tests/codegen-llvm/simd/extract-insert-dyn.rs
index 729f0145314..2b1d1beb86a 100644
--- a/tests/codegen-llvm/simd/extract-insert-dyn.rs
+++ b/tests/codegen-llvm/simd/extract-insert-dyn.rs
@@ -1,4 +1,5 @@
//@compile-flags: -C opt-level=3 -C no-prepopulate-passes
+//@ ignore-riscv64
#![feature(
core_intrinsics,
diff --git a/tests/codegen-llvm/transmute-scalar.rs b/tests/codegen-llvm/transmute-scalar.rs
index ce1b0558b2e..e8fda2cd566 100644
--- a/tests/codegen-llvm/transmute-scalar.rs
+++ b/tests/codegen-llvm/transmute-scalar.rs
@@ -1,5 +1,6 @@
//@ add-core-stubs
//@ compile-flags: -C opt-level=0 -C no-prepopulate-passes
+//@ ignore-riscv64
#![crate_type = "lib"]
#![feature(no_core, repr_simd, arm_target_feature, mips_target_feature, s390x_target_feature)]
diff --git a/tests/codegen-llvm/uninhabited-transparent-return-abi.rs b/tests/codegen-llvm/uninhabited-transparent-return-abi.rs
index face1577c3f..09e0846bad0 100644
--- a/tests/codegen-llvm/uninhabited-transparent-return-abi.rs
+++ b/tests/codegen-llvm/uninhabited-transparent-return-abi.rs
@@ -1,4 +1,5 @@
//@ compile-flags: -Copt-level=3
+//@ ignore-riscv64
// 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 551485469d3..575db924968 100644
--- a/tests/ui/abi/rust-cold-works-with-rustic-args.rs
+++ b/tests/ui/abi/rust-cold-works-with-rustic-args.rs
@@ -1,6 +1,7 @@
//@ add-core-stubs
//@ build-pass
//@ compile-flags: -Clink-dead-code=true
+//@ ignore-riscv64
// 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/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
diff --git a/library/std_detect/src/detect/os/linux/aarch64/tests.rs b/library/std_detect/src/detect/os/linux/aarch64/tests.rs
index a3562f2fd93..d4e52ed91be 100644
--- a/library/std_detect/src/detect/os/linux/aarch64/tests.rs
+++ b/library/std_detect/src/detect/os/linux/aarch64/tests.rs
@@ -27,6 +27,7 @@ fn baseline_hwcaps() -> AtHwcap {
}
#[test]
+ #[ignore]
fn linux_empty_hwcap2_aarch64() {
let file = concat!(
env!("CARGO_MANIFEST_DIR"),
@@ -39,6 +40,7 @@ fn linux_empty_hwcap2_aarch64() {
assert_eq!(AtHwcap::from(v), baseline_hwcaps());
}
#[test]
+ #[ignore]
fn linux_no_hwcap2_aarch64() {
let file = concat!(
env!("CARGO_MANIFEST_DIR"),
@@ -51,6 +53,7 @@ fn linux_no_hwcap2_aarch64() {
assert_eq!(AtHwcap::from(v), baseline_hwcaps());
}
#[test]
+ #[ignore]
fn linux_hwcap2_aarch64() {
let file =
concat!(env!("CARGO_MANIFEST_DIR"), "/src/detect/test_data/linux-hwcap2-aarch64.auxv");