From cb7499e8fea0c4d5e607c91bbc2623c3e4e5db74 Mon Sep 17 00:00:00 2001 From: Sunil Dora Date: Fri, 27 Mar 2026 19:16:35 +0530 Subject: [PATCH] license.py: Drop visit_Str from SeenVisitor in selftest ast.Str was deprecated in Python 3.8 and removed in Python 3.14. In [1], visit_Str was already removed from the LicenseVisitor subclasses (FlattenVisitor, ListVisitor) in oe/license.py since bitbake now requires Python 3.8+. However, the test-only SeenVisitor class in the selftest was missed at that time and still uses visit_Str/node.s. On Python 3.14, ast.Str is fully removed so visit_Str is never called, causing test_single_licenses to return [] instead of the expected license list. Replace visit_Str/node.s with visit_Constant/node.value in SeenVisitor. [1] https://git.openembedded.org/openembedded-core/commit/meta/lib/oe/license.py?id=6d3da37adbcaf5a7a3dade08f9d052571b195249 Fixes [YOCTO #16220] (From OE-Core rev: f8ac1b567d7c09ee45cb0d23fc9dd25987a76129) Signed-off-by: Sunil Dora Signed-off-by: Richard Purdie (cherry picked from commit 8a5b019eec72676893507d018e7609745d2e3f49) Signed-off-by: Yoann Congal Signed-off-by: Paul Barker --- meta/lib/oeqa/selftest/cases/oelib/license.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/oelib/license.py b/meta/lib/oeqa/selftest/cases/oelib/license.py index 5eea12e761..49b28951f7 100644 --- a/meta/lib/oeqa/selftest/cases/oelib/license.py +++ b/meta/lib/oeqa/selftest/cases/oelib/license.py @@ -12,8 +12,8 @@ class SeenVisitor(oe.license.LicenseVisitor): self.seen = [] oe.license.LicenseVisitor.__init__(self) - def visit_Str(self, node): - self.seen.append(node.s) + def visit_Constant(self, node): + self.seen.append(node.value) class TestSingleLicense(TestCase): licenses = [