From: AdrianF <adrian.freihofer@siemens.com>
To: openembedded-core@lists.openembedded.org
Cc: Adrian Freihofer <adrian.freihofer@siemens.com>
Subject: [PATCH v2 1/9] oe-selftest: devtool: use stat for reading user/group names in ide-sdk tests
Date: Sun, 22 Mar 2026 16:12:52 +0100 [thread overview]
Message-ID: <20260322151320.661246-2-adrian.freihofer@siemens.com> (raw)
In-Reply-To: <20260322151320.661246-1-adrian.freihofer@siemens.com>
From: Adrian Freihofer <adrian.freihofer@siemens.com>
On some systems, ls truncates long user and group names, which causes the
ownership check to fail. For example:
AssertionError: Regex didn't match:
'^-.+ cmake-example cmake-example .+ /etc/cmake\\-example\\.conf$' not found in
'-rw-r--r-- 1 cmake-ex cmake-ex 83 Mar 9 2018 /etc/cmake-example.conf'
Use "stat -c '%U %G'" instead, which always returns the full user and group
names regardless of terminal width or system configuration.
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Mon Mar 2 23:32:13 2026 +0100
#
# interactive rebase in progress; onto c1fb515f2a
# Last commands done (3 commands done):
# pick 08cf9a6fc0 # Revert "devtool: ide-sdk deploy-target without bitbake"
# reword 2ab466cf23 # oe-selftest: devtool: use stat for reading user names in ide-sdk tests
# Next commands to do (3 remaining commands):
# reword 81562bd21a # oe-selftest/cpp-example: fix conf file ownership with static UIDs/GIDs
# reword 1f6fd56a04 # oe-selftest: devtool: GDB breakpoint after std::vector is constructed
# You are currently editing a commit while rebasing branch 'adrianf/ide-sdk-improvements' on 'c1fb515f2a'.
#
# Changes to be committed:
# modified: meta/lib/oeqa/selftest/cases/devtool.py
#
# ------------------------ >8 ------------------------
# Do not modify or remove the line above.
# Everything below it will be ignored.
diff --git c/meta/lib/oeqa/selftest/cases/devtool.py i/meta/lib/oeqa/selftest/cases/devtool.py
index 5f25c4803b..9d8ffcc786 100644
--- c/meta/lib/oeqa/selftest/cases/devtool.py
+++ i/meta/lib/oeqa/selftest/cases/devtool.py
@@ -2934,11 +2934,14 @@ class DevtoolIdeSdkTests(DevtoolBase):
def _verify_conf_file(self, qemu, conf_file, owner, group):
"""Helper to verify a configuration file is owned by the proper user and group"""
- ls_cmd = "ls -l %s" % conf_file
- status, output = qemu.run(ls_cmd)
- self.assertEqual(status, 0, msg="Failed to ls %s: %s" % (conf_file, output))
- self.assertRegex(output, rf"^-.+ {owner} {group} .+ {re.escape(conf_file)}$",
- msg="%s not owned by %s:%s: %s" % (conf_file, owner, group, output))
+ stat_cmd = "stat -c '%%U %%G' %s" % conf_file
+ status, output = qemu.run(stat_cmd)
+ self.assertEqual(status, 0, msg="Failed to stat %s: %s" % (conf_file, output))
+ actual_owner, actual_group = output.strip().split()
+ self.assertEqual(actual_owner, owner,
+ msg="%s not owned by user %s: got %s" % (conf_file, owner, actual_owner))
+ self.assertEqual(actual_group, group,
+ msg="%s not owned by group %s: got %s" % (conf_file, group, actual_group))
@OETestTag("runqemu")
def test_devtool_ide_sdk_none_qemu(self):
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
---
meta/lib/oeqa/selftest/cases/devtool.py | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 5f25c4803b..9d8ffcc786 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -2934,11 +2934,14 @@ class DevtoolIdeSdkTests(DevtoolBase):
def _verify_conf_file(self, qemu, conf_file, owner, group):
"""Helper to verify a configuration file is owned by the proper user and group"""
- ls_cmd = "ls -l %s" % conf_file
- status, output = qemu.run(ls_cmd)
- self.assertEqual(status, 0, msg="Failed to ls %s: %s" % (conf_file, output))
- self.assertRegex(output, rf"^-.+ {owner} {group} .+ {re.escape(conf_file)}$",
- msg="%s not owned by %s:%s: %s" % (conf_file, owner, group, output))
+ stat_cmd = "stat -c '%%U %%G' %s" % conf_file
+ status, output = qemu.run(stat_cmd)
+ self.assertEqual(status, 0, msg="Failed to stat %s: %s" % (conf_file, output))
+ actual_owner, actual_group = output.strip().split()
+ self.assertEqual(actual_owner, owner,
+ msg="%s not owned by user %s: got %s" % (conf_file, owner, actual_owner))
+ self.assertEqual(actual_group, group,
+ msg="%s not owned by group %s: got %s" % (conf_file, group, actual_group))
@OETestTag("runqemu")
def test_devtool_ide_sdk_none_qemu(self):
--
2.53.0
next prev parent reply other threads:[~2026-03-22 15:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-22 15:12 [PATCH v2 0/9] devtool: ide-sdk clang/LLDB support and minor fixes AdrianF
2026-03-22 15:12 ` AdrianF [this message]
2026-03-22 15:12 ` [PATCH v2 2/9] oe-selftest: devtool: GDB breakpoint after std::vector is constructed AdrianF
2026-03-22 15:12 ` [PATCH v2 3/9] oe-selftest: devtool: use assertRegex to match test output for meson AdrianF
2026-03-22 15:12 ` [PATCH v2 4/9] oe-selftest/cpp-example: fix conf file ownership with static UIDs/GIDs AdrianF
2026-03-22 15:12 ` [PATCH v2 5/9] devtool: ide-sdk: use TOOLCHAIN not TCOVERRIDE AdrianF
2026-03-22 15:12 ` [PATCH v2 6/9] devtool: ide-sdk debugger back-end abstraction AdrianF
2026-03-22 15:12 ` [PATCH v2 7/9] devtool: ide-sdk add LLDB support for clang toolchain AdrianF
2026-03-22 15:12 ` [PATCH v2 8/9] meta-selftest: refactor cpp examples into .inc files and add clang variants AdrianF
2026-03-22 15:13 ` [PATCH v2 9/9] oe-selftest: devtool ide-sdk: add clang/LLDB test AdrianF
2026-03-24 17:22 ` [OE-core] " Mathieu Dubois-Briand
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=20260322151320.661246-2-adrian.freihofer@siemens.com \
--to=adrian.freihofer@siemens.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