1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import oe.path
- from oeqa.selftest.case import OESelftestTestCase
- from oeqa.utils.commands import bitbake
- class Fetch(OESelftestTestCase):
- def test_git_mirrors(self):
- """
- Verify that the git fetcher will fall back to the HTTP mirrors. The
- recipe needs to be one that we have on the Yocto Project source mirror
- and is hosted in git.
- """
- # TODO: mktempd instead of hardcoding
- dldir = os.path.join(self.builddir, "download-git-mirrors")
- self.track_for_cleanup(dldir)
- # No mirrors, should use git to fetch successfully
- features = """
- DL_DIR = "%s"
- MIRRORS_forcevariable = ""
- PREMIRRORS_forcevariable = ""
- """ % dldir
- self.write_config(features)
- oe.path.remove(dldir, recurse=True)
- bitbake("dbus-wait -c fetch -f")
- # No mirrors and broken git, should fail
- features = """
- DL_DIR = "%s"
- GIT_PROXY_COMMAND = "false"
- MIRRORS_forcevariable = ""
- PREMIRRORS_forcevariable = ""
- """ % dldir
- self.write_config(features)
- oe.path.remove(dldir, recurse=True)
- with self.assertRaises(AssertionError):
- bitbake("dbus-wait -c fetch -f")
- # Broken git but a specific mirror
- features = """
- DL_DIR = "%s"
- GIT_PROXY_COMMAND = "false"
- MIRRORS_forcevariable = "git://.*/.* http://downloads.yoctoproject.org/mirror/sources/"
- """ % dldir
- self.write_config(features)
- oe.path.remove(dldir, recurse=True)
- bitbake("dbus-wait -c fetch -f")
|