public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: "Mathieu Dubois-Briand" <mathieu.dubois-briand@bootlin.com>
To: <deepesh.varatharajan@windriver.com>,
	<openembedded-core@lists.openembedded.org>
Cc: <Randy.MacLeod@windriver.com>, <Sundeep.Kokkonda@windriver.com>,
	<Deepesh.Varatharajan@windriver.com>
Subject: Re: [OE-core] [RFC 0/4] Oe-selftest for Clang, LLVM, LLD
Date: Sun, 15 Feb 2026 09:54:05 +0100	[thread overview]
Message-ID: <DGFEQCUUIEW0.2TQTA9GWZH8SK@bootlin.com> (raw)
In-Reply-To: <20260203140337.1971735-1-Deepesh.Varatharajan@windriver.com>

On Tue Feb 3, 2026 at 3:03 PM CET, Deepesh via lists.openembedded.org Varatharajan wrote:
> From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
>
> This patch series introduces a test framework to run selftests for both
> native and target builds of Clang, LLVM, and LLD.
>
> Summary of changes: 
> -Patch 1: Disable clang-tools-extra tests because Clang's CMake cannot 
>           see the llvm-bcanalyzer target.
> -Patch 2: Enabled the required CMake flags for clang, llvm & lld tests
> -Patch 3: Selftest script for Clang, LLVM, and LLD including exclude list
> -Patch 4: Fix rust build failure by replacing target llvm-config with native
>
> Testing:
> 1. The test suite has been successfully validated on x86-64, arm64, riscv64,
> and arm32 for all three components.
> 2. Clang, LLVM & LLD all together ~80K tests are there and we currently 
> ~200 tests to exclude list which are failing (0.25%).
>
> WIP:
> LLVM target tests are currently failing on x86. This is under investigation
> and will be addressed
>
> Deepesh Varatharajan (4):
>   clang-tools-extra: disable tests
>   clang: Enable tests for llvm, clang, lld
>   oeqa/selftest/clang: Add selftest for Clang/LLVM/LLD
>   rust: Fix rust build failure
>
>  meta/lib/oeqa/selftest/cases/clang.py         | 301 ++++++++++++++++++
>  .../0042-guard-clang-tools-extra-test.patch   |  74 +++++
>  meta/recipes-devtools/clang/clang_git.bb      |   3 +-
>  meta/recipes-devtools/clang/common.inc        |   1 +
>  meta/recipes-devtools/clang/lld_git.bb        |   2 +-
>  meta/recipes-devtools/clang/llvm_git.bb       |  11 +-
>  meta/recipes-devtools/rust/rust_1.92.0.bb     |   5 +-
>  7 files changed, 389 insertions(+), 8 deletions(-)
>  create mode 100644 meta/lib/oeqa/selftest/cases/clang.py
>  create mode 100644 meta/recipes-devtools/clang/clang/0042-guard-clang-tools-extra-test.patch

Hi Deepesh,

Thanks for this series. I know it's still RFC, but it went in my
week-end batch of RFC patches tested on the autobuilder.

So far, we had the following issues:

2026-02-14 17:23:02,046 - oe-selftest - INFO - clang.ClangFamilyNativeSelfTest.test_clang_family_native (subunit.RemotedTestCase)
2026-02-14 17:23:02,049 - oe-selftest - INFO -  ... FAIL
...
subprocess.CalledProcessError: Command '/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1314344/tmp/work/aarch64-linux/clang-native/21.1.8/build/bin/llvm-lit --filter-out 'arm|i386|x86_64|x86|mips|riscv|riscv64|ppc|ppc64|hexagon|sparc|sparcv9|msp430|loongarch|Mac|macho|Darwin|OSX|wasm|Windows|Win|MinGW|COFF|zos|FreeBSD|aix|fuchsia|ve' '/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1314344/tmp/work/aarch64-linux/clang-native/21.1.8/build/test' -o '/srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-1314344/tmp/work/aarch64-linux/clang-native/21.1.8/temp/clang-native-results.log'' returned non-zero exit status 127.
...

