From patchwork Thu Feb 5 16:12:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 80516 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F105ECD985 for ; Thu, 5 Feb 2026 16:12:52 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.24623.1770307968862159852 for ; Thu, 05 Feb 2026 08:12:49 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BBD5D339 for ; Thu, 5 Feb 2026 08:12:41 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BBA193F632 for ; Thu, 5 Feb 2026 08:12:47 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/2] python3-unittest-automake-output: upgrade to 0.4 Date: Thu, 5 Feb 2026 16:12:42 +0000 Message-ID: <20260205161243.3884987-1-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 05 Feb 2026 16:12:52 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/230583 Notable changes: pytest: handle skipping without custom message tests: update test output based on latest pytest Signed-off-by: Ross Burton --- ...ke-output_0.3.bb => python3-unittest-automake-output_0.4.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-devtools/python/{python3-unittest-automake-output_0.3.bb => python3-unittest-automake-output_0.4.bb} (89%) diff --git a/meta/recipes-devtools/python/python3-unittest-automake-output_0.3.bb b/meta/recipes-devtools/python/python3-unittest-automake-output_0.4.bb similarity index 89% rename from meta/recipes-devtools/python/python3-unittest-automake-output_0.3.bb rename to meta/recipes-devtools/python/python3-unittest-automake-output_0.4.bb index 66c1abee34..9b0c62f213 100644 --- a/meta/recipes-devtools/python/python3-unittest-automake-output_0.3.bb +++ b/meta/recipes-devtools/python/python3-unittest-automake-output_0.4.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f6f16008d9fb7349f06609329f1ab93b" SRC_URI = "git://gitlab.com/rossburton/python-unittest-automake-output;protocol=https;branch=main;tag=${PV}" -SRCREV = "3376ff9bc319f8338849b7b9f63b9325d7b7663a" +SRCREV = "4d64324a8910ad28b3157f902c35f19fcb479bc0" inherit python_flit_core From patchwork Thu Feb 5 16:12:43 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 80517 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 105A7ECD983 for ; Thu, 5 Feb 2026 16:12:52 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.24389.1770307969376635299 for ; Thu, 05 Feb 2026 08:12:49 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 652EC1516 for ; Thu, 5 Feb 2026 08:12:42 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6BC433F632 for ; Thu, 5 Feb 2026 08:12:48 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/2] oeqa/logparser: ignore comments in the test log Date: Thu, 5 Feb 2026 16:12:43 +0000 Message-ID: <20260205161243.3884987-2-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260205161243.3884987-1-ross.burton@arm.com> References: <20260205161243.3884987-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 05 Feb 2026 16:12:52 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/230584 Whilst the log format is normally pretty simple: PASS: foo SKIP: bar It's entirely possible for there to be an explanatory comment: SKIP: bar # only runs under Windows We currently use the entire string after the test state as the test name, which includes the comment. This can lead to long test names, for example: test_dtype.py:TestStructuredObjectRefcounting.test_structured_object_ create_delete[ones-1-]_#_SKIP_Python_3.12_has_immortal_ refcounts,_this_test_will_no_longer_work._See_gh-23986 Whilst these test names are very long it isn't normally a problem, but some packages have non-deterministic skip messages: test_ufunc.py:TestUfunc.test_identityless_reduction_huge_array_#_ SKIP_6.442450944_GB_memory_required,_but_3.366531072_GB_available This leads to churn in the test reports. The comment isn't needed, so strip it out when computing the test name. Note that this will result in a number of tests disappearing in the test reports, with an identical number of new tests appearing. [1] https://www.gnu.org/software/automake/manual/automake.html#Scripts_002dbased-Testsuites-1 Signed-off-by: Ross Burton --- meta/lib/oeqa/utils/logparser.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/utils/logparser.py b/meta/lib/oeqa/utils/logparser.py index 496d9e0c90..c479864162 100644 --- a/meta/lib/oeqa/utils/logparser.py +++ b/meta/lib/oeqa/utils/logparser.py @@ -77,10 +77,18 @@ class PtestParser(object): for t in test_regex: result = test_regex[t].search(line) if result: + section = result.group(1) + # It's possible that the output contains a comment, eg: + # SKIP: test_something # only needed for Windows + # If there's a comment, remove it. + if "#" in section: + section = section.partition("#")[0] + section = section.strip() + try: - self.results[current_section['name']][result.group(1).strip()] = t + self.results[current_section['name']][section] = t except KeyError: - bb.warn("Result with no section: %s - %s" % (t, result.group(1).strip())) + bb.warn("Result with no section: %s - %s" % (t, section)) # Python performance for repeatedly joining long strings is poor, do it all at once at the end. # For 2.1 million lines in a log this reduces 18 hours to 12s.