Message ID | 20240517085410.2598110-1-olani@axis.com |
---|---|
State | Accepted, archived |
Commit | fab0c737b95b8d0c0bbf58336bc308776c956406 |
Headers | show |
Series | [v2] oeqa/selftest/devtool: add test for modifying recipes using go.bbclass | expand |
On Fri, May 17 2024, olani@axis.com wrote: > From: Ola x Nilsson <olani@axis.com> > > 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 ] > > Signed-off-by: Ola x Nilsson <olani@axis.com> > --- > > Changes since v1: > Correct author > > meta/lib/oeqa/selftest/cases/devtool.py | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py > index 882225dde3..fc08906117 100644 > --- a/meta/lib/oeqa/selftest/cases/devtool.py > +++ b/meta/lib/oeqa/selftest/cases/devtool.py > @@ -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) I realize that this test doesn't really solve the problem of "papering over" the problem in devtool modify, but I hope it at least protects against some breakage. /Ola
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 882225dde3..fc08906117 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -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)