Message ID | 20250514074839.2171099-1-Qi.Chen@windriver.com |
---|---|
State | New |
Headers | show |
Series | [bitbake-devel] lib/bb/tests/fetch: add a test case to ensure git shallow fetch works for tag containing slash | expand |
On Wed, 2025-05-14 at 15:48 +0800, Chen Qi via lists.openembedded.org wrote: > From: Chen Qi <Qi.Chen@windriver.com> > > Add a test case to ensure git shallow fetch succeeds for SRC_URI > with tag containing slash. > > For example, we want to succeed for SRC_URI like below: > SRC_URI = "git://salsa.debian.org/debian/debianutils.git;protocol=https;branch=master;tag=debian/${PV}" > > Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > --- > bitbake/lib/bb/tests/fetch.py | 13 +++++++++++++ > 1 file changed, 13 insertions(+) Thanks, this really helps us ensure these kinds of issues don't come back! Cheers, Richard
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index 0091723601..3f42332588 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -2281,6 +2281,19 @@ class GitShallowTest(FetcherTest): self.assertRevCount(1) assert os.path.exists(os.path.join(self.gitdir, '.git', 'shallow')) + def test_shallow_succeeds_with_tag_containing_slash(self): + self.add_empty_file('a') + self.add_empty_file('b') + self.git('tag t1/t2/t3', cwd=self.srcdir) + self.assertRevCount(2, cwd=self.srcdir) + + srcrev = self.git('rev-parse HEAD', cwd=self.srcdir).strip() + self.d.setVar('SRCREV', srcrev) + uri = self.d.getVar('SRC_URI').split()[0] + uri = '%s;tag=t1/t2/t3' % uri + self.fetch_shallow(uri) + self.assertRevCount(1) + class GitLfsTest(FetcherTest): def skipIfNoGitLFS(): if not shutil.which('git-lfs'):