Re: [PATCH v2 5/5] rust: Enable rust oe-selftest.

Yash Shinde
2024-01-22T10:59:19Z

[-- Attachment #1: Type: text/plain, Size: 14752 bytes --]

On 20-01-2024 22:31, Randy MacLeod wrote:
> I like that you have broken the original patch down into 5 patches
> that are easier to
> understand.
>
> On 2024-01-19 10:09 a.m., Yash.Shinde@windriver.com wrote:
>> From: Yash Shinde<Yash.Shinde@windriver.com>
>>
>> Tests which are failing from below modules are added to exclude list
>> tests/run-make
>> tests/rustdoc
>> tests/mir-opt
>> tests/ui-fulldeps
>>
>> * Redundent test cases whose parent dir is also present in exclud list are removed.
>>
>> * Newly addded tests are sorted and updated.
>>
>> * Overall exclude tests count in exclude list is now reduced to 114.
> We need to resolve the mips32 problems that Richard pointed out.
>
> Should we skip all the rust tests for mips32?
>
In previous oe-selftest implementation, we skipped rust tests for mips32.
I think we should continue with it as rust tests are unstable with mips32.

>
> Please submit a v3 with the mips fix/avoidance and split this exclude
> list commit down into 3 steps:
>
>  1. Sort the existing list of tests
>  2. Remove the test cases whose parent dir is also present in the
> exclude list
>
>  3. Add the new tests that are to be excluded.
>
> This may seem really pedantic but otherwise the changes are really
> hard to review.
>
> The way I think about this is that someone looking at the commit log
> might be interested
> in exactly which tests are in being added to the exclude list so that
> should be clear from 3.
> 1. won't really be of interest so most people will skip over that
> 2. also won't be of interest to most people
> but you need 1 and 2 to make 3 be apparent to people who want that
> info quickly.
>
For 1 the existing list of tests are already sorted.
I will send a v3 with separate commits for:

1. newly added test cases
2. removing test cases whose parent dir is also present in the exclude
list 3. sorting the overall final list Regards, Yash

> Thanks,
>
> ../Randy
>
>> * The testing is done on arm32, arm64, mips64, x86 and x86_64 targets.
>>
>> Signed-off-by: Yash Shinde<Yash.Shinde@windriver.com>
>> ---
>> meta/lib/oeqa/selftest/cases/rust.py | 165 +++++----------------
>> meta/recipes-devtools/rust/rust-source.inc | 4 +
>> 2 files changed, 43 insertions(+), 126 deletions(-)
>>
>> diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
>> index 6dbc517006..7d0efb1b01 100644
>> --- a/meta/lib/oeqa/selftest/cases/rust.py
>> +++ b/meta/lib/oeqa/selftest/cases/rust.py
>> @@ -40,7 +40,7 @@ def parse_results(filename):
>> class RustSelfTestSystemEmulated(OESelftestTestCase, OEPTestResultTestCase):
>> def test_rust(self, *args, **kwargs):
>> # Disable Rust Oe-selftest
>> - self.skipTest("The Rust Oe-selftest is disabled.")
>> + #self.skipTest("The Rust Oe-selftest is disabled.")
>>
>> # build remote-test-server before image build
>> recipe = "rust" @@ -73,156 +73,90 @@ class
>> RustSelfTestSystemEmulated(OESelftestTestCase,
>> OEPTestResultTestCase): 'src/librustdoc', 'src/rustdoc-json-types',
>> 'src/tools/compiletest/src/common.rs', + 'src/tools/jsondoclint',
>> 'src/tools/lint-docs', + 'src/tools/replace-version-placeholder',
>> 'src/tools/rust-analyzer', 'src/tools/rustdoc-themes',
>> 'src/tools/tidy', 'tests/assembly/asm/aarch64-outline-atomics.rs', +
>> 'tests/codegen/abi-efiapi.rs', + 'tests/codegen/abi-efiapi.rs',
>> 'tests/codegen/abi-main-signature-32bit-c-int.rs',
>> 'tests/codegen/abi-repr-ext.rs', + 'tests/codegen/abi-sysv64.rs',
>> 'tests/codegen/abi-x86-interrupt.rs', +
>> 'tests/codegen/align-byval.rs', + 'tests/codegen/align-fn.rs', +
>> 'tests/codegen/asm-powerpc-clobbers.rs', +
>> 'tests/codegen/async-fn-debug-awaitee-field.rs', +
>> 'tests/codegen/binary-search-index-no-bound-check.rs',
>> 'tests/codegen/branch-protection.rs', +
>> 'tests/codegen/call-metadata.rs', 'tests/codegen/catch-unwind.rs',
>> 'tests/codegen/cf-protection.rs', + 'tests/codegen/debug-column.rs',
>> + 'tests/codegen/debug-limited.rs', +
>> 'tests/codegen/debuginfo-generic-closure-env-names.rs', +
>> 'tests/codegen/drop.rs', +
>> 'tests/codegen/dst-vtable-align-nonzero.rs', +
>> 'tests/codegen/enable-lto-unit-splitting.rs',
>> 'tests/codegen/enum-bounds-check-derived-idx.rs', +
>> 'tests/codegen/enum/enum-u128.rs', +
>> 'tests/codegen/fn-impl-trait-self.rs',
>> 'tests/codegen/force-unwind-tables.rs', +
>> 'tests/codegen/inherit_overflow.rs', +
>> 'tests/codegen/inherit_overflow.rs', +
>> 'tests/codegen/inline-function-args-debug-info.rs',
>> 'tests/codegen/intrinsic-no-unnamed-attr.rs', +
>> 'tests/codegen/intrinsics/mask.rs', +
>> 'tests/codegen/intrinsics/transmute-niched.rs',
>> 'tests/codegen/issues/issue-103840.rs',
>> 'tests/codegen/issues/issue-47278.rs', +
>> 'tests/codegen/issues/issue-73258.rs',
>> 'tests/codegen/issues/issue-73827-bounds-check-index-in-subexpr.rs',
>> + 'tests/codegen/issues/issue-75546.rs', +
>> 'tests/codegen/issues/issue-77812.rs', +
>> 'tests/codegen/issues/issue-98156-const-arg-temp-lifetime.rs',
>> 'tests/codegen/lifetime_start_end.rs', +
>> 'tests/codegen/llvm-ident.rs',
>> 'tests/codegen/local-generics-in-exe-internalized.rs', +
>> 'tests/codegen/mainsubprogram.rs',
>> 'tests/codegen/match-unoptimized.rs', +
>> 'tests/codegen/move-operands.rs',
>> 'tests/codegen/noalias-rwlockreadguard.rs',
>> 'tests/codegen/non-terminate/nonempty-infinite-loop.rs',
>> 'tests/codegen/noreturn-uninhabited.rs',
>> 'tests/codegen/repr-transparent-aggregates-3.rs', +
>> 'tests/codegen/repr/transparent-mips64.rs',
>> 'tests/codegen/sse42-implies-crc32.rs',
>> 'tests/codegen/thread-local.rs', 'tests/codegen/uninit-consts.rs', +
>> 'tests/mir-opt/', 'tests/pretty/raw-str-nonexpr.rs',
>> 'tests/run-make', - 'tests/run-make/cdylib-fewer-symbols/foo.rs', -
>> 'tests/run-make/doctests-keep-binaries/t.rs', -
>> 'tests/run-make-fulldeps', - 'tests/run-make/issue-22131/foo.rs', -
>> 'tests/run-make/issue-36710/Makefile', -
>> 'tests/run-make/issue-47551', - 'tests/run-make/pgo-branch-weights',
>> - 'tests/run-make/pgo-gen', - 'tests/run-make/pgo-gen-lto', -
>> 'tests/run-make/pgo-indirect-call-promotion', -
>> 'tests/run-make/pgo-use', -
>> 'tests/run-make/pointer-auth-link-with-c/Makefile', -
>> 'tests/run-make/profile', - 'tests/run-make/static-pie', -
>> 'tests/run-make/sysroot-crates-are-unstable', -
>> 'tests/run-make/target-specs', 'tests/rustdoc', -
>> 'tests/rustdoc/async-move-doctest.rs', -
>> 'tests/rustdoc/async-trait.rs', - 'tests/rustdoc/auto-traits.rs', -
>> 'tests/rustdoc/check-source-code-urls-to-def.rs', -
>> 'tests/rustdoc/comment-in-doctest.rs', -
>> 'tests/rustdoc/const-generics/const-generics-docs.rs', -
>> 'tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs', -
>> 'tests/rustdoc/cross-crate-hidden-impl-parameter.rs', -
>> 'tests/rustdoc/cross-crate-links.rs', -
>> 'tests/rustdoc/cross-crate-primitive-doc.rs', -
>> 'tests/rustdoc/doctest-manual-crate-name.rs', -
>> 'tests/rustdoc/edition-doctest.rs', -
>> 'tests/rustdoc/edition-flag.rs', -
>> 'tests/rustdoc/elided-lifetime.rs', -
>> 'tests/rustdoc/external-macro-src.rs', -
>> 'tests/rustdoc/extern-html-root-url.rs', -
>> 'tests/rustdoc/extern-impl-trait.rs', -
>> 'tests/rustdoc/hide-unstable-trait.rs', -
>> 'tests/rustdoc/inline_cross/add-docs.rs', -
>> 'tests/rustdoc/inline_cross/default-trait-method.rs', -
>> 'tests/rustdoc/inline_cross/dyn_trait.rs', -
>> 'tests/rustdoc/inline_cross/impl_trait.rs', -
>> 'tests/rustdoc/inline_cross/issue-24183.rs', -
>> 'tests/rustdoc/inline_cross/macros.rs', -
>> 'tests/rustdoc/inline_cross/trait-vis.rs', -
>> 'tests/rustdoc/inline_cross/use_crate.rs', -
>> 'tests/rustdoc/intra-doc-crate/self.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/additional_doc.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/basic.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/crate.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/hidden.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/macro.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/module.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs', -
>> 'tests/rustdoc/intra-doc/cross-crate/traits.rs', -
>> 'tests/rustdoc/intra-doc/extern-builtin-type-impl.rs', -
>> 'tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs', -
>> 'tests/rustdoc/intra-doc/extern-crate.rs', -
>> 'tests/rustdoc/intra-doc/extern-inherent-impl.rs', -
>> 'tests/rustdoc/intra-doc/extern-reference-link.rs', -
>> 'tests/rustdoc/intra-doc/issue-103463.rs', -
>> 'tests/rustdoc/intra-doc/issue-104145.rs', -
>> 'tests/rustdoc/intra-doc/issue-66159.rs', -
>> 'tests/rustdoc/intra-doc/pub-use.rs', -
>> 'tests/rustdoc/intra-doc/reexport-additional-docs.rs', -
>> 'tests/rustdoc/issue-18199.rs', - 'tests/rustdoc/issue-23106.rs', -
>> 'tests/rustdoc/issue-23744.rs', - 'tests/rustdoc/issue-25944.rs', -
>> 'tests/rustdoc/issue-30252.rs', - 'tests/rustdoc/issue-38129.rs', -
>> 'tests/rustdoc/issue-40936.rs', - 'tests/rustdoc/issue-43153.rs', -
>> 'tests/rustdoc/issue-46727.rs', - 'tests/rustdoc/issue-48377.rs', -
>> 'tests/rustdoc/issue-48414.rs', - 'tests/rustdoc/issue-53689.rs', -
>> 'tests/rustdoc/issue-54478-demo-allocator.rs', -
>> 'tests/rustdoc/issue-57180.rs', - 'tests/rustdoc/issue-61592.rs', -
>> 'tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs', -
>> 'tests/rustdoc/issue-75588.rs', - 'tests/rustdoc/issue-85454.rs', -
>> 'tests/rustdoc/issue-86620.rs', - 'tests/rustdoc-json',
>> 'tests/rustdoc-js-std', - 'tests/rustdoc/macro_pub_in_module.rs', -
>> 'tests/rustdoc/masked.rs', - 'tests/rustdoc/normalize-assoc-item.rs',
>> - 'tests/rustdoc/no-stack-overflow-25295.rs', -
>> 'tests/rustdoc/primitive-reexport.rs', -
>> 'tests/rustdoc/process-termination.rs', -
>> 'tests/rustdoc/pub-extern-crate.rs', -
>> 'tests/rustdoc/pub-use-extern-macros.rs', -
>> 'tests/rustdoc/reexport-check.rs', -
>> 'tests/rustdoc/reexport-dep-foreign-fn.rs', -
>> 'tests/rustdoc/reexport-doc.rs', - 'tests/rustdoc/reexports-priv.rs',
>> - 'tests/rustdoc/reexports.rs', -
>> 'tests/rustdoc/rustc,-incoherent-impls.rs', -
>> 'tests/rustdoc/test_option_check/bar.rs', -
>> 'tests/rustdoc/test_option_check/test.rs', -
>> 'tests/rustdoc/trait-alias-mention.rs', -
>> 'tests/rustdoc/trait-visibility.rs', + 'tests/rustdoc-json',
>> 'tests/rustdoc-ui/cfg-test.rs', 'tests/rustdoc-ui/check-cfg-test.rs',
>> 'tests/rustdoc-ui/display-output.rs',
>> 'tests/rustdoc-ui/doc-comment-multi-line-attr.rs',
>> 'tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs',
>> 'tests/rustdoc-ui/doc-test-doctest-feature.rs', +
>> 'tests/rustdoc-ui/doc-test-rustdoc-feature.rs',
>> 'tests/rustdoc-ui/doctest-multiline-crate-attribute.rs',
>> 'tests/rustdoc-ui/doctest-output.rs', -
>> 'tests/rustdoc-ui/doc-test-rustdoc-feature.rs',
>> 'tests/rustdoc-ui/failed-doctest-compile-fail.rs',
>> 'tests/rustdoc-ui/issue-80992.rs', 'tests/rustdoc-ui/issue-91134.rs',
>> + 'tests/rustdoc-ui/no-run-flag.rs',
>> 'tests/rustdoc-ui/nocapture-fail.rs',
>> 'tests/rustdoc-ui/nocapture.rs', - 'tests/rustdoc-ui/no-run-flag.rs',
>> 'tests/rustdoc-ui/run-directory.rs',
>> 'tests/rustdoc-ui/test-no_std.rs', 'tests/rustdoc-ui/test-type.rs', -
>> 'tests/rustdoc/unit-return.rs', + 'tests/ui-fulldeps/',
>> 'tests/ui/abi/stack-probes-lto.rs', 'tests/ui/abi/stack-probes.rs',
>> 'tests/ui/array-slice-vec/subslice-patterns-const-eval-match.rs', @@
>> -233,31 +167,10 @@ class
>> RustSelfTestSystemEmulated(OESelftestTestCase,
>> OEPTestResultTestCase):
>> 'tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs',
>> 'tests/ui/drop/dynamic-drop.rs', 'tests/ui/empty_global_asm.rs', -
>> 'tests/ui-fulldeps/deriving-encodable-decodable-box.rs', -
>> 'tests/ui-fulldeps/deriving-encodable-decodable-cell-refcell.rs', -
>> 'tests/ui-fulldeps/deriving-global.rs', -
>> 'tests/ui-fulldeps/deriving-hygiene.rs', -
>> 'tests/ui-fulldeps/dropck_tarena_sound_drop.rs', -
>> 'tests/ui-fulldeps/empty-struct-braces-derive.rs', -
>> 'tests/ui-fulldeps/internal-lints/bad_opt_access.rs', -
>> 'tests/ui-fulldeps/internal-lints/bad_opt_access.stderr', -
>> 'tests/ui-fulldeps/internal-lints/default_hash_types.rs', -
>> 'tests/ui-fulldeps/internal-lints/diagnostics.rs', -
>> 'tests/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs', -
>> 'tests/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs', -
>> 'tests/ui-fulldeps/internal-lints/query_stability.rs', -
>> 'tests/ui-fulldeps/internal-lints/rustc_pass_by_value.rs', -
>> 'tests/ui-fulldeps/internal-lints/ty_tykind_usage.rs', -
>> 'tests/ui-fulldeps/issue-14021.rs', -
>> 'tests/ui-fulldeps/lint-group-denied-lint-allowed.rs', -
>> 'tests/ui-fulldeps/lint-group-forbid-always-trumps-cli.rs', -
>> 'tests/ui-fulldeps/lint-pass-macros.rs', -
>> 'tests/ui-fulldeps/regions-mock-tcx.rs', -
>> 'tests/ui-fulldeps/rustc_encodable_hygiene.rs', -
>> 'tests/ui-fulldeps/session-diagnostic/enforce_slug_naming.rs',
>> 'tests/ui/functions-closures/fn-help-with-err.rs',
>> 'tests/ui/linkage-attr/issue-10755.rs',
>> 'tests/ui/macros/restricted-shadowing-legacy.rs', +
>> 'tests/ui/numbers-arithmetic/u128.rs',
>> 'tests/ui/process/nofile-limit.rs',
>> 'tests/ui/process/process-panic-after-fork.rs',
>> 'tests/ui/process/process-sigpipe.rs', diff --git
>> a/meta/recipes-devtools/rust/rust-source.inc
>> b/meta/recipes-devtools/rust/rust-source.inc index
>> 83a0dbc15f..e02829e6b3 100644 ---
>> a/meta/recipes-devtools/rust/rust-source.inc +++
>> b/meta/recipes-devtools/rust/rust-source.inc @@ -10,6 +10,10 @@
>> SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n
>> file://0004-musl-Define-O_LARGEFILE-for-riscv32.patch;patchdir=${RUSTSRC} \
>> file://0005-musl-Define-SOCK_SEQPACKET-in-common-place.patch;patchdir=${RUSTSRC} \
>> file://0001-Revert-Map-source-absolute-paths-to-OUT_DIR-as-relat.patch;patchdir=${RUSTSRC} \
>> +file://cargo-path.patch;patchdir=${RUSTSRC} \
>> +file://custom-target-cfg.patch;patchdir=${RUSTSRC} \
>> +file://rustc-bootstrap.patch;patchdir=${RUSTSRC} \
>> +file://target-build-value.patch;patchdir=${RUSTSRC} \
>> "
>> SRC_URI[rust.sha256sum] = "b98c09d968529212fb29eec7d6d3e9bdaa869810679b7fb86a1ca69469d75f5e"
>>
>
>
> --
> # Randy MacLeod
> # Wind River Linux

[-- Attachment #2: Type: text/html, Size: 32402 bytes --]