diff options
Diffstat (limited to 'tests')
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): |