bitbake: bitbake: tests/fetch: add unit tests for SRC_URI with spaces in url

(Bitbake rev: d8daad57bdbceec041c4c2d288ed5d487ad8e6dc)

Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e7dab75c8d1923abcbbc7c9ac7de215d720ccf26)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Charlie Davies
2020-10-12 05:07:53 -10:00
committed by Richard Purdie
parent 52daea2287
commit cd38c4db87

View File

@@ -223,6 +223,21 @@ class URITest(unittest.TestCase):
'query': {},
'relative': False
},
"git://tfs-example.org:22/tfs/example%20path/example.git": {
'uri': 'git://tfs-example.org:22/tfs/example%20path/example.git',
'scheme': 'git',
'hostname': 'tfs-example.org',
'port': 22,
'hostport': 'tfs-example.org:22',
'path': '/tfs/example path/example.git',
'userinfo': '',
'userinfo': '',
'username': '',
'password': '',
'params': {},
'query': {},
'relative': False
},
"http://somesite.net;someparam=1": {
'uri': 'http://somesite.net;someparam=1',
'scheme': 'http',
@@ -2080,6 +2095,38 @@ class GitLfsTest(FetcherTest):
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
class GitURLWithSpacesTest(FetcherTest):
test_git_urls = {
"git://tfs-example.org:22/tfs/example%20path/example.git" : {
'url': 'git://tfs-example.org:22/tfs/example%20path/example.git',
'gitsrcname': 'tfs-example.org.22.tfs.example_path.example.git',
'path': '/tfs/example path/example.git'
},
"git://tfs-example.org:22/tfs/example%20path/example%20repo.git" : {
'url': 'git://tfs-example.org:22/tfs/example%20path/example%20repo.git',
'gitsrcname': 'tfs-example.org.22.tfs.example_path.example_repo.git',
'path': '/tfs/example path/example repo.git'
}
}
def test_urls(self):
# Set fake SRCREV to stop git fetcher from trying to contact non-existent git repo
self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40')
for test_git_url, ref in self.test_git_urls.items():
fetcher = bb.fetch.Fetch([test_git_url], self.d)
ud = fetcher.ud[fetcher.urls[0]]
self.assertEqual(ud.url, ref['url'])
self.assertEqual(ud.path, ref['path'])
self.assertEqual(ud.localfile, os.path.join(self.dldir, "git2", ref['gitsrcname']))
self.assertEqual(ud.localpath, os.path.join(self.dldir, "git2", ref['gitsrcname']))
self.assertEqual(ud.lockfile, os.path.join(self.dldir, "git2", ref['gitsrcname'] + '.lock'))
self.assertEqual(ud.clonedir, os.path.join(self.dldir, "git2", ref['gitsrcname']))
self.assertEqual(ud.fullmirror, os.path.join(self.dldir, "git2_" + ref['gitsrcname'] + '.tar.gz'))
class NPMTest(FetcherTest):
def skipIfNoNpm():
import shutil