selftest/recipetool: Factor tomllib test to a function

As more tests start to need this codeblock, factor it into a common function.

(From OE-Core rev: c154eba9aa8e7d780ce2c5a18cbc0756a30850d1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2024-02-09 09:27:24 +00:00
parent df0a2575ec
commit f9ed2bdfdb

View File

@@ -28,6 +28,16 @@ def tearDownModule():
runCmd('rm -rf %s' % templayerdir)
def needTomllib(test):
# This test require python 3.11 or above for the tomllib module or tomli module to be installed
try:
import tomllib
except ImportError:
try:
import tomli
except ImportError:
test.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
class RecipetoolBase(devtool.DevtoolTestCase):
def setUpLocal(self):
@@ -554,15 +564,8 @@ class RecipetoolCreateTests(RecipetoolBase):
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_python3_pep517_setuptools_build_meta(self):
# This test require python 3.11 or above for the tomllib module
# or tomli module to be installed
try:
import tomllib
except ImportError:
try:
import tomli
except ImportError:
self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
# This test require python 3.11 or above for the tomllib module or tomli module to be installed
needTomllib(self)
# Test creating python3 package from tarball (using setuptools.build_meta class)
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -583,15 +586,8 @@ class RecipetoolCreateTests(RecipetoolBase):
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_python3_pep517_poetry_core_masonry_api(self):
# This test require python 3.11 or above for the tomllib module
# or tomli module to be installed
try:
import tomllib
except ImportError:
try:
import tomli
except ImportError:
self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
# This test require python 3.11 or above for the tomllib module or tomli module to be installed
needTomllib(self)
# Test creating python3 package from tarball (using poetry.core.masonry.api class)
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -612,15 +608,8 @@ class RecipetoolCreateTests(RecipetoolBase):
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_python3_pep517_flit_core_buildapi(self):
# This test require python 3.11 or above for the tomllib module
# or tomli module to be installed
try:
import tomllib
except ImportError:
try:
import tomli
except ImportError:
self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
# This test require python 3.11 or above for the tomllib module or tomli module to be installed
needTomllib(self)
# Test creating python3 package from tarball (using flit_core.buildapi class)
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -641,15 +630,8 @@ class RecipetoolCreateTests(RecipetoolBase):
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_python3_pep517_hatchling(self):
# This test require python 3.11 or above for the tomllib module
# or tomli module to be installed
try:
import tomllib
except ImportError:
try:
import tomli
except ImportError:
self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
# This test require python 3.11 or above for the tomllib module or tomli module to be installed
needTomllib(self)
# Test creating python3 package from tarball (using hatchling class)
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -671,15 +653,8 @@ class RecipetoolCreateTests(RecipetoolBase):
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_python3_pep517_maturin(self):
# This test require python 3.11 or above for the tomllib module
# or tomli module to be installed
try:
import tomllib
except ImportError:
try:
import tomli
except ImportError:
self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module')
# This test require python 3.11 or above for the tomllib module or tomli module to be installed
needTomllib(self)
# Test creating python3 package from tarball (using maturin class)
temprecipe = os.path.join(self.tempdir, 'recipe')