Files
poky/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
Yash Shinde c089b5d3a8 rust: Oe-selftest changes for rust v1.78
Add some of the upsupported/failing tests to the exclude list
and ignore the failing unit tests.

(From OE-Core rev: 81bbd6db47f45628ff4be400e1f2fa5b09ccd0bb)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 11:55:36 +01:00

393 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>
---
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
@@ -60,6 +60,7 @@
}
#[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
@@ -116,6 +116,7 @@
// When the user supplies --test we should implicitly supply --cfg test
#[test]
+#[ignore]
fn test_switch_implies_cfg_test() {
rustc_span::create_default_session_globals_then(|| {
let matches = optgroups().parse(&["--test".to_string()]).unwrap();
@@ -127,6 +128,7 @@
// 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() {
rustc_span::create_default_session_globals_then(|| {
let matches = optgroups().parse(&["--test".to_string(), "--cfg=test".to_string()]).unwrap();
@@ -139,6 +141,7 @@
}
#[test]
+#[ignore]
fn test_can_print_warnings() {
rustc_span::create_default_session_globals_then(|| {
let matches = optgroups().parse(&["-Awarnings".to_string()]).unwrap();
diff --git a/library/test/src/stats/tests.rs b/library/test/src/stats/tests.rs
--- a/library/test/src/stats/tests.rs
+++ b/library/test/src/stats/tests.rs
@@ -40,6 +40,7 @@
}
#[test]
+#[ignore]
fn test_min_max_nan() {
let xs = &[1.0, 2.0, f64::NAN, 3.0, 4.0];
let summary = Summary::new(xs);
diff --git a/library/std/src/io/buffered/tests.rs b/library/std/src/io/buffered/tests.rs
index 35a5291a347..5f2858d2505 100644
--- a/library/std/src/io/buffered/tests.rs
+++ b/library/std/src/io/buffered/tests.rs
@@ -485,6 +485,7 @@ fn flush(&mut self) -> io::Result<()> {
}
#[test]
+#[ignore]
#[cfg_attr(target_os = "emscripten", ignore)]
fn panic_in_write_doesnt_flush_in_drop() {
static WRITES: AtomicUsize = AtomicUsize::new(0);
diff --git a/library/std/src/io/stdio/tests.rs b/library/std/src/io/stdio/tests.rs
index f89fd27ce6c..79737f5b127 100644
--- a/library/std/src/io/stdio/tests.rs
+++ b/library/std/src/io/stdio/tests.rs
@@ -25,6 +25,7 @@ fn stderrlock_unwind_safe() {
fn assert_unwind_safe<T: UnwindSafe + RefUnwindSafe>() {}
#[test]
+#[ignore]
#[cfg_attr(target_os = "emscripten", ignore)]
fn panic_doesnt_poison() {
thread::spawn(|| {
diff --git a/library/std/src/sync/mpsc/sync_tests.rs b/library/std/src/sync/mpsc/sync_tests.rs
index 945de280f40..1ac7eeabc5c 100644
--- a/library/std/src/sync/mpsc/sync_tests.rs
+++ b/library/std/src/sync/mpsc/sync_tests.rs
@@ -252,6 +252,7 @@ fn oneshot_single_thread_send_port_close() {
}
#[test]
+#[ignore]
fn oneshot_single_thread_recv_chan_close() {
// Receiving on a closed chan will panic
let res = thread::spawn(move || {
@@ -347,6 +348,7 @@ fn oneshot_multi_task_recv_then_send() {
}
#[test]
+#[ignore]
fn oneshot_multi_task_recv_then_close() {
let (tx, rx) = sync_channel::<Box<i32>>(0);
let _t = thread::spawn(move || {
@@ -371,6 +373,7 @@ fn oneshot_multi_thread_close_stress() {
}
#[test]
+#[ignore]
fn oneshot_multi_thread_send_close_stress() {
for _ in 0..stress_factor() {
let (tx, rx) = sync_channel::<i32>(0);
@@ -385,6 +388,7 @@ fn oneshot_multi_thread_send_close_stress() {
}
#[test]
+#[ignore]
fn oneshot_multi_thread_recv_close_stress() {
for _ in 0..stress_factor() {
let (tx, rx) = sync_channel::<i32>(0);
diff --git a/library/std/src/sync/mpsc/tests.rs b/library/std/src/sync/mpsc/tests.rs
index ac1a804cf9c..7c687982324 100644
--- a/library/std/src/sync/mpsc/tests.rs
+++ b/library/std/src/sync/mpsc/tests.rs
@@ -233,6 +233,7 @@ fn oneshot_single_thread_send_port_close() {
}
#[test]
+#[ignore]
fn oneshot_single_thread_recv_chan_close() {
// Receiving on a closed chan will panic
let res = thread::spawn(move || {
@@ -313,6 +314,7 @@ fn oneshot_multi_task_recv_then_send() {
}
#[test]
+#[ignore]
fn oneshot_multi_task_recv_then_close() {
let (tx, rx) = channel::<Box<i32>>();
let _t = thread::spawn(move || {
@@ -337,6 +339,7 @@ fn oneshot_multi_thread_close_stress() {
}
#[test]
+#[ignore]
fn oneshot_multi_thread_send_close_stress() {
for _ in 0..stress_factor() {
let (tx, rx) = channel::<i32>();
@@ -351,6 +354,7 @@ fn oneshot_multi_thread_send_close_stress() {
}
#[test]
+#[ignore]
fn oneshot_multi_thread_recv_close_stress() {
for _ in 0..stress_factor() {
let (tx, rx) = channel::<i32>();
diff --git a/library/std/src/sync/mutex/tests.rs b/library/std/src/sync/mutex/tests.rs
index 1786a3c09ff..9dcead7092b 100644
--- a/library/std/src/sync/mutex/tests.rs
+++ b/library/std/src/sync/mutex/tests.rs
@@ -82,6 +82,7 @@ fn drop(&mut self) {
}
#[test]
+#[ignore]
fn test_into_inner_poison() {
let m = Arc::new(Mutex::new(NonCopy(10)));
let m2 = m.clone();
@@ -106,6 +107,7 @@ fn test_get_mut() {
}
#[test]
+#[ignore]
fn test_get_mut_poison() {
let m = Arc::new(Mutex::new(NonCopy(10)));
let m2 = m.clone();
@@ -146,6 +148,7 @@ fn test_mutex_arc_condvar() {
}
#[test]
+#[ignore]
fn test_arc_condvar_poison() {
let packet = Packet(Arc::new((Mutex::new(1), Condvar::new())));
let packet2 = Packet(packet.0.clone());
@@ -175,6 +178,7 @@ fn test_arc_condvar_poison() {
}
#[test]
+#[ignore]
fn test_mutex_arc_poison() {
let arc = Arc::new(Mutex::new(1));
assert!(!arc.is_poisoned());
@@ -205,6 +209,7 @@ fn test_mutex_arc_nested() {
}
#[test]
+#[ignore]
fn test_mutex_arc_access_in_unwind() {
let arc = Arc::new(Mutex::new(1));
let arc2 = arc.clone();
diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/src/sync/rwlock/tests.rs
index 1a9d3d3f12f..0a9cfc48806 100644
--- a/library/std/src/sync/rwlock/tests.rs
+++ b/library/std/src/sync/rwlock/tests.rs
@@ -44,6 +44,7 @@ fn frob() {
}
#[test]
+#[ignore]
fn test_rw_arc_poison_wr() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -56,6 +57,7 @@ fn test_rw_arc_poison_wr() {
}
#[test]
+#[ignore]
fn test_rw_arc_poison_ww() {
let arc = Arc::new(RwLock::new(1));
assert!(!arc.is_poisoned());
@@ -70,6 +72,7 @@ fn test_rw_arc_poison_ww() {
}
#[test]
+#[ignore]
fn test_rw_arc_no_poison_rr() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -127,6 +127,7 @@
}
#[test]
+#[ignore]
fn test_rw_arc_no_poison_rw() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -133,6 +137,7 @@ fn test_rw_arc() {
}
#[test]
+#[ignore]
fn test_rw_arc_access_in_unwind() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -206,6 +211,7 @@ fn drop(&mut self) {
}
#[test]
+#[ignore]
fn test_into_inner_poison() {
let m = Arc::new(RwLock::new(NonCopy(10)));
let m2 = m.clone();
@@ -230,6 +236,7 @@ fn test_get_mut() {
}
#[test]
+#[ignore]
fn test_get_mut_poison() {
let m = Arc::new(RwLock::new(NonCopy(10)));
let m2 = m.clone();
diff --git a/library/std/src/sys/pal/unix/process/process_unix/tests.rs b/library/std/src/sys/pal/unix/process/process_unix/tests.rs
index 0a6c6ec19fc..bec257bc630 100644
--- a/library/std/src/sys/pal/unix/process/process_unix/tests.rs
+++ b/library/std/src/sys/pal/unix/process/process_unix/tests.rs
@@ -6,6 +6,7 @@
// safety etc., are tested in tests/ui/process/process-panic-after-fork.rs
#[test]
+#[ignore]
fn exitstatus_display_tests() {
// In practice this is the same on every Unix.
// If some weird platform turns out to be different, and this test fails, use #[cfg].
@@ -37,6 +38,7 @@
}
#[test]
+#[ignore]
#[cfg_attr(target_os = "emscripten", ignore)]
fn test_command_fork_no_unwind() {
let got = catch_unwind(|| {
diff --git a/library/std/src/thread/tests.rs b/library/std/src/thread/tests.rs
index 5d6b9e94ee9..a5aacb2eb87 100644
--- a/library/std/src/thread/tests.rs
+++ b/library/std/src/thread/tests.rs
@@ -115,6 +115,7 @@ fn test_is_finished() {
}
#[test]
+#[ignore]
fn test_join_panic() {
match thread::spawn(move || panic!()).join() {
result::Result::Err(_) => (),
@@ -217,6 +218,7 @@ fn test_simple_newsched_spawn() {
}
#[test]
+#[ignore]
fn test_try_panic_message_string_literal() {
match thread::spawn(move || {
panic!("static string");
@@ -233,6 +235,7 @@ fn test_try_panic_message_string_literal() {
}
#[test]
+#[ignore]
fn test_try_panic_any_message_owned_str() {
match thread::spawn(move || {
panic_any("owned string".to_string());
@@ -249,6 +252,7 @@ fn test_try_panic_any_message_owned_str() {
}
#[test]
+#[ignore]
fn test_try_panic_any_message_any() {
match thread::spawn(move || {
panic_any(Box::new(413u16) as Box<dyn Any + Send>);
@@ -267,6 +271,7 @@ fn test_try_panic_any_message_any() {
}
#[test]
+#[ignore]
fn test_try_panic_any_message_unit_struct() {
struct Juju;
diff --git a/library/alloc/src/slice/tests.rs b/library/alloc/src/slice/tests.rs
--- a/library/alloc/src/slice/tests.rs
+++ b/library/alloc/src/slice/tests.rs
@@ -186,6 +186,7 @@
std::thread_local!(static SILENCE_PANIC: Cell<bool> = Cell::new(false));
#[test]
+#[ignore]
#[cfg_attr(target_os = "emscripten", ignore)] // no threads
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
fn panic_safe() {
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
@@ -424,6 +424,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/src/sync/mutex/tests.rs b/library/std/src/sync/mutex/tests.rs
--- a/library/std/src/sync/mutex/tests.rs
+++ b/library/std/src/sync/mutex/tests.rs
@@ -193,6 +193,7 @@
}
#[test]
+#[ignore]
fn test_mutex_arc_poison_mapped() {
let arc = Arc::new(Mutex::new(1));
assert!(!arc.is_poisoned());
diff --git a/library/std/src/sync/mutex/tests.rs b/library/std/src/sync/mutex/tests.rs
--- a/library/std/src/sync/mutex/tests.rs
+++ b/library/std/src/sync/mutex/tests.rs
@@ -272,6 +272,7 @@
}
#[test]
+#[ignore]
fn panic_while_mapping_unlocked_poison() {
let lock = Mutex::new(());
diff --git a/
--- a/library/std/src/sync/rwlock/tests.rs
+++ b/library/std/src/sync/rwlock/tests.rs
@@ -60,6 +60,7 @@
}
#[test]
+#[ignore]
fn test_rw_arc_poison_mapped_w_r() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -88,6 +89,7 @@
}
#[test]
+#[ignore]
fn test_rw_arc_poison_mapped_w_w() {
let arc = Arc::new(RwLock::new(1));
let arc2 = arc.clone();
@@ -438,6 +440,7 @@
}
#[test]
+#[ignore]
fn panic_while_mapping_write_unlocked_poison() {
let lock = RwLock::new(());