oeqa/selftest/devtool: add test for modifying recipes using go.bbclass

go.bbclass uses a special do_unpack function that causes the git root
to be different from S.  Verify that it unpacks as expected.

[ YOCTO #15483 ]

(From OE-Core rev: fab0c737b95b8d0c0bbf58336bc308776c956406)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ola x Nilsson
2024-05-17 10:54:10 +02:00
committed by Richard Purdie
parent 4a43386905
commit 02f6d0793a

View File

@@ -753,6 +753,25 @@ class DevtoolModifyTests(DevtoolBase):
result = runCmd('devtool status')
self.assertNotIn('mdadm', result.output)
def test_devtool_modify_go(self):
import oe.path
from tempfile import TemporaryDirectory
with TemporaryDirectory(prefix='devtoolqa') as tempdir:
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake -c clean go-helloworld')
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify go-helloworld -x %s' % tempdir)
self.assertExists(
oe.path.join(tempdir, 'src', 'golang.org', 'x', 'example', 'go.mod'),
'Extracted source could not be found'
)
self.assertExists(
oe.path.join(self.workspacedir, 'conf', 'layer.conf'),
'Workspace directory not created'
)
matches = glob.glob(oe.path.join(self.workspacedir, 'appends', 'go-helloworld_*.bbappend'))
self.assertTrue(matches, 'bbappend not created %s' % result.output)
def test_devtool_buildclean(self):
def assertFile(path, *paths):
f = os.path.join(path, *paths)