From ffac9c20f5b8bb084bdac2888ea5df6bc5e58684 Mon Sep 17 00:00:00 2001 From: Urs Fässler Date: Mon, 15 Oct 2018 13:43:18 +0000 Subject: bitbake: fetch2/git: add tests to capture existing behavior wrt. naming of clone directories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The mapping of the URLs to the local directory is not obvious. For easier understanding, we add this tests to explicitly showing the mapping. (Bitbake rev: 5f92682389fee437d6df2ff7718c571b7444e179) Signed-off-by: Urs Fässler Signed-off-by: Pascal Bach Signed-off-by: Richard Purdie --- bitbake/lib/bb/tests/fetch.py | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'bitbake') diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index ff66315aa5..5359531282 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -463,6 +463,55 @@ class MirrorUriTest(FetcherTest): 'https://BBBB/B/B/B/bitbake/bitbake-1.0.tar.gz', 'http://AAAA/A/A/A/B/B/bitbake/bitbake-1.0.tar.gz']) + +class GitDownloadDirectoryNamingTest(FetcherTest): + def setUp(self): + super(GitDownloadDirectoryNamingTest, self).setUp() + self.recipe_url = "git://git.openembedded.org/bitbake" + self.recipe_dir = "git.openembedded.org.bitbake" + self.mirror_url = "git://github.com/openembedded/bitbake.git" + self.mirror_dir = "github.com.openembedded.bitbake.git" + + self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40') + + def setup_mirror_rewrite(self): + self.d.setVar("PREMIRRORS", self.recipe_url + " " + self.mirror_url + " \n") + + @skipIfNoNetwork() + def test_that_directory_is_named_after_recipe_url_when_no_mirroring_is_used(self): + self.setup_mirror_rewrite() + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + + fetcher.download() + + dir = os.listdir(self.dldir + "/git2") + self.assertIn(self.recipe_dir, dir) + + @skipIfNoNetwork() + def test_that_directory_exists_for_mirrored_url_and_recipe_url_when_mirroring_is_used(self): + self.setup_mirror_rewrite() + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + + fetcher.download() + + dir = os.listdir(self.dldir + "/git2") + self.assertIn(self.mirror_dir, dir) + self.assertIn(self.recipe_dir, dir) + + @skipIfNoNetwork() + def test_that_recipe_directory_and_mirrored_directory_exists_when_mirroring_is_used_and_the_mirrored_directory_already_exists(self): + self.setup_mirror_rewrite() + fetcher = bb.fetch.Fetch([self.mirror_url], self.d) + fetcher.download() + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + + fetcher.download() + + dir = os.listdir(self.dldir + "/git2") + self.assertIn(self.mirror_dir, dir) + self.assertIn(self.recipe_dir, dir) + + class FetcherLocalTest(FetcherTest): def setUp(self): def touch(fn): -- cgit v1.2.3-54-g00ecf