# HG changeset patch # User Thomas De Schampheleire # Date 2018-03-16 21:32:01 # Node ID 4077ea3ff4f267df2b1327a143f8f7e296700bd2 # Parent d8f820acf417fb9a0a62338d63228b04830d4441 tests: vcs: split off repo creation helpers test_changesets.py needs to create a repository, and is currently duplicating some of the base setup code. Instead, split out the setup_class method to allow reuse. Note that the repo_path variable previously registered to 'self' is not actually used by anyone, and moreover is not actually necessary as the path can be obtained via the repo object too. Therefore, just make it a local variable. diff --git a/kallithea/tests/vcs/base.py b/kallithea/tests/vcs/base.py --- a/kallithea/tests/vcs/base.py +++ b/kallithea/tests/vcs/base.py @@ -20,8 +20,6 @@ class _BackendTestMixin(object): It is required to set following attributes at subclass: - ``backend_alias``: alias of used backend (see ``vcs.BACKENDS``) - - ``repo_path``: path to the repository which would be created for set of - tests - ``recreate_repo_per_test``: If set to ``False``, repo would NOT be created before every single test. Defaults to ``True``. """ @@ -63,8 +61,17 @@ class _BackendTestMixin(object): def setup_class(cls): Backend = cls.get_backend() cls.backend_class = Backend - cls.repo_path = get_new_dir(str(time.time())) - cls.repo = Backend(cls.repo_path, create=True) + cls.setup_repo(Backend) + + @classmethod + def setup_empty_repo(cls, backend): + repo_path = get_new_dir(str(time.time())) + repo = backend(repo_path, create=True) + return repo + + @classmethod + def setup_repo(cls, backend): + cls.repo = cls.setup_empty_repo(backend) cls.imc = cls.repo.in_memory_changeset cls.default_branch = cls.repo.DEFAULT_BRANCH_NAME @@ -82,4 +89,4 @@ class _BackendTestMixin(object): def setup_method(self, method): if getattr(self, 'recreate_repo_per_test', False): - self.__class__.setup_class() + self.setup_repo(self.backend_class)