summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/elements/filter.py2
-rw-r--r--tests/format/include.py4
-rw-r--r--tests/format/junctions.py2
-rw-r--r--tests/frontend/buildtrack.py3
-rw-r--r--tests/frontend/cross_junction_workspace.py3
-rw-r--r--tests/frontend/fetch.py4
-rw-r--r--tests/frontend/logging.py2
-rw-r--r--tests/frontend/mirror.py3
-rw-r--r--tests/frontend/order.py2
-rw-r--r--tests/frontend/track.py4
-rw-r--r--tests/frontend/workspace.py4
-rw-r--r--tests/integration/source-determinism.py2
-rw-r--r--tests/sourcecache/fetch.py4
-rw-r--r--tests/sourcecache/push.py3
-rw-r--r--tests/sources/__init__.py13
-rw-r--r--tests/sources/bzr.py2
-rw-r--r--tests/sources/generic/build_checkout.py3
-rw-r--r--tests/sources/generic/fetch.py3
-rw-r--r--tests/sources/generic/mirror.py3
-rw-r--r--tests/sources/generic/source_determinism.py2
-rw-r--r--tests/sources/generic/track.py3
-rw-r--r--tests/sources/generic/track_cross_junction.py3
-rw-r--r--tests/sources/generic/workspace.py3
-rw-r--r--tests/sources/git.py2
-rw-r--r--tests/sources/no_fetch_cached.py2
-rw-r--r--tests/sources/ostree.py3
-rw-r--r--tests/testutils/__init__.py1
-rw-r--r--tests/testutils/element_generators.py3
-rw-r--r--tests/testutils/junction.py3
-rw-r--r--tests/testutils/repo/__init__.py31
-rw-r--r--tests/testutils/repo/bzr.py2
-rw-r--r--tests/testutils/repo/git.py2
-rw-r--r--tests/testutils/repo/ostree.py2
-rw-r--r--tests/testutils/repo/repo.py90
-rw-r--r--tests/testutils/repo/tar.py2
-rw-r--r--tests/testutils/repo/zip.py2
36 files changed, 55 insertions, 167 deletions
diff --git a/tests/elements/filter.py b/tests/elements/filter.py
index 1579bf06c..2c5ca88b7 100644
--- a/tests/elements/filter.py
+++ b/tests/elements/filter.py
@@ -6,7 +6,7 @@ import shutil
import pytest
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream._exceptions import ErrorDomain
from buildstream import _yaml
diff --git a/tests/format/include.py b/tests/format/include.py
index 793bdb0e4..73f8092c5 100644
--- a/tests/format/include.py
+++ b/tests/format/include.py
@@ -7,8 +7,8 @@ import pytest
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain, LoadErrorReason
from buildstream.plugintestutils import cli # pylint: disable=unused-import
-
-from tests.testutils import generate_junction, create_repo
+from buildstream.plugintestutils import create_repo
+from tests.testutils import generate_junction
# Project directory
diff --git a/tests/format/junctions.py b/tests/format/junctions.py
index 3a215761a..94562cb4e 100644
--- a/tests/format/junctions.py
+++ b/tests/format/junctions.py
@@ -9,7 +9,7 @@ import pytest
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain, LoadErrorReason
from buildstream.plugintestutils import cli # pylint: disable=unused-import
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from tests.testutils.site import HAVE_GIT
diff --git a/tests/frontend/buildtrack.py b/tests/frontend/buildtrack.py
index 5a3781dc6..d4dc93aac 100644
--- a/tests/frontend/buildtrack.py
+++ b/tests/frontend/buildtrack.py
@@ -8,9 +8,8 @@ import itertools
import pytest
-from tests.testutils import create_repo
-
from buildstream import _yaml
+from buildstream.plugintestutils import create_repo
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream._exceptions import ErrorDomain
diff --git a/tests/frontend/cross_junction_workspace.py b/tests/frontend/cross_junction_workspace.py
index 88bda857d..a93d5c132 100644
--- a/tests/frontend/cross_junction_workspace.py
+++ b/tests/frontend/cross_junction_workspace.py
@@ -3,10 +3,9 @@
import os
from buildstream.plugintestutils import cli # pylint: disable=unused-import
+from buildstream.plugintestutils import create_repo
from buildstream import _yaml
-from tests.testutils import create_repo
-
def prepare_junction_project(cli, tmpdir):
main_project = tmpdir.join("main")
diff --git a/tests/frontend/fetch.py b/tests/frontend/fetch.py
index 8282e2131..cea7ff129 100644
--- a/tests/frontend/fetch.py
+++ b/tests/frontend/fetch.py
@@ -4,8 +4,8 @@
import os
import pytest
-from tests.testutils import create_repo, generate_junction, yaml_file_get_provenance
-
+from tests.testutils import generate_junction, yaml_file_get_provenance
+from buildstream.plugintestutils import create_repo
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain, LoadErrorReason
diff --git a/tests/frontend/logging.py b/tests/frontend/logging.py
index 4036a4693..49e3a70c6 100644
--- a/tests/frontend/logging.py
+++ b/tests/frontend/logging.py
@@ -6,7 +6,7 @@ import re
import pytest
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain
diff --git a/tests/frontend/mirror.py b/tests/frontend/mirror.py
index b33d889c6..47f94289f 100644
--- a/tests/frontend/mirror.py
+++ b/tests/frontend/mirror.py
@@ -4,9 +4,8 @@
import os
import pytest
-from tests.testutils import create_repo
-
from buildstream import _yaml
+from buildstream.plugintestutils import create_repo
from buildstream.plugintestutils import cli # pylint: disable=unused-import
diff --git a/tests/frontend/order.py b/tests/frontend/order.py
index cd75aa6b7..5eb5b299d 100644
--- a/tests/frontend/order.py
+++ b/tests/frontend/order.py
@@ -4,7 +4,7 @@
import os
import pytest
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
diff --git a/tests/frontend/track.py b/tests/frontend/track.py
index 46f5bcf67..17d0cd827 100644
--- a/tests/frontend/track.py
+++ b/tests/frontend/track.py
@@ -4,12 +4,12 @@
import stat
import os
import pytest
-from tests.testutils import create_repo, generate_junction, yaml_file_get_provenance
+from buildstream.plugintestutils import create_repo
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream._exceptions import ErrorDomain, LoadErrorReason
from buildstream import _yaml
-
+from tests.testutils import generate_junction, yaml_file_get_provenance
from . import configure_project
# Project directory
diff --git a/tests/frontend/workspace.py b/tests/frontend/workspace.py
index 78f3600d1..522bbffab 100644
--- a/tests/frontend/workspace.py
+++ b/tests/frontend/workspace.py
@@ -34,9 +34,9 @@ import subprocess
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS, wait_for_cache_granularity
-from tests.testutils import create_artifact_share, create_element_size
+from tests.testutils import create_artifact_share, create_element_size, wait_for_cache_granularity
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain, LoadErrorReason
diff --git a/tests/integration/source-determinism.py b/tests/integration/source-determinism.py
index 7cfca98e0..2f63a4af9 100644
--- a/tests/integration/source-determinism.py
+++ b/tests/integration/source-determinism.py
@@ -3,7 +3,7 @@ import pytest
from buildstream import _yaml
from buildstream.plugintestutils import cli_integration as cli
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from tests.testutils.site import HAVE_SANDBOX
diff --git a/tests/sourcecache/fetch.py b/tests/sourcecache/fetch.py
index 86d2138c0..7f82388ab 100644
--- a/tests/sourcecache/fetch.py
+++ b/tests/sourcecache/fetch.py
@@ -28,8 +28,8 @@ from buildstream._context import Context
from buildstream._project import Project
from buildstream import _yaml
from buildstream.plugintestutils import cli # pylint: disable=unused-import
-
-from tests.testutils import create_artifact_share, create_repo
+from buildstream.plugintestutils import create_repo
+from tests.testutils import create_artifact_share
DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "project")
diff --git a/tests/sourcecache/push.py b/tests/sourcecache/push.py
index f692136bb..825d2614e 100644
--- a/tests/sourcecache/push.py
+++ b/tests/sourcecache/push.py
@@ -28,8 +28,9 @@ from buildstream._exceptions import ErrorDomain
from buildstream._project import Project
from buildstream import _yaml
from buildstream.plugintestutils import cli # pylint: disable=unused-import
+from buildstream.plugintestutils import create_repo
-from tests.testutils import create_artifact_share, create_repo
+from tests.testutils import create_artifact_share
DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "project")
diff --git a/tests/sources/__init__.py b/tests/sources/__init__.py
index 02a755074..155ecc064 100644
--- a/tests/sources/__init__.py
+++ b/tests/sources/__init__.py
@@ -1,5 +1,18 @@
import os
+from buildstream.plugintestutils import register_repo_kind
+from tests.testutils.repo.git import Git
+from tests.testutils.repo.bzr import Bzr
+from tests.testutils.repo.ostree import OSTree
+from tests.testutils.repo.tar import Tar
+from tests.testutils.repo.zip import Zip
+
+register_repo_kind('git', Git)
+register_repo_kind('bzr', Bzr)
+register_repo_kind('ostree', OSTree)
+register_repo_kind('tar', Tar)
+register_repo_kind('zip', Zip)
+
def list_dir_contents(srcdir):
contents = set()
diff --git a/tests/sources/bzr.py b/tests/sources/bzr.py
index 0a3c345bd..bf022236b 100644
--- a/tests/sources/bzr.py
+++ b/tests/sources/bzr.py
@@ -7,7 +7,7 @@ import pytest
from buildstream import _yaml
from buildstream.plugintestutils import cli # pylint: disable=unused-import
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from tests.testutils.site import HAVE_BZR
DATA_DIR = os.path.join(
diff --git a/tests/sources/generic/build_checkout.py b/tests/sources/generic/build_checkout.py
index e113b40cb..074be8429 100644
--- a/tests/sources/generic/build_checkout.py
+++ b/tests/sources/generic/build_checkout.py
@@ -22,8 +22,7 @@
import os
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS
-
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
diff --git a/tests/sources/generic/fetch.py b/tests/sources/generic/fetch.py
index f5931f8f1..f8c6b5557 100644
--- a/tests/sources/generic/fetch.py
+++ b/tests/sources/generic/fetch.py
@@ -22,7 +22,8 @@
import os
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS, generate_junction
+from tests.testutils import generate_junction
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from tests.frontend import configure_project
from buildstream.plugintestutils import cli # pylint: disable=unused-import
diff --git a/tests/sources/generic/mirror.py b/tests/sources/generic/mirror.py
index e9fe254c5..9cbb19fe4 100644
--- a/tests/sources/generic/mirror.py
+++ b/tests/sources/generic/mirror.py
@@ -22,8 +22,9 @@
import os
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS, generate_junction
+from tests.testutils import generate_junction
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain
diff --git a/tests/sources/generic/source_determinism.py b/tests/sources/generic/source_determinism.py
index 3488e3beb..e3203a891 100644
--- a/tests/sources/generic/source_determinism.py
+++ b/tests/sources/generic/source_determinism.py
@@ -22,9 +22,9 @@
import os
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS
from tests.testutils.site import HAVE_SANDBOX
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
diff --git a/tests/sources/generic/track.py b/tests/sources/generic/track.py
index 4c65602e9..cbc826eae 100644
--- a/tests/sources/generic/track.py
+++ b/tests/sources/generic/track.py
@@ -22,9 +22,10 @@
import os
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS, generate_junction
+from tests.testutils import generate_junction
from tests.frontend import configure_project
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
from buildstream._exceptions import ErrorDomain
diff --git a/tests/sources/generic/track_cross_junction.py b/tests/sources/generic/track_cross_junction.py
index 56969619d..7cf049634 100644
--- a/tests/sources/generic/track_cross_junction.py
+++ b/tests/sources/generic/track_cross_junction.py
@@ -22,8 +22,9 @@
import os
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS, generate_junction
+from tests.testutils import generate_junction
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
diff --git a/tests/sources/generic/workspace.py b/tests/sources/generic/workspace.py
index ad115c1ba..4da3a5b78 100644
--- a/tests/sources/generic/workspace.py
+++ b/tests/sources/generic/workspace.py
@@ -23,8 +23,7 @@ import os
import shutil
import pytest
-from tests.testutils import create_repo, ALL_REPO_KINDS
-
+from buildstream.plugintestutils import create_repo, ALL_REPO_KINDS
from buildstream.plugintestutils import cli # pylint: disable=unused-import
from buildstream import _yaml
diff --git a/tests/sources/git.py b/tests/sources/git.py
index dd53df2b5..0f97b77a3 100644
--- a/tests/sources/git.py
+++ b/tests/sources/git.py
@@ -33,8 +33,8 @@ from buildstream._exceptions import ErrorDomain
from buildstream import _yaml
from buildstream.plugin import CoreWarnings
from buildstream.plugintestutils import cli # pylint: disable=unused-import
+from buildstream.plugintestutils import create_repo
-from tests.testutils import create_repo
from tests.testutils.site import HAVE_GIT, HAVE_OLD_GIT
DATA_DIR = os.path.join(
diff --git a/tests/sources/no_fetch_cached.py b/tests/sources/no_fetch_cached.py
index 767c193d2..4a3f71932 100644
--- a/tests/sources/no_fetch_cached.py
+++ b/tests/sources/no_fetch_cached.py
@@ -7,7 +7,7 @@ import pytest
from buildstream import _yaml
from buildstream.plugintestutils import cli # pylint: disable=unused-import
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
from tests.testutils.site import HAVE_GIT
DATA_DIR = os.path.join(
diff --git a/tests/sources/ostree.py b/tests/sources/ostree.py
index 2d4dd953a..e75a64663 100644
--- a/tests/sources/ostree.py
+++ b/tests/sources/ostree.py
@@ -26,8 +26,7 @@ import pytest
from buildstream._exceptions import ErrorDomain
from buildstream import _yaml
from buildstream.plugintestutils import cli # pylint: disable=unused-import
-
-from tests.testutils import create_repo
+from buildstream.plugintestutils import create_repo
DATA_DIR = os.path.join(
os.path.dirname(os.path.realpath(__file__)),
diff --git a/tests/testutils/__init__.py b/tests/testutils/__init__.py
index 929ffc5f2..2e1f72138 100644
--- a/tests/testutils/__init__.py
+++ b/tests/testutils/__init__.py
@@ -23,7 +23,6 @@
# William Salmon <will.salmon@codethink.co.uk>
#
-from .repo import create_repo, ALL_REPO_KINDS
from .artifactshare import create_artifact_share
from .element_generators import create_element_size, update_element_size
from .junction import generate_junction
diff --git a/tests/testutils/element_generators.py b/tests/testutils/element_generators.py
index 4461e4b7f..ec1b6bd85 100644
--- a/tests/testutils/element_generators.py
+++ b/tests/testutils/element_generators.py
@@ -2,8 +2,7 @@ import os
from buildstream import _yaml
from buildstream import utils
-
-from .repo import create_repo
+from buildstream.plugintestutils import create_repo
# create_element_size()
diff --git a/tests/testutils/junction.py b/tests/testutils/junction.py
index e0db8fcfb..49bc692ed 100644
--- a/tests/testutils/junction.py
+++ b/tests/testutils/junction.py
@@ -1,6 +1,5 @@
from buildstream import _yaml
-
-from .repo import create_repo
+from buildstream.plugintestutils import create_repo
# generate_junction()
diff --git a/tests/testutils/repo/__init__.py b/tests/testutils/repo/__init__.py
index 1881aa3c4..e69de29bb 100644
--- a/tests/testutils/repo/__init__.py
+++ b/tests/testutils/repo/__init__.py
@@ -1,31 +0,0 @@
-from collections import OrderedDict
-
-from .git import Git
-from .bzr import Bzr
-from .ostree import OSTree
-from .tar import Tar
-from .zip import Zip
-
-ALL_REPO_KINDS = OrderedDict()
-ALL_REPO_KINDS['git'] = Git
-ALL_REPO_KINDS['bzr'] = Bzr
-ALL_REPO_KINDS['ostree'] = OSTree
-ALL_REPO_KINDS['tar'] = Tar
-ALL_REPO_KINDS['zip'] = Zip
-
-
-# create_repo()
-#
-# Convenience for creating a Repo
-#
-# Args:
-# kind (str): The kind of repo to create (a source plugin basename)
-# directory (str): The path where the repo will keep a cache
-#
-def create_repo(kind, directory, subdir='repo'):
- try:
- constructor = ALL_REPO_KINDS[kind]
- except KeyError as e:
- raise AssertionError("Unsupported repo kind {}".format(kind)) from e
-
- return constructor(directory, subdir=subdir)
diff --git a/tests/testutils/repo/bzr.py b/tests/testutils/repo/bzr.py
index 0bedb3aa7..c006c3fce 100644
--- a/tests/testutils/repo/bzr.py
+++ b/tests/testutils/repo/bzr.py
@@ -2,7 +2,7 @@ import os
import subprocess
import pytest
-from .repo import Repo
+from buildstream.plugintestutils import Repo
from .. import site
diff --git a/tests/testutils/repo/git.py b/tests/testutils/repo/git.py
index 1455de264..5c27be3ee 100644
--- a/tests/testutils/repo/git.py
+++ b/tests/testutils/repo/git.py
@@ -4,7 +4,7 @@ import subprocess
import pytest
-from .repo import Repo
+from buildstream.plugintestutils import Repo
from .. import site
diff --git a/tests/testutils/repo/ostree.py b/tests/testutils/repo/ostree.py
index 0bb1d8ae3..d0cef8b88 100644
--- a/tests/testutils/repo/ostree.py
+++ b/tests/testutils/repo/ostree.py
@@ -2,7 +2,7 @@ import subprocess
import pytest
-from .repo import Repo
+from buildstream.plugintestutils import Repo
from .. import site
diff --git a/tests/testutils/repo/repo.py b/tests/testutils/repo/repo.py
deleted file mode 100644
index 234aa374c..000000000
--- a/tests/testutils/repo/repo.py
+++ /dev/null
@@ -1,90 +0,0 @@
-import os
-import shutil
-
-
-# Repo()
-#
-# Abstract class providing scaffolding for
-# generating data to be used with various sources
-#
-# Args:
-# directory (str): The base temp directory for the test
-# subdir (str): The subdir for the repo, in case there is more than one
-#
-class Repo():
-
- def __init__(self, directory, subdir='repo'):
-
- # The working directory for the repo object
- #
- self.directory = os.path.abspath(directory)
-
- # The directory the actual repo will be stored in
- self.repo = os.path.join(self.directory, subdir)
-
- os.makedirs(self.repo, exist_ok=True)
-
- # create():
- #
- # Create a repository in self.directory and add the initial content
- #
- # Args:
- # directory: A directory with content to commit
- #
- # Returns:
- # (smth): A new ref corresponding to this commit, which can
- # be passed as the ref in the Repo.source_config() API.
- #
- def create(self, directory):
- pass
-
- # source_config()
- #
- # Args:
- # ref (smth): An optional abstract ref object, usually a string.
- #
- # Returns:
- # (dict): A configuration which can be serialized as a
- # source when generating an element file on the fly
- #
- def source_config(self, ref=None):
- pass
-
- # copy_directory():
- #
- # Copies the content of src to the directory dest
- #
- # Like shutil.copytree(), except dest is expected
- # to exist.
- #
- # Args:
- # src (str): The source directory
- # dest (str): The destination directory
- #
- def copy_directory(self, src, dest):
- for filename in os.listdir(src):
- src_path = os.path.join(src, filename)
- dest_path = os.path.join(dest, filename)
- if os.path.isdir(src_path):
- shutil.copytree(src_path, dest_path)
- else:
- shutil.copy2(src_path, dest_path)
-
- # copy():
- #
- # Creates a copy of this repository in the specified
- # destination.
- #
- # Args:
- # dest (str): The destination directory
- #
- # Returns:
- # (Repo): A Repo object for the new repository.
- def copy(self, dest):
- subdir = self.repo[len(self.directory):].lstrip(os.sep)
- new_dir = os.path.join(dest, subdir)
- os.makedirs(new_dir, exist_ok=True)
- self.copy_directory(self.repo, new_dir)
- repo_type = type(self)
- new_repo = repo_type(dest, subdir)
- return new_repo
diff --git a/tests/testutils/repo/tar.py b/tests/testutils/repo/tar.py
index ee6cb77b3..6fdf58ae0 100644
--- a/tests/testutils/repo/tar.py
+++ b/tests/testutils/repo/tar.py
@@ -3,7 +3,7 @@ import tarfile
from buildstream.utils import sha256sum
-from .repo import Repo
+from buildstream.plugintestutils import Repo
class Tar(Repo):
diff --git a/tests/testutils/repo/zip.py b/tests/testutils/repo/zip.py
index 8133f1236..c57e09e7d 100644
--- a/tests/testutils/repo/zip.py
+++ b/tests/testutils/repo/zip.py
@@ -3,7 +3,7 @@ import zipfile
from buildstream.utils import sha256sum
-from .repo import Repo
+from buildstream.plugintestutils import Repo
class Zip(Repo):