From a0320f394423a20d3af08e1833f43ce94e2e1c7e Mon Sep 17 00:00:00 2001 From: Stefan Herbrechtsmeier Date: Thu, 25 Nov 2021 13:59:54 +0100 Subject: bitbake: test/fetch: Add striplevel unpack parameter test (Bitbake rev: 7e1ca7ab50e3c6b642c3c11504c7c8f52cfa4528) Signed-off-by: Stefan Herbrechtsmeier Signed-off-by: Richard Purdie --- bitbake/lib/bb/tests/fetch.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index d6c0af788f..dc45eb2e13 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -626,6 +626,9 @@ class FetcherLocalTest(FetcherTest): os.makedirs(os.path.join(self.localsrcdir, 'dir', 'subdir')) touch(os.path.join(self.localsrcdir, 'dir', 'subdir', 'e')) touch(os.path.join(self.localsrcdir, r'backslash\x2dsystemd-unit.device')) + bb.process.run('tar cf archive.tar -C dir .', cwd=self.localsrcdir) + bb.process.run('tar czf archive.tar.gz -C dir .', cwd=self.localsrcdir) + bb.process.run('tar cjf archive.tar.bz2 -C dir .', cwd=self.localsrcdir) self.d.setVar("FILESPATH", self.localsrcdir) def fetchUnpack(self, uris): @@ -680,6 +683,18 @@ class FetcherLocalTest(FetcherTest): with self.assertRaises(bb.fetch2.UnpackError): self.fetchUnpack(['file://a;subdir=/bin/sh']) + def test_local_striplevel(self): + tree = self.fetchUnpack(['file://archive.tar;subdir=bar;striplevel=1']) + self.assertEqual(tree, ['bar/c', 'bar/d', 'bar/subdir/e']) + + def test_local_striplevel_gzip(self): + tree = self.fetchUnpack(['file://archive.tar.gz;subdir=bar;striplevel=1']) + self.assertEqual(tree, ['bar/c', 'bar/d', 'bar/subdir/e']) + + def test_local_striplevel_bzip2(self): + tree = self.fetchUnpack(['file://archive.tar.bz2;subdir=bar;striplevel=1']) + self.assertEqual(tree, ['bar/c', 'bar/d', 'bar/subdir/e']) + def dummyGitTest(self, suffix): # Create dummy local Git repo src_dir = tempfile.mkdtemp(dir=self.tempdir, -- cgit v1.2.3-54-g00ecf