oeqa/selftest/devtool: fix _test_devtool_add_git_url

This patch is a follow-up to the bug#15466.

As a reminder, the bug was about devtool’s submodule detection
checking for HEAD when a version is being passed.

As Vincent Kriek pointed out:
the --version that is being passed to devtool is only used for
setting the PV value in the recipe. To take into account the tag,
we add --srcrev to the command:
devtool add --srcrev v3.1.0 --version v3.1.0 mbedtls git://git@github.com/ARMmbed/mbedtls.git;protocol=https

Changes to _test_devtool_add_git_url have been made to take
into account the srcrev. srcrev will be passed as an optional
parameter because the test_devtool_add_git_style1
does not need the srcrev contrary to test_devtool_add_git_style2

Fixes [YOCTO #15466]

(From OE-Core rev: a8686f3641e4407dee3d807898ffd620e2732b78)

Signed-off-by: Alexandre Truong <alexandre.truong@smile.fr>
Reported-by: Alexandre Truong <alexandre.truong@smile.fr>
Suggested-by: Vincent Kriek <vincent@coelebs.dev>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexandre Truong 2024-04-26 12:13:37 +02:00 committed by Richard Purdie
parent 62ddbed32f
commit 3c05286fa1

View File

@ -286,10 +286,13 @@ class DevtoolTestCase(OESelftestTestCase):
else: else:
self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test')
def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri): def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri, srcrev=None):
self.track_for_cleanup(self.workspacedir) self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool add --version %s %s %s' % (version, pn, git_url)) command = 'devtool add --version %s %s %s' % (version, pn, git_url)
if srcrev :
command += ' --srcrev %s' %srcrev
result = runCmd(command)
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
# Check the recipe name is correct # Check the recipe name is correct
recipefile = get_bb_var('FILE', pn) recipefile = get_bb_var('FILE', pn)
@ -479,11 +482,12 @@ class DevtoolAddTests(DevtoolBase):
def test_devtool_add_git_style2(self): def test_devtool_add_git_style2(self):
version = 'v3.1.0' version = 'v3.1.0'
srcrev = 'v3.1.0'
pn = 'mbedtls' pn = 'mbedtls'
# this will trigger reformat_git_uri with branch parameter in url # this will trigger reformat_git_uri with branch parameter in url
git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'" git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'"
resulting_src_uri = "gitsm://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master" resulting_src_uri = "gitsm://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri) self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri, srcrev)
def test_devtool_add_library(self): def test_devtool_add_library(self):
# Fetch source # Fetch source