On Tue, 2 Aug 2022 09:23:52 +0530 "Pgowda" <pgowda....@gmail.com> wrote:
> From: pgowda <pgowda....@gmail.com> > > 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/classes/rust-target-config.bbclass | 2 +- > meta/lib/oeqa/selftest/cases/rust.py | 57 +++ > meta/recipes-devtools/rust/rust-testsuite.inc | 164 ++++++ > .../rust-testsuite/rust-oe-selftest.patch | 477 ++++++++++++++++++ > .../rust/rust-testsuite_1.62.0.bb | 3 + > 5 files changed, 702 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.62.0.bb > > diff --git a/meta/classes/rust-target-config.bbclass > b/meta/classes/rust-target-config.bbclass > index 87b7dee3ed..26dc931971 100644 > --- a/meta/classes/rust-target-config.bbclass > +++ b/meta/classes/rust-target-config.bbclass > @@ -344,7 +344,7 @@ def rust_gen_target(d, thing, wd, arch): > tspec['linker-is-gnu'] = True > tspec['linker-flavor'] = "gcc" > tspec['has-rpath'] = True > - tspec['has-elf-tls'] = True > +# tspec['has-elf-tls'] = True I'm not sure of the meaning of the above change, can you clarify that? Thanks. -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#168771): https://lists.openembedded.org/g/openembedded-core/message/168771 Mute This Topic: https://lists.openembedded.org/mt/92764644/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-