mirror of
https://git.yoctoproject.org/poky
synced 2026-09-19 09:49:33 +02:00
oeqa: add Git mirror test
Add an automated test to exercise that fetching a git: recipe... 1) works over git without mirrors 2) fails without git connectivity or mirrors 3) works without git connectivity but with a mirror (2) is done by setting GIT_PROXY_COMMAND to 'false' which should break any git network operations. [ YOCTO #12805 ] (From OE-Core rev: 13269dfbbc62faef32595343dc78250fdb2a2946) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c568e89c3d
commit
ea4318b78e
49
meta/lib/oeqa/selftest/cases/fetch.py
Normal file
49
meta/lib/oeqa/selftest/cases/fetch.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
import oe.path
|
||||||
|
from oeqa.selftest.case import OESelftestTestCase
|
||||||
|
from oeqa.utils.commands import bitbake
|
||||||
|
from oeqa.core.decorator.oeid import OETestID
|
||||||
|
|
||||||
|
class Fetch(OESelftestTestCase):
|
||||||
|
@OETestID(1058)
|
||||||
|
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")
|
||||||
Reference in New Issue
Block a user