diff mbox series

[kirkstone,06/12] oeqa/selftest/recipetool: fix for python 3.12

Message ID 20240215221711.332614-7-adrian.freihofer@siemens.com
State Accepted, archived
Commit 9c1a1110a317e1d64668badb13e74e474f96a7a9
Delegated to: Steve Sakoman
Headers show
Series python 3.12 related fixes | expand

Commit Message

Adrian Freihofer Feb. 15, 2024, 10:13 p.m. UTC
From: Adrian Freihofer <adrian.freihofer@gmail.com>

test_recipetool_create_github and test_recipetool_create_github_tarball
fail because the old meson version used by these tests cases does not
run on Python 3.12. The issue is in the dependencies.py which comes with
meson:
ERROR: build/tmp/work/recipetool-3z4osyl7/source/git/mesonbuild/
       dependencies.py:777: SyntaxWarning: invalid escape sequence '\.'

Use meson 1.3.1 (what is currently also used on master) as a reference
for these tests.

With this version of meson, recipetool creates recipes named
meson_git.bb or meson_1.3.1.bb. Since this looks more reasonable than
e.g. python3-meson_git.bb the test gets adapted.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backported from master: 7374a8a2810a6cf027bfefefe87691a3529123ff

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
---
 meta/lib/oeqa/selftest/cases/recipetool.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Comments

Steve Sakoman Feb. 17, 2024, 11:10 p.m. UTC | #1
I'm getting oe-selftest errors on all distros that seem to be related
to this patch.

Here are a couple of representative logs:

https://errors.yoctoproject.org/Errors/Details/753468/
https://errors.yoctoproject.org/Errors/Details/753470/

Thanks,

Steve

On Thu, Feb 15, 2024 at 12:17 PM Adrian Freihofer
<adrian.freihofer@gmail.com> wrote:
>
> From: Adrian Freihofer <adrian.freihofer@gmail.com>
>
> test_recipetool_create_github and test_recipetool_create_github_tarball
> fail because the old meson version used by these tests cases does not
> run on Python 3.12. The issue is in the dependencies.py which comes with
> meson:
> ERROR: build/tmp/work/recipetool-3z4osyl7/source/git/mesonbuild/
>        dependencies.py:777: SyntaxWarning: invalid escape sequence '\.'
>
> Use meson 1.3.1 (what is currently also used on master) as a reference
> for these tests.
>
> With this version of meson, recipetool creates recipes named
> meson_git.bb or meson_1.3.1.bb. Since this looks more reasonable than
> e.g. python3-meson_git.bb the test gets adapted.
>
> Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>
> Backported from master: 7374a8a2810a6cf027bfefefe87691a3529123ff
>
> Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
> ---
>  meta/lib/oeqa/selftest/cases/recipetool.py | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
> index db8790b57b..db21325155 100644
> --- a/meta/lib/oeqa/selftest/cases/recipetool.py
> +++ b/meta/lib/oeqa/selftest/cases/recipetool.py
> @@ -444,13 +444,13 @@ class RecipetoolCreateTests(RecipetoolBase):
>          temprecipe = os.path.join(self.tempdir, 'recipe')
>          os.makedirs(temprecipe)
>          recipefile = os.path.join(temprecipe, 'meson_git.bb')
> -        srcuri = 'https://github.com/mesonbuild/meson;rev=0.32.0'
> +        srcuri = 'https://github.com/mesonbuild/meson;rev=1.3.1'
>          result = runCmd(['recipetool', 'create', '-o', temprecipe, srcuri])
>          self.assertTrue(os.path.isfile(recipefile))
>          checkvars = {}
> -        checkvars['LICENSE'] = set(['Apache-2.0'])
> -        checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https;branch=master'
> -        inherits = ['setuptools3']
> +        checkvars['LICENSE'] = set(['Apache-2.0', 'Proprietary', 'Unknown'])
> +        checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https;branch=1.3'
> +        inherits = ['python_setuptools_build_meta']
>          self._test_recipe_contents(recipefile, checkvars, inherits)
>
>      def test_recipetool_create_python3_setuptools(self):
> @@ -476,15 +476,15 @@ class RecipetoolCreateTests(RecipetoolBase):
>          # Basic test to ensure github URL mangling doesn't apply to release tarballs
>          temprecipe = os.path.join(self.tempdir, 'recipe')
>          os.makedirs(temprecipe)
> -        pv = '0.32.0'
> +        pv = '1.3.1'
>          recipefile = os.path.join(temprecipe, 'meson_%s.bb' % pv)
>          srcuri = 'https://github.com/mesonbuild/meson/releases/download/%s/meson-%s.tar.gz' % (pv, pv)
>          result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
>          self.assertTrue(os.path.isfile(recipefile))
>          checkvars = {}
> -        checkvars['LICENSE'] = set(['Apache-2.0'])
> +        checkvars['LICENSE'] = set(['Apache-2.0', 'Proprietary', 'Unknown'])
>          checkvars['SRC_URI'] = 'https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz'
> -        inherits = ['setuptools3']
> +        inherits = ['python_setuptools_build_meta']
>          self._test_recipe_contents(recipefile, checkvars, inherits)
>
>      def _test_recipetool_create_git(self, srcuri, branch=None):
> --
> 2.43.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#195717): https://lists.openembedded.org/g/openembedded-core/message/195717
> Mute This Topic: https://lists.openembedded.org/mt/104382812/3620601
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [steve@sakoman.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
index db8790b57b..db21325155 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -444,13 +444,13 @@  class RecipetoolCreateTests(RecipetoolBase):
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
         recipefile = os.path.join(temprecipe, 'meson_git.bb')
-        srcuri = 'https://github.com/mesonbuild/meson;rev=0.32.0'
+        srcuri = 'https://github.com/mesonbuild/meson;rev=1.3.1'
         result = runCmd(['recipetool', 'create', '-o', temprecipe, srcuri])
         self.assertTrue(os.path.isfile(recipefile))
         checkvars = {}
-        checkvars['LICENSE'] = set(['Apache-2.0'])
-        checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https;branch=master'
-        inherits = ['setuptools3']
+        checkvars['LICENSE'] = set(['Apache-2.0', 'Proprietary', 'Unknown'])
+        checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https;branch=1.3'
+        inherits = ['python_setuptools_build_meta']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
     def test_recipetool_create_python3_setuptools(self):
@@ -476,15 +476,15 @@  class RecipetoolCreateTests(RecipetoolBase):
         # Basic test to ensure github URL mangling doesn't apply to release tarballs
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
-        pv = '0.32.0'
+        pv = '1.3.1'
         recipefile = os.path.join(temprecipe, 'meson_%s.bb' % pv)
         srcuri = 'https://github.com/mesonbuild/meson/releases/download/%s/meson-%s.tar.gz' % (pv, pv)
         result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
         self.assertTrue(os.path.isfile(recipefile))
         checkvars = {}
-        checkvars['LICENSE'] = set(['Apache-2.0'])
+        checkvars['LICENSE'] = set(['Apache-2.0', 'Proprietary', 'Unknown'])
         checkvars['SRC_URI'] = 'https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz'
-        inherits = ['setuptools3']
+        inherits = ['python_setuptools_build_meta']
         self._test_recipe_contents(recipefile, checkvars, inherits)
 
     def _test_recipetool_create_git(self, srcuri, branch=None):