Message ID | 20240701092639.1498856-1-Yash.Shinde@windriver.com |
---|---|
State | Under Review |
Headers | show |
Series | [1/9] rust: Oe-selftest fixes for rust v1.76. | expand |
On Mon, Jul 1, 2024 at 10:27 AM Yash Shinde via lists.openembedded.org <Yash.Shinde=windriver.com@lists.openembedded.org> wrote: > > From: Yash Shinde <Yash.Shinde@windriver.com> > > Add the failing tests in rust v1.76 to the exclude list > and add "ignore" tags to ignore failing unit test cases. > > Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> > --- Well done getting all of this in place (and fingers crossed it makes it through the autobuilders) - this stuff is incredibly painful to move forwards! -- Alex Kiernan
On Mon, 2024-07-01 at 02:26 -0700, Yash Shinde via lists.openembedded.org wrote: > From: Yash Shinde <Yash.Shinde@windriver.com> > > * Drop the following backported patches which are merged > with rust v1.78 upgrade. > > - 0001-Revert-Map-source-absolute-paths-to-OUT_DIR-as-relat.patch > - repro-issue-fix-with-v175.patch > > https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html > > Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> With this series applied we saw the following failures: https://valkyrie.yoctoproject.org/#/builders/4/builds/66/steps/12/logs/stdio https://valkyrie.yoctoproject.org/#/builders/60/builds/66 https://valkyrie.yoctoproject.org/#/builders/2/builds/66 https://valkyrie.yoctoproject.org/#/builders/19/builds/67 https://valkyrie.yoctoproject.org/#/builders/41/builds/61/steps/14/logs/stdio https://valkyrie.yoctoproject.org/#/builders/18/builds/59/steps/13/logs/stdio https://valkyrie.yoctoproject.org/#/builders/6/builds/59/steps/12/logs/stdio https://valkyrie.yoctoproject.org/#/builders/3/builds/66/steps/12/logs/stdio https://valkyrie.yoctoproject.org/#/builders/67/builds/62/steps/13/logs/stdio https://valkyrie.yoctoproject.org/#/builders/67/builds/62/steps/16/logs/stdio https://valkyrie.yoctoproject.org/#/builders/67/builds/62/steps/19/logs/stdio and the builds haven't all finished yet. Cheers, Richard
On Mon, 2024-07-01 at 17:47 +0100, Richard Purdie via lists.openembedded.org wrote: > On Mon, 2024-07-01 at 02:26 -0700, Yash Shinde via > lists.openembedded.org wrote: > > From: Yash Shinde <Yash.Shinde@windriver.com> > > > > * Drop the following backported patches which are merged > > with rust v1.78 upgrade. > > > > - 0001-Revert-Map-source-absolute-paths-to-OUT_DIR-as-relat.patch > > - repro-issue-fix-with-v175.patch > > > > https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html > > > > Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> > > With this series applied we saw the following failures: > > https://valkyrie.yoctoproject.org/#/builders/4/builds/66/steps/12/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/60/builds/66 > https://valkyrie.yoctoproject.org/#/builders/2/builds/66 > https://valkyrie.yoctoproject.org/#/builders/19/builds/67 > https://valkyrie.yoctoproject.org/#/builders/41/builds/61/steps/14/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/18/builds/59/steps/13/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/6/builds/59/steps/12/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/3/builds/66/steps/12/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/67/builds/62/steps/13/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/67/builds/62/steps/16/logs/stdio > https://valkyrie.yoctoproject.org/#/builders/67/builds/62/steps/19/logs/stdio > > and the builds haven't all finished yet. The build completed and there were a lot more failures. Notably reproducibility failed: https://valkyrie.yoctoproject.org/#/builders/37/builds/74 but also: qemuppc-tc: https://valkyrie.yoctoproject.org/#/builders/49/builds/54/steps/12/logs/stdio qemux86-alt: https://valkyrie.yoctoproject.org/#/builders/20/builds/52 qemux86-64-alt: https://valkyrie.yoctoproject.org/#/builders/95/builds/52 https://valkyrie.yoctoproject.org/#/builders/45/builds/52 https://valkyrie.yoctoproject.org/#/builders/31/builds/54 https://valkyrie.yoctoproject.org/#/builders/32/builds/54 https://valkyrie.yoctoproject.org/#/builders/36/builds/55 https://valkyrie.yoctoproject.org/#/builders/30/builds/58 https://valkyrie.yoctoproject.org/#/builders/16/builds/58 https://valkyrie.yoctoproject.org/#/builders/68/builds/70 Cheers, Richard
Hello Richard, Thanks for test results. We will look into the failures reported. These failures are only in 1.78 (Is the testing done on 1.76 & 1.77)? Thanks, Sundeep K.
Hello Richard, Thanks for test results. We will look into the failures reported. These failures are only in 1.78 (Is the testing done on 1.76 & 1.77)? Thanks, Sundeep K.
On Tue, 2024-07-02 at 05:37 -0700, Sundeep KOKKONDA via lists.openembedded.org wrote: > Hello Richard, > > Thanks for test results. We will look into the failures reported. > These failures are only in 1.78 (Is the testing done on 1.76 & 1.77)? I only tested with all patches applied so 1.78. I guess 1.76/1.77 results would be useful to know where the issues are introduced but there is obviously more work involved in running those builds and it takes up time on the infrastructure. Do we need those? Cheers, Richard
On 2 Jul 2024, at 15:12, Richard Purdie via lists.openembedded.org <richard.purdie=linuxfoundation.org@lists.openembedded.org> wrote: > > On Tue, 2024-07-02 at 05:37 -0700, Sundeep KOKKONDA via > lists.openembedded.org wrote: >> Hello Richard, >> >> Thanks for test results. We will look into the failures reported. >> These failures are only in 1.78 (Is the testing done on 1.76 & 1.77)? > > I only tested with all patches applied so 1.78. > > I guess 1.76/1.77 results would be useful to know where the issues are > introduced but there is obviously more work involved in running those > builds and it takes up time on the infrastructure. Do we need those? My builder is running oe-selftest -r rust on the incremental upgrades to see what of those fail, but I’m not running reproducible builds yet. 1.76 was successful, 1.77 is building. Ross
On Tue, Jul 2, 2024 at 08:38 PM, Ross Burton wrote: > > My builder is running oe-selftest -r rust on the incremental upgrades to > see what of those fail, but I’m not running reproducible builds yet. > > 1.76 was successful, 1.77 is building. Can you check for reproducible tests also? That helps to see where the issue is triggered. Thanks, Sundeep K.
On Tue, 2024-07-02 at 10:37 -0700, Sundeep KOKKONDA via lists.openembedded.org wrote: > On Tue, Jul 2, 2024 at 08:38 PM, Ross Burton wrote: > > My builder is running oe-selftest -r rust on the incremental > > upgrades to see what of those fail, but I’m not running > > reproducible builds yet. > > > > 1.76 was successful, 1.77 is building. > Can you check for reproducible tests also? That helps to see where > the issue is triggered. > I ran the tests with 1.77.2 and this looked much better, there was only one failure: https://valkyrie.yoctoproject.org/#/builders/49/builds/55/steps/12/logs/stdio So it looks like most of the issues are 1.78 related apart from the one above. Cheers, Richard
On Wed, Jul 3, 2024 at 01:44 PM, Richard Purdie wrote: > > it looks like most of the issues are 1.78 related apart from the one > above. That's very useful info, thank you. We will investigate the issues w/ 1.78 and the above one failure with 1.77. Thanks, Sundeep K.
I thought we skipped mips and ppc targets for rust oe - selftests , didn ' t we ? I tested for the targets mentioned in, https://lists.openembedded.org/g/openembedded-core/message/201295 ( https://lists.openembedded.org/g/openembedded-core/message/201295 ) Please let me know which targets are tested for rust oe-selftests in AB? Regards, Yash
It's arm/arm64/x86/x86-64/mips/mips64/ppc. Given that rust upstream has all mips support in tier 3 (no promises), and ppc support in tier 2 without host tools (only building standard libraries for the target is tested), I don't think we should be fighting against that: https://doc.rust-lang.org/rustc/platform-support.html Those targets already have reduced testing via arch-qemu-lite here: https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json and I think we need toolchain-lite as well where rust would be skipped. Alex On Thu, 4 Jul 2024 at 07:59, Yash Shinde via lists.openembedded.org <Yash.Shinde=windriver.com@lists.openembedded.org> wrote: > > [Edited Message Follows] > > https://valkyrie.yoctoproject.org/#/builders/49/builds/55/steps/12/logs/stdio > > The above failure is for rust v1.77.2 is on ppc target. > > I thought we skipped mips and ppc targets for rust oe-selftests, didn't we? > > I tested for the targets mentioned in, https://lists.openembedded.org/g/openembedded-core/message/201295 > > Please let me know which targets are tested for rust oe-selftests in AB? > > > > Regards, > > Yash > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#201503): https://lists.openembedded.org/g/openembedded-core/message/201503 > Mute This Topic: https://lists.openembedded.org/mt/106974835/1686489 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
On Thu, 4 Jul 2024 at 12:36, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> wrote: > > It's arm/arm64/x86/x86-64/mips/mips64/ppc. > > Given that rust upstream has all mips support in tier 3 (no promises), > and ppc support in tier 2 without host tools (only building standard > libraries for the target is tested), I don't think we should be > fighting against that: > https://doc.rust-lang.org/rustc/platform-support.html > > Those targets already have reduced testing via arch-qemu-lite here: > https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json > > and I think we need toolchain-lite as well where rust would be skipped. I see that mips32 is already skipped by the test itself. So maybe mips64 and ppc should simply be added there. Alex
On 04-07-2024 16:52, Alexander Kanavin wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Thu, 4 Jul 2024 at 12:36, Alexander Kanavin via > lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> > wrote: >> It's arm/arm64/x86/x86-64/mips/mips64/ppc. >> >> Given that rust upstream has all mips support in tier 3 (no promises), >> and ppc support in tier 2 without host tools (only building standard >> libraries for the target is tested), I don't think we should be >> fighting against that: >> https://doc.rust-lang.org/rustc/platform-support.html >> >> Those targets already have reduced testing via arch-qemu-lite here: >> https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json >> >> and I think we need toolchain-lite as well where rust would be skipped. > I see that mips32 is already skipped by the test itself. So maybe > mips64 and ppc should simply be added there. > > Alex Since, rust upstream also doesn't have much support for those targets, we can skip them if everyone agrees. Regards, Yash
On 4 Jul 2024, at 12:44, Yash Shinde via lists.openembedded.org <Yash.Shinde=windriver.com@lists.openembedded.org> wrote: > > > On 04-07-2024 16:52, Alexander Kanavin wrote: >> CAUTION: This email comes from a non Wind River email account! >> Do not click links or open attachments unless you recognize the sender and know the content is safe. >> >> On Thu, 4 Jul 2024 at 12:36, Alexander Kanavin via >> lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> >> wrote: >>> It's arm/arm64/x86/x86-64/mips/mips64/ppc. >>> >>> Given that rust upstream has all mips support in tier 3 (no promises), >>> and ppc support in tier 2 without host tools (only building standard >>> libraries for the target is tested), I don't think we should be >>> fighting against that: >>> https://doc.rust-lang.org/rustc/platform-support.html >>> >>> Those targets already have reduced testing via arch-qemu-lite here: >>> https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json >>> >>> and I think we need toolchain-lite as well where rust would be skipped. >> I see that mips32 is already skipped by the test itself. So maybe >> mips64 and ppc should simply be added there. >> >> Alex > Since, rust upstream also doesn't have much support for those targets, > we can skip them if everyone agrees. That seems like the right thing to do: we don’t want to stress test combinations that upstream don’t test. Please be sure to add a comment linking to the platform support table, so we know to check the table periodically. Ross
diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py index 4ccbe9867b..6181c10ea9 100644 --- a/meta/lib/oeqa/selftest/cases/rust.py +++ b/meta/lib/oeqa/selftest/cases/rust.py @@ -187,6 +187,25 @@ class RustSelfTestSystemEmulated(OESelftestTestCase, OEPTestResultTestCase): 'tests/rustdoc-ui/no-run-flag.rs', 'tests/ui-fulldeps/', 'tests/ui/numbers-arithmetic/u128.rs' + 'tests/run-pass-valgrind', + 'tests/ui/codegen/mismatched-data-layouts.rs', + 'tests/codegen/i128-x86-align.rs', + 'src/tools/suggest-tests', + 'src/tools/rust-installer', + 'src/bootstrap', + 'src/tools/tidy/src/', + 'library/std/src/thread/tests.rs', + 'compiler/rustc_errors/src/markdown/tests/term.rs', + 'compiler/rustc_interface/src/tests.rs', + 'library/std/src/io/buffered/tests.rs', + 'library/std/src/io/stdio/tests.rs', + 'library/std/src/sync/mpsc/sync_tests.rs', + 'library/std/src/sync/mpsc/tests.rs', + 'library/std/src/sync/mutex/tests.rs', + 'library/std/src/sync/rwlock/tests.rs', + 'library/std/src/thread/tests.rs', + 'library/test/src/stats/tests.rs', + 'tidyselftest' ] exclude_fail_tests = " ".join([" --exclude " + item for item in exclude_list]) diff --git a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch new file mode 100644 index 0000000000..0280b1ef8c --- /dev/null +++ b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch @@ -0,0 +1,345 @@ +Backport the patch for "ensure std for cross-targets". + +Previously, doing `x test compiler/*` would fail the build due to missing std. +This change ensures that it is prepared. + +Also, add "[ignore]" tags to the failing unit tests to +ignore them during rust oe-selftest. + +Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/122205/commits/5aece7fad06baaa745784d118db862b3e3ccf7f8] + +Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> +--- +diff --git a/src/bootstrap/src/core/build_steps/test.rs b/src/bootstrap/src/core/build_steps/test.rs +index 4a4497e57db..da8c88dcd41 100644 +--- a/src/bootstrap/src/core/build_steps/test.rs ++++ b/src/bootstrap/src/core/build_steps/test.rs +@@ -2505,8 +2505,12 @@ + let mode = self.mode; + + // See [field@compile::Std::force_recompile]. +- builder.ensure(compile::Std::force_recompile(compiler, target)); +- builder.ensure(RemoteCopyLibs { compiler, target }); ++ builder.ensure(compile::Std::force_recompile(compiler, compiler.host)); ++ ++ if builder.config.build != target { ++ builder.ensure(compile::Std::force_recompile(compiler, target)); ++ builder.ensure(RemoteCopyLibs { compiler, target }); ++ } + + // If we're not doing a full bootstrap but we're testing a stage2 + // version of libstd, then what we're actually testing is the libstd +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(); +@@ -82,6 +85,7 @@ fn test_rw_arc_no_poison_rr() { + assert_eq!(*lock, 1); + } + #[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/unix/process/process_unix/tests.rs b/library/std/src/sys/unix/process/process_unix/tests.rs +index 0a6c6ec19fc..bec257bc630 100644 +--- a/library/std/src/sys/unix/process/process_unix/tests.rs ++++ b/library/std/src/sys/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/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc index 20ef5e82bc..9acdbc4ec0 100644 --- a/meta/recipes-devtools/rust/rust-source.inc +++ b/meta/recipes-devtools/rust/rust-source.inc @@ -13,6 +13,7 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n file://0001-Handle-vendored-sources-when-remapping-paths.patch;patchdir=${RUSTSRC} \ file://repro-issue-fix-with-v175.patch;patchdir=${RUSTSRC} \ file://0001-cargo-do-not-write-host-information-into-compilation.patch;patchdir=${RUSTSRC} \ + file://rust-oe-selftest.patch;patchdir=${RUSTSRC} \ " SRC_URI[rust.sha256sum] = "4526f786d673e4859ff2afa0bab2ba13c918b796519a25c1acce06dba9542340"