[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    Re: [OE-core] [PATCH v14] Rust Oe-Selftest implementation
From:       "Sundeep KOKKONDA via lists.openembedded.org" <sundeep.kokkonda=windriver.com () li
Date:       2023-05-31 6:49:52
Message-ID: CH2PR11MB4470880E838BBC66386FA2A489489 () CH2PR11MB4470 ! namprd11 ! prod ! outlook ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hello Richard,

We've (re)tested and reviewed the results of this patch on our local setup =
and those are "PASSED".
We will discuss further with Randy and get back to community.



Thanks,
Sundeep K.


________________________________
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Sent: 30 May 2023 19:29
To: Yash Shinde <yashinde145@gmail.com>; openembedded-core@lists.openembedd=
ed.org <openembedded-core@lists.openembedded.org>
Cc: MacLeod, Randy <Randy.MacLeod@windriver.com>; Kallapa, Umesh <Umesh.Kal=
lapa@windriver.com>; Gowda, Naveen <Naveen.Gowda@windriver.com>; Kokkonda, =
Sundeep <Sundeep.Kokkonda@windriver.com>; Moodalappa, Shivaprasad <Shivapra=
sad.Moodalappa@windriver.com>; Shinde, Yash <Yash.Shinde@windriver.com>
Subject: Re: [PATCH v14] Rust Oe-Selftest implementation

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 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 <pgowda.cve@gmail.com>
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> Signed-off-by: Yash Shinde <yashinde145@gmail.com>
> ---
>  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.pat=
ch

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

[Attachment #5 (text/html)]

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} \
</style> </head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> Hello Richard,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> We've (re)tested and reviewed the \
results of this patch on our local setup and those are &quot;PASSED&quot;.</div> <div \
style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: \
rgb(0, 0, 0);" class="elementToProof"> We will discuss further with Randy and get \
back to community.</div> <div style="font-family: Calibri, Arial, Helvetica, \
sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof"> <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> Thanks,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> Sundeep K.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> <br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; \
color: rgb(0, 0, 0);" class="elementToProof"> <br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size: \
11pt; color: rgb(0, 0, 0);"><b>From:</b> Richard Purdie \
&lt;richard.purdie@linuxfoundation.org&gt;<br> <b>Sent:</b> 30 May 2023 19:29<br>
<b>To:</b> Yash Shinde &lt;yashinde145@gmail.com&gt;; \
openembedded-core@lists.openembedded.org \
&lt;openembedded-core@lists.openembedded.org&gt;<br> <b>Cc:</b> MacLeod, Randy \
&lt;Randy.MacLeod@windriver.com&gt;; Kallapa, Umesh \
&lt;Umesh.Kallapa@windriver.com&gt;; Gowda, Naveen \
&lt;Naveen.Gowda@windriver.com&gt;; Kokkonda, Sundeep \
&lt;Sundeep.Kokkonda@windriver.com&gt;; Moodalappa, Shivaprasad \
&lt;Shivaprasad.Moodalappa@windriver.com&gt;;  Shinde, Yash \
&lt;Yash.Shinde@windriver.com&gt;<br> <b>Subject:</b> Re: [PATCH v14] Rust \
Oe-Selftest implementation</font> <div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">CAUTION: This email comes from a non Wind River email \
account!<br> Do not click links or open attachments unless you recognize the sender \
and know the content is safe.<br> <br>
On Tue, 2023-05-30 at 16:21 +0530, Yash Shinde wrote:<br>
&gt; The patch implements Rust testing framework similar to other selftest,<br>
&gt; specifically the gcc selftest in OE. It uses the client and server<br>
&gt; based method to test the binaries for cross-target on the image.<br>
&gt; The test framework is a wrapper around the Rust build system as ./x.py<br>
&gt; test. It tests many functionalities of Rust distribution like tools,<br>
&gt; documentation, libraries, packages, tools, Cargo, Crater etc.<br>
&gt; Please refer the following link for detailed description of Rust<br>
&gt; testing:-<br>
&gt; <a href="https://rustc-dev-guide.rust-lang.org/tests/intro.html#tool-tests" \
data-auth="NotApplicable"> \
https://rustc-dev-guide.rust-lang.org/tests/intro.html#tool-tests</a><br> &gt;<br>
&gt; To support the rust tests in oe-core, the following functions were<br>
&gt; added:-<br>
&gt; setup_cargo_environment(): Build bootstrap and some early stage tools.<br>
&gt; do_rust_setup_snapshot(): Install the snapshot version of rust binaries.<br>
&gt; do_configure(): To generate config.toml<br>
&gt; do_compile(): To build &quot;remote-test-server&quot; for qemu target image.<br>
&gt;<br>
&gt; Approximate Number of Tests Run in the Rust Testsuite :- 18000<br>
&gt; Approximate Number of Tests that FAIL in bitbake environment :- 100-150<br>
&gt; Normally majority of the testcases are present in major folder \
&quot;test/&quot;<br> &gt; It contributes to more than 80% of the testcases present \
in Rust test<br> &gt; framework. These tests pass as expected on any Rust versions \
without<br> &gt; much fuss. The tests that fail are of less important and contribute \
to<br> &gt; less than 2% of the total testcases. These minor tests are observed \
to<br> &gt; work on some versions and fail on others. They have to be added, \
ignored<br> &gt; or excluded for different versions as per the behavior.<br>
&gt; These tests have been ignored or excluded in the Rust selftest<br>
&gt; environment to generate success of completing the testsuite.<br>
&gt;<br>
&gt; These tests work in parallel mode even in the skipped test mode as<br>
&gt; expected. Although the patch to disable tests is large, it is very simple<br>
&gt; in that it only disables tests. When updating to a newer version of Rust,<br>
&gt; the patch can usually be ported in a day.<br>
&gt;<br>
&gt; Tested for X86, X86-64, ARM, ARM64 and MIPS64 on CentOS release 6.10<br>
&gt;<br>
&gt; Signed-off-by: pgowda &lt;pgowda.cve@gmail.com&gt;<br>
&gt; Signed-off-by: Vinay Kumar &lt;vinay.m.engg@gmail.com&gt;<br>
&gt; Signed-off-by: Yash Shinde &lt;yashinde145@gmail.com&gt;<br>
&gt; ---<br>
&gt;&nbsp; meta/lib/oeqa/selftest/cases/rust.py&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
|&nbsp;&nbsp; 86 +<br> &gt;&nbsp; \
.../rust/files/rust-oe-selftest.patch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
| 2120 +++++++++++++++++<br> &gt;&nbsp; \
meta/recipes-devtools/rust/rust-source.inc&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; 1 \
+<br> &gt;&nbsp; meta/recipes-devtools/rust/rust_1.69.0.bb&nbsp;&nbsp;&nbsp;&nbsp; \
|&nbsp;&nbsp;&nbsp; 7 +<br> &gt;&nbsp; 4 files changed, 2214 insertions(+)<br>
&gt;&nbsp; create mode 100644 meta/lib/oeqa/selftest/cases/rust.py<br>
&gt;&nbsp; create mode 100644 \
meta/recipes-devtools/rust/files/rust-oe-selftest.patch<br> <br>
I did put this into a build for testing on the autobuilder. It hasn't<br>
been running long and I can already see build failures such as:<br>
<br>
<a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/103/builds/6077" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/103/builds/6077</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/7200" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/7200</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7190" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/40/builds/7190</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2923" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2923</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/7200" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/37/builds/7200</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/7217" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/7217</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/6080" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/6080</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/76/builds/7146" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/76/builds/7146</a><br>
 <a href="https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/7184" \
data-auth="NotApplicable">https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/7184</a><br>
 <br>
and there will likely be more.<br>
<br>
I'm finding this rather frustrating and am not sure how this was<br>
tested.<br>
<br>
Cheers,<br>
<br>
Richard<br>
</div>
</span></font></div>
</body>
</html>


["oe-selftest-results.log" (application/octet-stream)]

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181995): https://lists.openembedded.org/g/openembedded-core/message/181995
Mute This Topic: https://lists.openembedded.org/mt/99216990/4454766
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [openembedded-core@marc.info]
-=-=-=-=-=-=-=-=-=-=-=-



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic