From 8b0fc4850dc31bb7e7be0001414468b1d3f80846 Mon Sep 17 00:00:00 2001 From: Peter Hoyes Date: Fri, 16 Jun 2023 13:36:49 +0100 Subject: bitbake: bitbake: tests/fetch: Set git config if not already set git config returns an error code if user.email or user.name are not set, so bb.process.run raises an ExecutionError, failing the test. Improve the logic by catching the ExectionError and using this to set a default value. Change a direct invocation of 'git init' to use self.git_init so that it follows the code path above. Remove the related comment from the README now that git sets up the user details automatically. (Bitbake rev: 0c7079d0609a13713b890a9675abd9fba032f199) Signed-off-by: Peter Hoyes Signed-off-by: Richard Purdie --- bitbake/README | 3 +-- bitbake/lib/bb/tests/fetch.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'bitbake') diff --git a/bitbake/README b/bitbake/README index a5f5c1b64f..bdb1e81dc1 100644 --- a/bitbake/README +++ b/bitbake/README @@ -45,8 +45,7 @@ it has so many corner cases. The datastore has many tests too. Testing with the recommended before submitting patches, particularly to the fetcher and datastore. We also appreciate new test cases and may require them for more obscure issues. -To run the tests "zstd" and "git" must be installed. Git must be correctly configured, in -particular the user.email and user.name values must be set. +To run the tests "zstd" and "git" must be installed. The assumption is made that this testsuite is run from an initialized OpenEmbedded build environment (i.e. `source oe-init-build-env` is used). If this is not the case, run the diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index 871c174e82..8ca7e6c155 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -429,9 +429,15 @@ class FetcherTest(unittest.TestCase): # a common setup is to use other default # branch than master. self.git(['checkout', '-b', 'master'], cwd=cwd) - if not self.git(['config', 'user.email'], cwd=cwd): + + try: + self.git(['config', 'user.email'], cwd=cwd) + except bb.process.ExecutionError: self.git(['config', 'user.email', 'you@example.com'], cwd=cwd) - if not self.git(['config', 'user.name'], cwd=cwd): + + try: + self.git(['config', 'user.name'], cwd=cwd) + except bb.process.ExecutionError: self.git(['config', 'user.name', 'Your Name'], cwd=cwd) class MirrorUriTest(FetcherTest): @@ -3038,7 +3044,7 @@ class FetchPremirroronlyLocalTest(FetcherTest): self.mirrorname = "git2_git.fake.repo.bitbake.tar.gz" recipeurl = "git:/git.fake.repo/bitbake" os.makedirs(self.gitdir) - self.git("init", self.gitdir) + self.git_init(cwd=self.gitdir) for i in range(0): self.git_new_commit() bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd = self.gitdir) -- cgit v1.2.3-54-g00ecf