On Tue, 2023-05-30 at 16:21 +0530, Yash Shinde 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. > > Tested for X86, X86-64, ARM, ARM64 and MIPS64 on CentOS release 6.10 > > Signed-off-by: pgowda <[email protected]> > Signed-off-by: Vinay Kumar <[email protected]> > Signed-off-by: Yash Shinde <[email protected]> > --- > meta/lib/oeqa/selftest/cases/rust.py | 86 + > .../rust/files/rust-oe-selftest.patch | 2120 +++++++++++++++++ > meta/recipes-devtools/rust/rust-source.inc | 1 + > meta/recipes-devtools/rust/rust_1.69.0.bb | 7 + > 4 files changed, 2214 insertions(+) > create mode 100644 meta/lib/oeqa/selftest/cases/rust.py > create mode 100644 meta/recipes-devtools/rust/files/rust-oe-selftest.patch
I did put this into a build for testing on the autobuilder. It hasn't been running long and I can already see build failures such as: https://autobuilder.yoctoproject.org/typhoon/#/builders/103/builds/6077 https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/7200 https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7190 https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2923 https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/7200 https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/7217 https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/6080 https://autobuilder.yoctoproject.org/typhoon/#/builders/76/builds/7146 https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/7184 and there will likely be more. I'm finding this rather frustrating and am not sure how this was tested. Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181925): https://lists.openembedded.org/g/openembedded-core/message/181925 Mute This Topic: https://lists.openembedded.org/mt/99216990/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
