Gentle Ping on the following patch

On Fri, May 13, 2022 at 5:50 PM pgowda <pgowda....@gmail.com> wrote:
>
> The patch implements Rust testing framework similar to other selftest,
> specifically the gcc selftest in OE. It uses the client and server
> based method to test the binaries for cross-target on the image.
> The test framework is a wrapper around the Rust build system as ./x.py
> test.
> It tests many functionalities of Rust distribution like tools,
> documentation, libraries, packages, tools, Cargo, Crater etc.
> Please refer the following link for detailed description of Rust
> testing:-
> https://rustc-dev-guide.rust-lang.org/tests/intro.html#tool-tests
>
> To support the rust tests in oe-core, the following functions were
> added:-
> setup_cargo_environment(): Build bootstrap and some early stage tools.
> do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
> do_configure(): To generate config.toml
> do_compile(): To build "remote-test-server" for qemu target image.
>
> Approximate Number of Tests Run in the Rust Testsuite :- 18000
> Approximate Number of Tests that FAIL in bitbake environment :- 100-150
> Normally majority of the testcases are present in major folder "test/"
> It contributes to more than 80% of the testcases present in Rust test
> framework. These tests pass as expected on any Rust versions without
> much fuss. The tests that fail are of less important and contribute to
> less than 2% of the total testcases. These minor tests are observed to
> work on some versions and fail on others. They have to be added, ignored
> or excluded for different versions as per the behavior.
> These tests have been ignored or excluded in the Rust selftest
> environment to generate success of completing the testsuite.
>
> These tests work in parallel mode even in the skipped test mode as
> expected. Although the patch to disable tests is large, it is very simple
> in that it only disables tests. When updating to a newer version of Rust,
> the patch can usually be ported in a day.
>
> Signed-off-by: pgowda <pgowda....@gmail.com>
> Signed-off-by: Vinay Kumar <vinay.m.e...@gmail.com>
> ---
>  meta/lib/oeqa/selftest/cases/rust.py          |  57 +++
>  meta/recipes-devtools/rust/rust-common.inc    |   1 -
>  meta/recipes-devtools/rust/rust-testsuite.inc | 163 +++++++
>  .../rust-testsuite/rust-oe-selftest.patch     | 417 ++++++++++++++++++
>  .../rust/rust-testsuite_1.60.0.bb             |   3 +
>  5 files changed, 640 insertions(+), 1 deletion(-)
>  create mode 100644 meta/lib/oeqa/selftest/cases/rust.py
>  create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
>  create mode 100644 
> meta/recipes-devtools/rust/rust-testsuite/rust-oe-selftest.patch
>  create mode 100644 meta/recipes-devtools/rust/rust-testsuite_1.60.0.bb
>
> diff --git a/meta/lib/oeqa/selftest/cases/rust.py 
> b/meta/lib/oeqa/selftest/cases/rust.py
> new file mode 100644
> index 0000000000..80d6f310c9
> --- /dev/null
> +++ b/meta/lib/oeqa/selftest/cases/rust.py
> @@ -0,0 +1,57 @@
> +# SPDX-License-Identifier: MIT
> +import os
> +import subprocess
> +from oeqa.core.decorator import OETestTag
> +from oeqa.core.case import OEPTestResultTestCase
> +from oeqa.selftest.case import OESelftestTestCase
> +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, 
> runqemu, Command
> +from oeqa.utils.sshcontrol import SSHControl
> +
> +# Total time taken for testing is of about 2hr 20min, with PARALLEL_MAKE set 
> to 40 number of jobs.
> +class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
> +
> +       def run_check_emulated(self, *args, **kwargs):
> +               # build remote-test-server before image build
> +               recipe = "rust-testsuite"
> +               bitbake("{} -c compile".format(recipe))
> +               builddir = get_bb_var("B", "rust-testsuite")
> +               # build core-image-minimal with required packages
> +               default_installed_packages = ["libgcc", "libstdc++", 
> "libatomic", "libgomp"]
> +               features = []
> +               features.append('IMAGE_FEATURES += "ssh-server-openssh"')
> +               features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" 
> ".join(default_installed_packages)))
> +               self.write_config("\n".join(features))
> +               bitbake("core-image-minimal")
> +               # wrap the execution with a qemu instance
> +               with runqemu("core-image-minimal", runqemuparams = 
> "nographic", qemuparams = "-m 512") as qemu:
> +                       # Copy remote-test-server to image through scp
> +                       ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, 
> user="root")
> +                       ssh.copy_to(builddir + "/" + 
> "build/x86_64-unknown-linux-gnu/stage1-tools-bin/remote-test-server","~/")
> +                       # Execute remote-test-server on image through 
> background ssh
> +                       command = '~/remote-test-server -v remote'
> +                       sshrun=subprocess.Popen(("ssh", '-o',  
> 'UserKnownHostsFile=/dev/null', '-o',  'StrictHostKeyChecking=no', '-f', 
> "root@%s" % qemu.ip, command),
> +                                shell=False,
> +                                stdout=subprocess.PIPE,
> +                                stderr=subprocess.PIPE)
> +                       # Get the values of variables.
> +                       targetsys = get_bb_var("TARGET_SYS", "rust-testsuite")
> +                       rustlibpath = get_bb_var("STAGING_LIBDIR_NATIVE", 
> "rust-testsuite")
> +                       tmpdir = get_bb_var("TMPDIR", "rust-testsuite")
> +
> +                       # Exclude the test folders that error out while 
> building
> +                       # Need to fix these errors and include them for 
> testing
> +                       testargs = "--exclude src/test/rustdoc --exclude 
> src/test/rustdoc-json  --exclude src/test/run-make-fulldeps --exclude 
> src/tools/tidy --exclude src/tools/rustdoc-themes --exclude 
> src/rustdoc-json-types --exclude src/librustdoc --exclude 
> src/doc/unstable-book --exclude src/doc/rustdoc --exclude src/doc/rustc 
> --exclude compiler/rustc --exclude library/panic_abort --exclude 
> library/panic_unwind --exclude src/test/rustdoc --no-doc --no-fail-fast 
> --bless"
> +
> +                       # Set path for target-poky-linux-gcc, 
> RUST_TARGET_PATH and hosttools.
> +                       cmd = " export PATH=%s/../bin:$PATH;" % rustlibpath
> +                       cmd = cmd + " export 
> PATH=%s/../bin/%s:%s/hosttools:$PATH;" % (rustlibpath, targetsys, tmpdir)
> +                       cmd = cmd + " export RUST_TARGET_PATH=%s/rustlib;" % 
> rustlibpath
> +                       # Trigger testing.
> +                       cmd = cmd + " export TEST_DEVICE_ADDR=\"%s:12345\";" 
> % qemu.ip
> +                       cmd = cmd + " cd %s;  python3 
> src/bootstrap/bootstrap.py test %s --target %s ;" % (builddir, testargs, 
> targetsys)
> +                       result = runCmd(cmd)
> +
> +@OETestTag("toolchain-system")
> +class RustSelfTestSystemEmulated(RustSelfTestBase):
> +       def test_rust(self):
> +               self.run_check_emulated("rust")
> diff --git a/meta/recipes-devtools/rust/rust-common.inc 
> b/meta/recipes-devtools/rust/rust-common.inc
> index 310aecef22..09c352cb42 100644
> --- a/meta/recipes-devtools/rust/rust-common.inc
> +++ b/meta/recipes-devtools/rust/rust-common.inc
> @@ -352,7 +352,6 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, 
> abi=""):
>      tspec['linker-is-gnu'] = True
>      tspec['linker-flavor'] = "gcc"
>      tspec['has-rpath'] = True
> -    tspec['has-elf-tls'] = True
>      tspec['position-independent-executables'] = True
>      tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
>
> diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc 
> b/meta/recipes-devtools/rust/rust-testsuite.inc
> new file mode 100644
> index 0000000000..8d9068a61e
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
> @@ -0,0 +1,163 @@
> +SUMMARY = "Rust testing"
> +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html";
> +SECTION = "test"
> +LICENSE = "MIT | Apache-2.0"
> +
> +SRC_URI += "file://rust-oe-selftest.patch;striplevel=1"
> +
> +inherit rust
> +inherit cargo_common
> +
> +DEPENDS += "file-native"
> +EXCLUDE_FROM_WORLD = "1"
> +
> +S = "${RUSTSRC}"
> +
> +# Path of target specification file "target-poky-linux.json"
> +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
> +
> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
> +
> +# We don't want to use bitbakes vendoring because the rust sources do their
> +# own vendoring.
> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
> +
> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
> +setup_cargo_environment () {
> +    # The first step is to build bootstrap and some early stage tools,
> +    # these are build for the same target as the snapshot, e.g.
> +    # x86_64-unknown-linux-gnu.
> +    # Later stages are build for the native target (i.e. target.x86_64-linux)
> +    cargo_common_do_configure
> +
> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
> +}
> +
> +include rust-common.inc
> +
> +do_rust_setup_snapshot () {
> +    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
> +    done
> +
> +    # Need to use uninative's loader if enabled/present since the library 
> paths
> +    # are used internally by rust and result in symbol mismatches if we don't
> +    if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then
> +        for bin in cargo rustc rustdoc; do
> +            patchelf-uninative ${WORKDIR}/rust-snapshot/bin/$bin 
> --set-interpreter ${UNINATIVE_LOADER}
> +        done
> +    fi
> +}
> +addtask rust_setup_snapshot after do_unpack before do_configure
> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
> +do_rust_setup_snapshot[vardepsexclude] += "UNINATIVE_LOADER"
> +
> +python do_configure() {
> +    import json
> +    try:
> +        import configparser
> +    except ImportError:
> +        import ConfigParser as configparser
> +
> +    # toml is rather similar to standard ini like format except it likes 
> values
> +    # that look more JSON like. So for our purposes simply escaping all 
> values
> +    # as JSON seem to work fine.
> +
> +    e = lambda s: json.dumps(s)
> +
> +    config = configparser.RawConfigParser()
> +
> +    # [target.ARCH-poky-linux]
> +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
> +    config.add_section(target_section)
> +
> +    # Points to wrapper files which contain target specific compiler and 
> linker commands.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
> +    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
> +
> +    # If we don't do this rust-native will compile it's own llvm for BUILD.
> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
> +    config.add_section(target_section)
> +
> +    # Wrapper scripts of build system.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
> +
> +    # [llvm]
> +    config.add_section("llvm")
> +    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
> +    config.set("llvm", "ninja", e(False))
> +
> +    # [rust]
> +    config.add_section("rust")
> +    config.set("rust", "rpath", e(True))
> +    config.set("rust", "channel", e("stable"))
> +
> +    # Whether or not to optimize the compiler and standard library
> +    config.set("rust", "optimize", e(True))
> +
> +    # Emits extraneous output from tests to ensure that failures of the test
> +    # harness are debuggable just from logfiles
> +    config.set("rust", "verbose-tests", e(True))
> +
> +    # Override default linker cc.
> +    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
> +
> +    # [build]
> +    config.add_section("build")
> +    config.set("build", "submodules", e(False))
> +    config.set("build", "docs", e(False))
> +
> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
> +    config.set("build", "rustc", e(rustc))
> +
> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
> +    config.set("build", "cargo", e(cargo))
> +
> +    config.set("build", "vendor", e(True))
> +
> +    if not "targets" in locals():
> +        targets = [d.getVar("TARGET_SYS", True)]
> +    config.set("build", "target", e(targets))
> +
> +    if not "hosts" in locals():
> +        hosts = [d.getVar("HOST_SYS", True)]
> +    config.set("build", "host", e(hosts))
> +
> +    # We can't use BUILD_SYS since that is something the rust snapshot knows
> +    # nothing about when trying to build some stage0 tools (like fabricate)
> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
> +
> +    with open("config.toml", "w") as f:
> +        config.write(f)
> +
> +    # set up ${WORKDIR}/cargo_home
> +    bb.build.exec_func("setup_cargo_environment", d)
> +}
> +
> +
> +rust_runx () {
> +    echo "COMPILE ${PN}" "$@"
> +
> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
> +    # wide range of targets (not just TARGET). OE's settings for them will
> +    # be inappropriate, avoid using.
> +    unset CFLAGS
> +    unset LDFLAGS
> +    unset CXXFLAGS
> +    unset CPPFLAGS
> +
> +    oe_cargo_fix_env
> +
> +    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, 
> '-j %d')} "$@" --verbose
> +}
> +
> +do_compile () {
> +
> +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
> +}
> diff --git a/meta/recipes-devtools/rust/rust-testsuite/rust-oe-selftest.patch 
> b/meta/recipes-devtools/rust/rust-testsuite/rust-oe-selftest.patch
> new file mode 100644
> index 0000000000..860b3a01f0
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-testsuite/rust-oe-selftest.patch
> @@ -0,0 +1,417 @@
> +Rust testsuite outputs error even on a single testcase failure.
> +Hence, some test runs are ignored as they fail with error messages.
> +
> +Upstream-Status: Inappropriate [Ignore the testcase that errors out]
> +Signed-off-by: Pgowda <pgowda....@gmail.com>
> +---
> +
> +diff --git a/compiler/rustc_interface/src/tests.rs 
> b/compiler/rustc_interface/src/tests.rs
> +--- a/compiler/rustc_interface/src/tests.rs    2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/compiler/rustc_interface/src/tests.rs    2022-05-11 05:05:04.493837258 
> -0700
> +@@ -111,6 +111,7 @@ fn assert_non_crate_hash_different(x: &O
> +
> + // 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();
> +@@ -122,6 +123,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() {
> +     rustc_span::create_default_session_globals_then(|| {
> +         let matches = optgroups().parse(&["--test".to_string(), 
> "--cfg=test".to_string()]).unwrap();
> +@@ -134,6 +136,7 @@ fn test_switch_implies_cfg_test_unless_c
> + }
> +
> + #[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/src/test/codegen/sse42-implies-crc32.rs 
> b/src/test/codegen/sse42-implies-crc32.rs
> +--- a/src/test/codegen/sse42-implies-crc32.rs  2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/codegen/sse42-implies-crc32.rs  2022-05-11 03:18:40.268945455 
> -0700
> +@@ -1,6 +1,7 @@
> + // only-x86_64
> + // min-llvm-version: 14.0
> + // compile-flags: -Copt-level=3
> ++// ignore-stage1
> +
> + #![crate_type = "lib"]
> +
> +diff --git a/src/test/codegen/thread-local.rs 
> b/src/test/codegen/thread-local.rs
> +--- a/src/test/codegen/thread-local.rs 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/codegen/thread-local.rs 2022-05-11 03:18:40.268945455 -0700
> +@@ -4,6 +4,7 @@
> + // ignore-wasm globals are used instead of thread locals
> + // ignore-emscripten globals are used instead of thread locals
> + // ignore-android does not use #[thread_local]
> ++// ignore-stage1
> +
> + #![crate_type = "lib"]
> +
> +diff --git a/src/test/run-make/issue-36710/Makefile 
> b/src/test/run-make/issue-36710/Makefile
> +--- a/src/test/run-make/issue-36710/Makefile   2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/run-make/issue-36710/Makefile   2022-05-11 05:10:19.023697298 
> -0700
> +@@ -7,6 +7,7 @@
> + # ignore-nvptx64-nvidia-cuda FIXME: can't find crate for `std`
> + # ignore-musl FIXME: this makefile needs teaching how to use a musl 
> toolchain
> + #                    (see dist-i586-gnu-i586-i686-musl Dockerfile)
> ++# ignore-stage1
> +
> + include ../../run-make-fulldeps/tools.mk
> +
> +diff --git a/src/test/rustdoc-ui/cfg-test.rs 
> b/src/test/rustdoc-ui/cfg-test.rs
> +--- a/src/test/rustdoc-ui/cfg-test.rs  2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/rustdoc-ui/cfg-test.rs  2022-05-11 05:05:56.353206533 -0700
> +@@ -5,6 +5,7 @@
> +
> + // Crates like core have doctests gated on `cfg(not(test))` so we need to 
> make
> + // sure `cfg(test)` is not active when running `rustdoc --test`.
> ++// ignore-stage1
> +
> + /// this doctest will be ignored:
> + ///
> +diff --git a/src/test/rustdoc-ui/display-output.rs 
> b/src/test/rustdoc-ui/display-output.rs
> +--- a/src/test/rustdoc-ui/display-output.rs    2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/rustdoc-ui/display-output.rs    2022-05-11 05:07:11.240512938 
> -0700
> +@@ -5,6 +5,7 @@
> + // compile-flags:--test --test-args=--show-output
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> ++// ignore-stage1
> +
> + /// ```
> + /// #![warn(unused)]
> +diff --git a/src/test/rustdoc-ui/doc-test-doctest-feature.rs 
> b/src/test/rustdoc-ui/doc-test-doctest-feature.rs
> +--- a/src/test/rustdoc-ui/doc-test-doctest-feature.rs  2022-04-04 
> 02:41:05.000000000 -0700
> ++++ b/src/test/rustdoc-ui/doc-test-doctest-feature.rs  2022-05-11 
> 05:06:24.652915817 -0700
> +@@ -5,6 +5,7 @@
> +
> + // Make sure `cfg(doctest)` is set when finding doctests but not inside
> + // the doctests.
> ++// ignore-stage1
> +
> + /// ```
> + /// assert!(!cfg!(doctest));
> +diff --git a/src/test/rustdoc-ui/doctest-output.rs 
> b/src/test/rustdoc-ui/doctest-output.rs
> +--- a/src/test/rustdoc-ui/doctest-output.rs    2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/rustdoc-ui/doctest-output.rs    2022-05-11 05:08:55.179916677 
> -0700
> +@@ -4,6 +4,7 @@
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> + // check-pass
> ++// ignore-stage1
> +
> + //! ```
> + //! assert_eq!(1 + 1, 2);
> +diff --git a/src/test/rustdoc-ui/doc-test-rustdoc-feature.rs 
> b/src/test/rustdoc-ui/doc-test-rustdoc-feature.rs
> +--- a/src/test/rustdoc-ui/doc-test-rustdoc-feature.rs  2022-04-04 
> 02:41:05.000000000 -0700
> ++++ b/src/test/rustdoc-ui/doc-test-rustdoc-feature.rs  2022-05-11 
> 05:07:35.020341340 -0700
> +@@ -2,6 +2,7 @@
> + // compile-flags:--test
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> ++// ignore-stage1
> +
> + #![feature(doc_cfg)]
> +
> +diff --git a/src/test/rustdoc-ui/failed-doctest-compile-fail.rs 
> b/src/test/rustdoc-ui/failed-doctest-compile-fail.rs
> +--- a/src/test/rustdoc-ui/failed-doctest-compile-fail.rs       2022-04-04 
> 02:41:05.000000000 -0700
> ++++ b/src/test/rustdoc-ui/failed-doctest-compile-fail.rs       2022-05-11 
> 05:23:37.912194250 -0700
> +@@ -5,6 +5,7 @@
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> + // failure-status: 101
> ++// ignore-stage1
> +
> + /// ```compile_fail
> + /// println!("Hello");
> +diff --git a/src/test/rustdoc-ui/issue-91134.rs 
> b/src/test/rustdoc-ui/issue-91134.rs
> +--- a/src/test/rustdoc-ui/issue-91134.rs       2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/rustdoc-ui/issue-91134.rs       2022-05-11 05:06:47.820704084 
> -0700
> +@@ -4,6 +4,7 @@
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> + // edition:2021
> ++// ignore-stage1
> +
> + /// <https://github.com/rust-lang/rust/issues/91134>
> + ///
> +diff --git a/src/test/rustdoc-ui/nocapture.rs 
> b/src/test/rustdoc-ui/nocapture.rs
> +--- a/src/test/rustdoc-ui/nocapture.rs 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/rustdoc-ui/nocapture.rs 2022-05-11 05:05:23.333592867 -0700
> +@@ -2,6 +2,7 @@
> + // compile-flags:--test -Zunstable-options --nocapture
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> ++// ignore-stage1
> +
> + /// ```
> + /// println!("hello!");
> +diff --git a/src/test/rustdoc-ui/run-directory.rs 
> b/src/test/rustdoc-ui/run-directory.rs
> +--- a/src/test/rustdoc-ui/run-directory.rs     2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/rustdoc-ui/run-directory.rs     2022-05-11 05:08:05.192154639 
> -0700
> +@@ -6,6 +6,7 @@
> + // [incorrect]compile-flags:--test 
> --test-run-directory={{src-base}}/coverage -Zunstable-options
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> ++// ignore-stage1
> +
> + /// ```
> + /// assert_eq!(
> +diff --git a/src/test/rustdoc-ui/test-no_std.rs 
> b/src/test/rustdoc-ui/test-no_std.rs
> +--- a/src/test/rustdoc-ui/test-no_std.rs       2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/rustdoc-ui/test-no_std.rs       2022-05-11 05:07:50.532241134 
> -0700
> +@@ -2,6 +2,7 @@
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> + // check-pass
> ++// ignore-stage1
> +
> + #![no_std]
> +
> +diff --git a/src/test/rustdoc-ui/test-type.rs 
> b/src/test/rustdoc-ui/test-type.rs
> +--- a/src/test/rustdoc-ui/test-type.rs 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/rustdoc-ui/test-type.rs 2022-05-11 05:08:39.927980240 -0700
> +@@ -2,6 +2,7 @@
> + // check-pass
> + // normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
> + // normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
> ++// ignore-stage1
> +
> + /// ```
> + /// let a = true;
> +diff --git a/src/test/ui/macros/restricted-shadowing-legacy.rs 
> b/src/test/ui/macros/restricted-shadowing-legacy.rs
> +--- a/src/test/ui/macros/restricted-shadowing-legacy.rs        2022-04-04 
> 02:41:06.000000000 -0700
> ++++ b/src/test/ui/macros/restricted-shadowing-legacy.rs        2022-05-11 
> 03:18:40.268945455 -0700
> +@@ -74,6 +74,7 @@
> + // 62 |   Unordered   |   Unordered   |       =       |    +?    |
> + // 63 |   Unordered   |   Unordered   |       >       |    +?    |
> + // 64 |   Unordered   |   Unordered   |   Unordered   |    +     |
> ++// ignore-stage1
> +
> + #![feature(decl_macro, rustc_attrs)]
> +
> +diff --git a/src/test/ui/process/process-panic-after-fork.rs 
> b/src/test/ui/process/process-panic-after-fork.rs
> +--- a/src/test/ui/process/process-panic-after-fork.rs  2022-04-04 
> 02:41:06.000000000 -0700
> ++++ b/src/test/ui/process/process-panic-after-fork.rs  2022-05-11 
> 03:18:40.268945455 -0700
> +@@ -6,6 +6,7 @@
> + // ignore-emscripten no processes
> + // ignore-sgx no processes
> + // ignore-android: FIXME(#85261)
> ++// ignore-stage1
> +
> + #![feature(bench_black_box)]
> + #![feature(rustc_private)]
> +diff --git a/src/test/ui/simd/target-feature-mixup.rs 
> b/src/test/ui/simd/target-feature-mixup.rs
> +--- a/src/test/ui/simd/target-feature-mixup.rs 2022-04-04 02:41:06.000000000 
> -0700
> ++++ b/src/test/ui/simd/target-feature-mixup.rs 2022-05-11 05:03:02.335895789 
> -0700
> +@@ -1,4 +1,6 @@
> + // run-pass
> ++// ignore-stage1
> ++
> + #![allow(unused_variables)]
> + #![allow(stable_features)]
> + #![allow(overflowing_literals)]
> +diff --git a/src/test/ui-fulldeps/gated-plugin.rs 
> b/src/test/ui-fulldeps/gated-plugin.rs
> +--- a/src/test/ui-fulldeps/gated-plugin.rs     2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/ui-fulldeps/gated-plugin.rs     2022-05-11 03:18:40.268945455 
> -0700
> +@@ -1,4 +1,5 @@
> + // aux-build:empty-plugin.rs
> ++// ignore-stage1
> +
> + #![plugin(empty_plugin)]
> + //~^ ERROR compiler plugins are deprecated
> +diff --git a/src/test/ui-fulldeps/internal-lints/default_hash_types.rs 
> b/src/test/ui-fulldeps/internal-lints/default_hash_types.rs
> +--- a/src/test/ui-fulldeps/internal-lints/default_hash_types.rs        
> 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/internal-lints/default_hash_types.rs        
> 2022-05-11 03:18:40.268945455 -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -Z unstable-options
> ++// ignore-stage1
> +
> + #![feature(rustc_private)]
> + #![deny(rustc::default_hash_types)]
> +diff --git 
> a/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs 
> b/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs
> +--- a/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs    
>   2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs    
>   2022-05-11 03:18:40.268945455 -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -Z unstable-options
> ++// ignore-stage1
> +
> + #![feature(rustc_private)]
> + #![deny(rustc::lint_pass_impl_without_macro)]
> +diff --git a/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs 
> b/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs
> +--- a/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs      
> 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs      
> 2022-05-11 03:18:40.272945428 -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -Z unstable-options
> ++// ignore-stage1
> +
> + #![feature(rustc_private)]
> + #![deny(rustc::usage_of_qualified_ty)]
> +diff --git a/src/test/ui-fulldeps/internal-lints/query_stability.rs 
> b/src/test/ui-fulldeps/internal-lints/query_stability.rs
> +--- a/src/test/ui-fulldeps/internal-lints/query_stability.rs   2022-04-04 
> 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/internal-lints/query_stability.rs   2022-05-11 
> 03:18:40.272945428 -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -Z unstable-options
> ++// ignore-stage1
> +
> + #![feature(rustc_private)]
> + #![deny(rustc::potential_query_instability)]
> +diff --git a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs 
> b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs
> +--- a/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs       
> 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/internal-lints/rustc_pass_by_value.rs       
> 2022-05-11 03:18:40.272945428 -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -Z unstable-options
> ++// ignore-stage1
> +
> + #![feature(rustc_attrs)]
> + #![feature(rustc_private)]
> +diff --git a/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs 
> b/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs
> +--- a/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs   2022-04-04 
> 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs   2022-05-11 
> 03:18:40.272945428 -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -Z unstable-options
> ++// ignore-stage1
> +
> + #![feature(rustc_private)]
> +
> +diff --git a/src/test/ui-fulldeps/lint-group-denied-lint-allowed.rs 
> b/src/test/ui-fulldeps/lint-group-denied-lint-allowed.rs
> +--- a/src/test/ui-fulldeps/lint-group-denied-lint-allowed.rs   2022-04-04 
> 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/lint-group-denied-lint-allowed.rs   2022-05-11 
> 03:18:40.272945428 -0700
> +@@ -1,6 +1,7 @@
> + // aux-build:lint-group-plugin-test.rs
> + // check-pass
> + // compile-flags: -D unused -A unused-variables
> ++// ignore-stage1
> +
> + fn main() {
> +     let x = 1;
> +diff --git a/src/test/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs 
> b/src/test/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs
> +--- a/src/test/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs      
> 2022-04-04 02:41:05.000000000 -0700
> ++++ b/src/test/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs      
> 2022-05-11 03:18:40.272945428 -0700
> +@@ -1,5 +1,6 @@
> + // aux-build:lint-group-plugin-test.rs
> + // compile-flags: -F unused -A unused
> ++// ignore-stage1
> +
> + fn main() {
> +     let x = 1;
> +diff --git a/src/test/ui-fulldeps/lint-pass-macros.rs 
> b/src/test/ui-fulldeps/lint-pass-macros.rs
> +--- a/src/test/ui-fulldeps/lint-pass-macros.rs 2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/ui-fulldeps/lint-pass-macros.rs 2022-05-11 03:18:40.272945428 
> -0700
> +@@ -1,5 +1,6 @@
> + // compile-flags: -Z unstable-options
> + // check-pass
> ++// ignore-stage1
> +
> + #![feature(rustc_private)]
> +
> +diff --git a/src/test/ui-fulldeps/multiple-plugins.rs 
> b/src/test/ui-fulldeps/multiple-plugins.rs
> +--- a/src/test/ui-fulldeps/multiple-plugins.rs 2022-04-04 02:41:05.000000000 
> -0700
> ++++ b/src/test/ui-fulldeps/multiple-plugins.rs 2022-05-11 03:18:40.272945428 
> -0700
> +@@ -1,6 +1,7 @@
> + // run-pass
> + // aux-build:multiple-plugins-1.rs
> + // aux-build:multiple-plugins-2.rs
> ++// ignore-stage1
> +
> + // Check that the plugin registrar of multiple plugins doesn't conflict
> +
> +diff --git a/src/test/assembly/asm/aarch64-outline-atomics.rs 
> b/src/test/assembly/asm/aarch64-outline-atomics.rs
> +--- a/src/test/assembly/asm/aarch64-outline-atomics.rs 2022-05-12 
> 02:04:07.804348303 -0700
> ++++ b/src/test/assembly/asm/aarch64-outline-atomics.rs 2022-05-12 
> 02:04:41.855660781 -0700
> +@@ -4,6 +4,7 @@
> + // needs-llvm-components: aarch64
> + // only-aarch64
> + // only-linux
> ++// ignore-stage1
> +
> + #![crate_type = "rlib"]
> +
> +diff --git a/src/test/ui/abi/stack-probes.rs 
> b/src/test/ui/abi/stack-probes.rs
> +--- a/src/test/ui/abi/stack-probes.rs  2022-05-12 02:12:13.157270304 -0700
> ++++ b/src/test/ui/abi/stack-probes.rs  2022-05-12 02:12:22.437292940 -0700
> +@@ -10,6 +10,7 @@
> + // ignore-wasm
> + // ignore-emscripten no processes
> + // ignore-sgx no processes
> ++// ignore-stage1
> +
> + use std::env;
> + use std::mem::MaybeUninit;
> +diff --git a/src/test/ui/abi/stack-probes-lto.rs 
> b/src/test/ui/abi/stack-probes-lto.rs
> +--- a/src/test/ui/abi/stack-probes-lto.rs      2022-05-12 02:11:23.825159163 
> -0700
> ++++ b/src/test/ui/abi/stack-probes-lto.rs      2022-05-12 02:11:51.657219927 
> -0700
> +@@ -14,5 +14,6 @@
> + // ignore-pretty
> + // compile-flags: -C lto
> + // no-prefer-dynamic
> ++// ignore-stage1
> +
> + include!("stack-probes.rs");
> +diff --git a/library/test/src/stats/tests.rs 
> b/library/test/src/stats/tests.rs
> +--- a/library/test/src/stats/tests.rs  2022-05-13 01:23:03.885645605 -0700
> ++++ b/library/test/src/stats/tests.rs  2022-05-13 01:22:41.274046869 -0700
> +@@ -40,6 +40,7 @@ fn check(samples: &[f64], summ: &Summary
> + }
> +
> + #[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/src/test/codegen/abi-main-signature-32bit-c-int.rs 
> b/src/test/codegen/abi-main-signature-32bit-c-int.rs
> +--- a/src/test/codegen/abi-main-signature-32bit-c-int.rs       2022-05-13 
> 01:24:25.768191603 -0700
> ++++ b/src/test/codegen/abi-main-signature-32bit-c-int.rs       2022-05-13 
> 01:18:12.846799686 -0700
> +@@ -3,6 +3,7 @@
> +
> + // This test is for targets with 32bit c_int only.
> + // ignore-msp430
> ++// ignore-stage1
> +
> + fn main() {
> + }
> +diff --git a/src/test/codegen/uninit-consts.rs 
> b/src/test/codegen/uninit-consts.rs
> +--- a/src/test/codegen/uninit-consts.rs        2022-05-13 01:25:39.250885645 
> -0700
> ++++ a/src/test/codegen/uninit-consts.rs        2022-05-13 01:18:42.986267201 
> -0700
> +@@ -1,4 +1,5 @@
> + // compile-flags: -C no-prepopulate-passes
> ++// ignore-stage1
> +
> + // Check that we use undef (and not zero) for uninitialized bytes in 
> constants.
> +
> +diff --git a/src/test/codegen/uninit-consts-allow-partially-uninit.rs 
> b/src/test/codegen/uninit-consts-allow-partially-uninit.rs
> +--- a/src/test/codegen/uninit-consts-allow-partially-uninit.rs 2022-05-13 
> 01:25:11.075386507 -0700
> ++++ b/src/test/codegen/uninit-consts-allow-partially-uninit.rs 2022-05-13 
> 01:18:28.034531406 -0700
> +@@ -2,6 +2,7 @@
> +
> + // Like uninit-consts.rs, but tests that we correctly generate 
> partially-uninit consts
> + // when the (disabled by default) partially_uninit_const_threshold flag is 
> used.
> ++// ignore-stage1
> +
> + #![crate_type = "lib"]
> +
> +diff --git a/src/test/pretty/raw-str-nonexpr.rs 
> b/src/test/pretty/raw-str-nonexpr.rs
> +--- a/src/test/pretty/raw-str-nonexpr.rs       2022-05-13 01:19:09.937790748 
> -0700
> ++++ b/src/test/pretty/raw-str-nonexpr.rs       2022-05-13 01:19:20.445604923 
> -0700
> +@@ -1,4 +1,5 @@
> + // pp-exact
> ++// ignore-stage1
> +
> + #[cfg(foo = r#"just parse this"#)]
> + extern crate blah as blah;
> +diff --git b/src/test/ui/empty_global_asm.rs 
> b/src/test/ui/empty_global_asm.rs
> +--- a/src/test/ui/empty_global_asm.rs  2022-05-13 03:09:35.231993072 -0700
> ++++ b/src/test/ui/empty_global_asm.rs  2022-05-13 03:09:46.967896517 -0700
> +@@ -1,4 +1,5 @@
> + // run-pass
> ++// ignore-stage1
> +
> + #[allow(unused_imports)]
> + use std::arch::global_asm;
> diff --git a/meta/recipes-devtools/rust/rust-testsuite_1.60.0.bb 
> b/meta/recipes-devtools/rust/rust-testsuite_1.60.0.bb
> new file mode 100644
> index 0000000000..d334231c8f
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-testsuite_1.60.0.bb
> @@ -0,0 +1,3 @@
> +require rust-testsuite.inc
> +require rust-source.inc
> +require rust-snapshot.inc
> --
> 2.35.1
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#166062): 
https://lists.openembedded.org/g/openembedded-core/message/166062
Mute This Topic: https://lists.openembedded.org/mt/91079085/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to