summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/sources/git.py4
-rw-r--r--tests/testutils/site.py5
2 files changed, 8 insertions, 1 deletions
diff --git a/tests/sources/git.py b/tests/sources/git.py
index e0560fe5d..f194e9f54 100644
--- a/tests/sources/git.py
+++ b/tests/sources/git.py
@@ -30,7 +30,7 @@ from buildstream import _yaml
from buildstream.plugin import CoreWarnings
from tests.testutils import cli, create_repo
-from tests.testutils.site import HAVE_GIT
+from tests.testutils.site import HAVE_GIT, HAVE_OLD_GIT
DATA_DIR = os.path.join(
os.path.dirname(os.path.realpath(__file__)),
@@ -664,6 +664,7 @@ def test_invalid_submodule(cli, tmpdir, datafiles, fail):
@pytest.mark.skipif(HAVE_GIT is False, reason="git is not available")
+@pytest.mark.skipif(HAVE_OLD_GIT, reason="old git rm does not update .gitmodules")
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'template'))
@pytest.mark.parametrize("fail", ['warn', 'error'])
def test_track_invalid_submodule(cli, tmpdir, datafiles, fail):
@@ -772,6 +773,7 @@ def test_track_fetch(cli, tmpdir, datafiles, ref_format, tag, extra_commit):
@pytest.mark.skipif(HAVE_GIT is False, reason="git is not available")
+@pytest.mark.skipif(HAVE_OLD_GIT, reason="old git describe lacks --first-parent")
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'template'))
@pytest.mark.parametrize("ref_storage", [('inline'), ('project.refs')])
@pytest.mark.parametrize("tag_type", [('annotated'), ('lightweight')])
diff --git a/tests/testutils/site.py b/tests/testutils/site.py
index 6ef22babb..b7bfa11cf 100644
--- a/tests/testutils/site.py
+++ b/tests/testutils/site.py
@@ -2,6 +2,7 @@
# so we dont have to repeat this everywhere
#
import os
+import subprocess
import sys
from buildstream import _site, utils, ProgramNotFoundError
@@ -16,8 +17,12 @@ except ProgramNotFoundError:
try:
utils.get_host_tool('git')
HAVE_GIT = True
+ out = str(subprocess.check_output(['git', '--version']), "utf-8")
+ version = tuple(int(x) for x in out.split(' ', 2)[2].split('.'))
+ HAVE_OLD_GIT = version < (1, 8, 5)
except ProgramNotFoundError:
HAVE_GIT = False
+ HAVE_OLD_GIT = False
try:
utils.get_host_tool('ostree')