@@ -915,6 +915,20 @@ class FetcherLocalTest(FetcherTest):
l = os.path.join(self.dldir, "git2", filename)
self.assertEqual(localpath, l)
+ def test_expanded_urldata(self):
+ urls = [
+ "file://archive.tar.gz",
+ "https://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz",
+ "git://git.openembedded.org/bitbake;branch=master;protocol=https"
+ ";rev=270a05b0b4ba0959fe0624d2a4885d7b70426da5"
+ ]
+ fetcher = bb.fetch.Fetch(urls, self.d)
+ urldata = fetcher.expanded_urldata()
+
+ self.assertEqual(len(urldata), len(urls))
+ for ud, url in zip(urldata, urls):
+ self.assertEqual(ud.url, url)
+
class FetcherNoNetworkTest(FetcherTest):
def setUp(self):
super().setUp()
@@ -1316,6 +1330,36 @@ class FetcherNetworkTest(FetcherTest):
with self.assertRaises(bb.fetch2.FetchError):
fetcher.download()
+ @skipIfNoNetwork()
+ def test_git_submodule_expanded_urldata(self):
+ expected_urldata = [
+ (
+ "gitsm://git.yoctoproject.org/git-submodule-test;protocol=https"
+ ";branch=master;rev=a2885dd7d25380d23627e7544b7bbb55014b16ee",
+ "a2885dd7d25380d23627e7544b7bbb55014b16ee"
+ ), (
+ "gitsm://git.openembedded.org/bitbake;protocol=git",
+ "c39b99792547b642570ea5152070e7396e812390"
+ ), (
+ "gitsm://git.yoctoproject.org/bitbake-gitsm-test1;protocol=git",
+ "120f4c731cdc4a24cd29e44c4c02c4c658d8bc0e"
+ ), (
+ "gitsm://git.openembedded.org/bitbake;protocol=git",
+ "52a144a7daa94b2bd239d582cb71d1f03119918f"
+ ), (
+ "gitsm://git.yoctoproject.org/bitbake-gitsm-test2;protocol=git",
+ "f66699ed76c2b21ebe2a94ee23450415d2c7dee4"
+ )
+ ]
+ fetcher = bb.fetch.Fetch([expected_urldata[0][0]], self.d)
+ fetcher.download()
+ urldata = fetcher.expanded_urldata()
+
+ self.assertEqual(len(urldata), len(expected_urldata))
+ for ud, (url, rev) in zip(urldata, expected_urldata):
+ self.assertEqual(ud.url[:len(url)], url)
+ self.assertEqual(ud.revision, rev)
+
class SVNTest(FetcherTest):
def skipIfNoSvn():
if not shutil.which("svn"):