def test_release__not_on_develop_branch(self): with self.temporary_directory_context(): self.projector("repository init a.b.c none short long") self.projector("devenv build --no-scripts") repository = LocalRepository(curdir) repository.checkout("master") with self.assertRaises(SystemExit): self.projector("version release 1.2.3 --no-fetch --no-upload --no-push-changes")
def test_release__master_diverged(self): with self.temporary_directory_context(): self.projector("repository init a.b.c none short long") self.projector("devenv build --no-scripts") repository = LocalRepository(curdir) repository.checkout("master") repository.commit("empty commit", allowEmpty=True) repository.checkout("develop") with self.assertRaises(SystemExit): self.projector("version release 1.2.3 --no-fetch --no-upload --no-push-changes")
def test_local_behind_origin__no_fetch(self): from os import curdir from os.path import abspath, basename from infi.projector.helper.utils import chdir with self.temporary_directory_context(): self.projector("repository init a.b.c none short long") self.projector("devenv build --no-scripts") origin = abspath(curdir) with self.temporary_directory_context(): self.projector("repository clone {}".format(origin)) with chdir(basename(origin)): self.projector("devenv build --no-scripts") with chdir(origin): repository = LocalRepository(curdir) repository.checkout("master") repository.commit("empty commit", allowEmpty=True) self.projector("version release 1.2.3 --no-fetch --no-upload --no-push-changes")
def revert_if_failed(keep_leftovers): from gitpy import LocalRepository from os import curdir repository = LocalRepository(curdir) ops = RevertIfFailedOperations(repository) before = ops.get_status() try: yield except: if keep_leftovers: raise repository.checkout('develop') now = ops.get_status() ops.delete_new_tags(before, now) ops.delete_new_branches(before, now) ops.reset_master_and_develop(before, now) raise
def test_local_behind_origin(self): from os import curdir from os.path import abspath, basename from infi.projector.helper.utils import chdir if is_windows: raise SkipTest("skipping test on windows") with self.temporary_directory_context(): self.projector("repository init a.b.c none short long") self.projector("devenv build --no-scripts --no-readline") origin = abspath(curdir) with self.temporary_directory_context(): self.projector("repository clone {}".format(origin)) with chdir(basename(origin)): self.projector("devenv build --no-scripts --no-readline") with chdir(origin): repository = LocalRepository(curdir) repository.checkout("master") repository.commit("empty commit", allowEmpty=True) with self.assertRaises(SystemExit): self.projector("version release 1.2.3 --no-upload --no-push-changes")
def test_local_behind_origin(self): from os import curdir from os.path import abspath, basename from infi.projector.helper.utils import chdir if is_windows: raise SkipTest("skipping test on windows") with self.temporary_directory_context(): self.projector("repository init a.b.c none short long") self.projector("devenv build --no-scripts --no-readline") origin = abspath(curdir) with self.temporary_directory_context(): self.projector("repository clone {}".format(origin)) with chdir(basename(origin)): self.projector("devenv build --no-scripts --no-readline") with chdir(origin): repository = LocalRepository(curdir) repository.checkout("master") repository.commit("empty commit", allowEmpty=True) with self.assertRaises(SystemExit): self.projector( "version release 1.2.3 --no-upload --no-push-changes" )