コード例 #1
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_skip_upstream(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0', '--upstream-branch=']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #2
0
 def test_push_not_origin(self, repo):
     repo.add_remote_repo('notorigin', self.target.path)
     self.assertEquals(push(['argv0', 'notorigin']), 0)
     self._check_repo_state(self.target,
                            'master', ['master', 'upstream'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #3
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_dont_push_unreleased(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     subprocess.check_call(["debchange", "-i", "foo"])
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target, None,
                            ['upstream'],
                            tags=['upstream/2.8'])
コード例 #4
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_native(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master'],
                            tags=['debian/0.4.14'])
     self.assertEquals(repo.head, self.target.head)
コード例 #5
0
 def test_push_skip_upstream(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0', '--upstream-branch=']), 0)
     self._check_repo_state(self.target,
                            'master', ['master'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #6
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_pristine_tar(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0', '--pristine-tar']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master', 'upstream', 'pristine-tar'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #7
0
 def test_dont_push_unreleased(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     subprocess.check_call(["debchange", "-i", "foo"])
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target,
                            None, ['upstream'],
                            tags=['upstream/2.8'])
コード例 #8
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_not_origin(self, repo):
     repo.add_remote_repo('notorigin', self.target.path)
     self.assertEquals(push(['argv0', 'notorigin']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master', 'upstream'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #9
0
 def test_push_native(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target,
                            'master', ['master'],
                            tags=['debian/0.4.14'])
     self.assertEquals(repo.head, self.target.head)
コード例 #10
0
 def test_push_pristine_tar(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0', '--pristine-tar']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master', 'upstream', 'pristine-tar'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #11
0
 def test_push_tag_ne_branch(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.add_file(repo, "foo.txt", "foo")
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target,
                            'master', ['master'],
                            tags=['debian/0.4.14'])
     self.assertEquals(repo.rev_parse("HEAD^"), self.target.head)
コード例 #12
0
 def test_push_not_origin_detect(self, repo):
     repo.add_remote_repo('notorigin', self.target.path)
     repo.set_config("branch.master.remote", "notorigin")
     repo.set_config("branch.master.merge", "refs/heads/master")
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target,
                            'master', ['master', 'upstream'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #13
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_detached_head(self, repo):
     repo.checkout("HEAD^{commit}")
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0', '--ignore-branch']), 0)
     # Since branch head is detached we don't push it but upstream
     # branch and tags must be there:
     self._check_repo_state(self.target, None,
                            ['upstream'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
コード例 #14
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_not_origin_detect(self, repo):
     repo.add_remote_repo('notorigin', self.target.path)
     repo.set_config("branch.master.remote", "notorigin")
     repo.set_config("branch.master.merge", "refs/heads/master")
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master', 'upstream'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
     self.assertEquals(repo.head, self.target.head)
コード例 #15
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_push_tag_ne_branch(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     self.add_file(repo, "foo.txt", "foo")
     self.assertEquals(push(['argv0']), 0)
     self._check_repo_state(self.target, 'master',
                            ['master'],
                            tags=['debian/0.4.14'])
     self.assertEquals(repo.rev_parse("HEAD^"),
                       self.target.head)
コード例 #16
0
ファイル: test_push.py プロジェクト: rogers0/git-buildpackage
 def test_push_detached_head(self, repo):
     repo.checkout("HEAD^{commit}")
     repo.add_remote_repo('origin', self.target.path)
     self.assertEquals(push(['argv0', '--ignore-branch']), 0)
     # Since branch head is detached we don't push it but upstream
     # branch and tags must be there:
     self._check_repo_state(self.target,
                            None, ['upstream'],
                            tags=['debian/2.8-1', 'upstream/2.8'])
コード例 #17
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
    def test_push_failure(self, repo):
        """
        Check that in case of failure we push all other branches/tags
        """
        # Create a broken tag so pushing to it fails:
        tag = os.path.join(self.target.path, 'refs', 'tags', 'debian', '2.8-1')
        os.mkdir(os.path.dirname(tag))
        with open(tag, 'w') as f:
            f.write("broken_tag")

        repo.add_remote_repo('origin', self.target.path)
        self.assertEquals(push(['argv0']), 1)
        self._check_repo_state(self.target, 'master',
                               ['master', 'upstream'],
                               tags=['upstream/2.8'])
        self.assertEquals(repo.head, self.target.head)
        self._check_in_log('.*Error running git push: .*refs/tags/debian/2.8-1')
        self._check_log(-1, ".*Failed to push some refs")
コード例 #18
0
    def test_push_failure(self, repo):
        """
        Check that in case of failure we push all other branches/tags
        """
        # Create a broken tag so pushing to it fails:
        tag = os.path.join(self.target.path, 'refs', 'tags', 'debian', '2.8-1')
        os.mkdir(os.path.dirname(tag))
        with open(tag, 'w') as f:
            f.write("broken_tag")

        repo.add_remote_repo('origin', self.target.path)
        self.assertEquals(push(['argv0']), 1)
        self._check_repo_state(self.target,
                               'master', ['master', 'upstream'],
                               tags=['upstream/2.8'])
        self.assertEquals(repo.head, self.target.head)
        self._check_in_log(
            '.*Error running git push: .*refs/tags/debian/2.8-1')
        self._check_log(-1, ".*Failed to push some refs")
コード例 #19
0
 def test_not_debian_branch(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     repo.create_branch("foo")
     repo.set_branch("foo")
     self.assertEquals(push(['argv0']), 1)
     self._check_log(-2, ".*You are not on branch 'master' but on 'foo'")
コード例 #20
0
ファイル: test_push.py プロジェクト: agx/git-buildpackage
 def test_not_debian_branch(self, repo):
     repo.add_remote_repo('origin', self.target.path)
     repo.create_branch("foo")
     repo.set_branch("foo")
     self.assertEquals(push(['argv0']), 1)
     self._check_log(-2, ".*You are not on branch 'master' but on 'foo'")