[oe-commits] [openembedded-core] 24/31: oeqa: add Git mirror test

git at git.openembedded.org git at git.openembedded.org
Fri Jun 22 07:50:41 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 5f9cb7352dc7ea188b0bb58095efb9d983d42823
Author: Ross Burton <ross.burton at intel.com>
AuthorDate: Thu Jun 21 17:15:28 2018 +0100

    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 ]
    
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/lib/oeqa/selftest/cases/fetch.py | 49 +++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/fetch.py b/meta/lib/oeqa/selftest/cases/fetch.py
new file mode 100644
index 0000000..4acc8cd
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/fetch.py
@@ -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")

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list