# HG changeset patch # User Thomas De Schampheleire # Date 1521232321 -3600 # 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 -r d8f820acf417 -r 4077ea3ff4f2 kallithea/tests/vcs/base.py --- a/kallithea/tests/vcs/base.py Fri Mar 16 22:07:58 2018 +0100 +++ b/kallithea/tests/vcs/base.py Fri Mar 16 21:32:01 2018 +0100 @@ -20,8 +20,6 @@ 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 @@ 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 @@ def setup_method(self, method): if getattr(self, 'recreate_repo_per_test', False): - self.__class__.setup_class() + self.setup_repo(self.backend_class)