https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/3316
https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/3214
https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/3090

A second one:

2026-02-14 18:07:00,151 - oe-selftest - INFO - 2: 1/1 8/21 (222.35s) (0 failed) (clang.LLDSelfTestSystemEmulated.test_lld)
2026-02-14 18:07:00,152 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86-tc/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/clang.py", line 298, in test_lld
    raise AssertionError(f"llvm-lit failed for LLD: {output}")
AssertionError: llvm-lit failed for LLD: sh: line 1: cd: /srv/pokybuild/yocto-worker/qemux86-tc/build/build-st-2874234/tmp/work/core2-32-poky-linux/lld/21.1.8/build/bin: No such file or directory

https://autobuilder.yoctoproject.org/valkyrie/#/builders/28/builds/3136
https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/3113

And a third one:

2026-02-14 21:12:51,873 - oe-selftest - INFO - 3: 1/1 21/21 (18519.15s) (0 failed) (clang.LLVMSelfTestSystemEmulated.test_llvm)
2026-02-14 21:12:51,873 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemuriscv64-tc/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/clang.py", line 217, in test_llvm
    raise AssertionError(f"llvm-lit failed for LLVM: {output}")
AssertionError: llvm-lit failed for LLVM: /srv/pokybuild/yocto-worker/qemuriscv64-tc/build/build-st-2197806/tmp/hosttools/ld.gold: line 2: /usr/bin/ld.gold: No such file or directory
-- Testing: 22642 of 57881 tests, 4 workers --
...
Process ForkServerPoolWorker-2:
Traceback (most recent call last):
  File "/usr/lib/python3.14/multiprocessing/pool.py", line 131, in worker
    put((job, i, result))
    ~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/queues.py", line 397, in put
    self._writer.send_bytes(obj)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/usr/lib/python3.14/multiprocessing/connection.py", line 206, in send_bytes
    self._send_bytes(m[offset:offset + size])
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/connection.py", line 444, in _send_bytes
    self._send(header + buf)
    ~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/multiprocessing/connection.py", line 400, in _send
    n = write(self._handle, buf)
BrokenPipeError: [Errno 32] Broken pipe

https://autobuilder.yoctoproject.org/valkyrie/#/builders/58/builds/1041
https://autobuilder.yoctoproject.org/valkyrie/#/builders/66/builds/3210

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



      parent reply	other threads:[~2026-02-15  8:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-03 14:03 [RFC 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh.Varatharajan
2026-02-03 14:03 ` [RFC 1/4] clang-tools-extra: disable tests Deepesh.Varatharajan
2026-02-03 14:03 ` [RFC 2/4] clang: Enable tests for llvm, clang, lld Deepesh.Varatharajan
2026-02-03 16:08   ` [OE-core] " Peter Kjellerstedt
2026-02-04  5:34     ` Deepesh Varatharajan
2026-02-03 14:03 ` [RFC 3/4] oeqa/selftest/clang: Add selftest for Clang/LLVM/LLD Deepesh.Varatharajan
2026-02-03 14:03 ` [RFC 4/4] rust: Fix rust build failure Deepesh.Varatharajan
2026-02-12 16:34 ` [RFC 0/4] Oe-selftest for Clang, LLVM, LLD Deepesh Varatharajan
2026-02-12 18:01   ` [OE-core] " Alexander Kanavin
2026-02-15  8:54 ` Mathieu Dubois-Briand [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DGFEQCUUIEW0.2TQTA9GWZH8SK@bootlin.com \
    --to=mathieu.dubois-briand@bootlin.com \
    --cc=Randy.MacLeod@windriver.com \
    --cc=Sundeep.Kokkonda@windriver.com \
    --cc=deepesh.varatharajan@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox