You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by gi...@apache.org on 2020/12/29 13:15:49 UTC

[buildstream] 02/02: proof of concept skip

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch willsalmon/tar_plugin_move
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 62457c56beac27529b1e52d421b15baf3a070d60
Author: William Salmon <wi...@codethink.co.uk>
AuthorDate: Wed Mar 25 11:57:05 2020 +0000

    proof of concept skip
---
 src/buildstream/testing/_sourcetests/source_determinism.py | 7 ++++++-
 src/buildstream/testing/_utils/site.py                     | 7 +++++++
 tests/cachekey/cachekey.py                                 | 3 ++-
 tests/frontend/mirror.py                                   | 2 ++
 4 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/buildstream/testing/_sourcetests/source_determinism.py b/src/buildstream/testing/_sourcetests/source_determinism.py
index b834f32..2533e00 100644
--- a/src/buildstream/testing/_sourcetests/source_determinism.py
+++ b/src/buildstream/testing/_sourcetests/source_determinism.py
@@ -23,7 +23,7 @@ import os
 import pytest
 
 from buildstream import _yaml
-from .._utils.site import HAVE_SANDBOX, CASD_SEPARATE_USER
+from .._utils.site import HAVE_SANDBOX, CASD_SEPARATE_USER, HAVE_TAR
 from .. import create_repo
 from .. import cli  # pylint: disable=unused-import
 from .utils import kind  # pylint: disable=unused-import
@@ -50,6 +50,11 @@ def create_test_directory(*path, mode=0o644):
 @pytest.mark.integration
 @pytest.mark.datafiles(DATA_DIR)
 @pytest.mark.skipif(not HAVE_SANDBOX, reason="Only available with a functioning sandbox")
+@pytest.mark.skipif(not HAVE_TAR, reason="WIP test for bst external")
+@pytest.mark.skipif(
+    HAVE_SANDBOX == "buildbox-run" and CASD_SEPARATE_USER,
+    reason="Flaky due to timestamps: https://gitlab.com/BuildStream/buildstream/issues/1218",
+)
 def test_deterministic_source_umask(cli, tmpdir, datafiles, kind):
     if CASD_SEPARATE_USER and kind == "ostree":
         pytest.xfail("The ostree plugin ignores the umask")
diff --git a/src/buildstream/testing/_utils/site.py b/src/buildstream/testing/_utils/site.py
index a04f652..19747e5 100644
--- a/src/buildstream/testing/_utils/site.py
+++ b/src/buildstream/testing/_utils/site.py
@@ -78,3 +78,10 @@ if HAVE_SANDBOX == "buildbox-run":
         BUILDBOX_RUN = os.path.basename(os.readlink(path))
     except (ProgramNotFoundError, OSError):
         pass
+
+HAVE_TAR = None
+try:
+    import buildstream.plugins.elements.tar_element
+    HAVE_TAR = True
+except:
+    pass
\ No newline at end of file
diff --git a/tests/cachekey/cachekey.py b/tests/cachekey/cachekey.py
index b669bac..a2de414 100644
--- a/tests/cachekey/cachekey.py
+++ b/tests/cachekey/cachekey.py
@@ -45,7 +45,7 @@ import os
 import pytest
 
 from buildstream.testing.runcli import cli  # pylint: disable=unused-import
-from buildstream.testing._utils.site import HAVE_BZR, HAVE_GIT, IS_LINUX, MACHINE_ARCH
+from buildstream.testing._utils.site import HAVE_BZR, HAVE_GIT, IS_LINUX, MACHINE_ARCH, HAVE_TAR
 from buildstream.plugin import CoreWarnings
 from buildstream import _yaml
 
@@ -157,6 +157,7 @@ DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "project",)
 @pytest.mark.skipif(not IS_LINUX, reason="Only available on linux")
 @pytest.mark.skipif(HAVE_BZR is False, reason="bzr is not available")
 @pytest.mark.skipif(HAVE_GIT is False, reason="git is not available")
+@pytest.mark.skipif(not HAVE_TAR, reason="git is not available")
 @pytest.mark.datafiles(DATA_DIR)
 def test_cache_key(datafiles, cli):
     project = str(datafiles)
diff --git a/tests/frontend/mirror.py b/tests/frontend/mirror.py
index f71cb55..9931216 100644
--- a/tests/frontend/mirror.py
+++ b/tests/frontend/mirror.py
@@ -7,6 +7,7 @@ import pytest
 from buildstream import _yaml
 from buildstream.testing import create_repo
 from buildstream.testing import cli  # pylint: disable=unused-import
+from buildstream.testing._utils.site import HAVE_TAR
 
 
 # Project directory
@@ -56,6 +57,7 @@ def generate_project():
 @pytest.mark.datafiles(DATA_DIR)
 @pytest.mark.parametrize("ref_storage", [("inline"), ("project.refs")])
 @pytest.mark.parametrize("mirror", [("no-mirror"), ("mirror"), ("unrelated-mirror")])
+@pytest.mark.skipif(not HAVE_TAR, reason="WIP test for bst external")
 def test_mirror_fetch_ref_storage(cli, tmpdir, datafiles, ref_storage, mirror):
     bin_files_path = os.path.join(str(datafiles), "files", "bin-files", "usr")
     dev_files_path = os.path.join(str(datafiles), "files", "dev-files", "usr")