Exemplo n.º 1
0
 def testDifferingCommitCount(self):
     change_a = change.Change((commit.Commit('chromium', 0), ))
     change_b = change.Change(
         (commit.Commit('chromium',
                        9), commit.Commit('another_repo', 'babe852')))
     with self.assertRaises(commit.NonLinearError):
         change.Change.Midpoint(change_a, change_b)
Exemplo n.º 2
0
 def testDepsRollRight(self):
     change_a = change.Change(
         (commit.Commit('chromium', 4), commit.Commit('catapult', 4)))
     change_b = change.Change((commit.Commit('chromium', 5), ))
     expected = change.Change(
         (commit.Commit('chromium', 4), commit.Commit('catapult', 6)))
     self.assertEqual(change.Change.Midpoint(change_a, change_b), expected)
Exemplo n.º 3
0
 def testDifferingPatch(self):
   change_a = change.Change((commit.Commit('chromium', '0e57e2b'),))
   change_b = change.Change(
       (commit.Commit('chromium', 'babe852'),),
       patch=patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7'))
   with self.assertRaises(commit.NonLinearError):
     change.Change.Midpoint(change_a, change_b)
Exemplo n.º 4
0
 def testAdjacentWithDepsRollAndDepAlreadyOverridden(self):
     change_a = change.Change((commit.Commit('chromium', 4), ))
     change_b = change.Change(
         (commit.Commit('chromium', 5), commit.Commit('catapult', 4)))
     expected = change.Change(
         (commit.Commit('chromium', 4), commit.Commit('catapult', 2)))
     self.assertEqual(change.Change.Midpoint(change_a, change_b), expected)
Exemplo n.º 5
0
 def testDifferingPatch(self):
     change_a = change.Change((commit.Commit('chromium', '0e57e2b'), ))
     change_b = change.Change(
         (commit.Commit('chromium', 'babe852'), ),
         patch=patch.Patch('https://codereview.chromium.org', 2565263002,
                           20001))
     with self.assertRaises(commit.NonLinearError):
         change.Change.Midpoint(change_a, change_b)
Exemplo n.º 6
0
    def testUpdate(self):
        old_commit = commit.Commit('chromium', 'aaaaaaaa')
        dep_a = commit.Commit('catapult', 'e0a2efbb')
        change_a = change.Change((old_commit, dep_a))

        new_commit = commit.Commit('chromium', 'bbbbbbbb')
        dep_b = commit.Commit('another_repo', 'e0a2efbb')
        p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7')
        change_b = change.Change((dep_b, new_commit), p)

        expected = change.Change((new_commit, dep_a, dep_b), p)
        self.assertEqual(change_a.Update(change_b), expected)
Exemplo n.º 7
0
    def testUpdate(self):
        old_commit = commit.Commit('chromium', 'aaaaaaaa')
        dep_a = commit.Commit('catapult', 'e0a2efbb')
        change_a = change.Change((old_commit, dep_a))

        new_commit = commit.Commit('chromium', 'bbbbbbbb')
        dep_b = commit.Commit('another_repo', 'e0a2efbb')
        change_b = change.Change((dep_b, new_commit), patch_test.Patch())

        expected = change.Change((new_commit, dep_a, dep_b),
                                 patch_test.Patch())
        self.assertEqual(change_a.Update(change_b), expected)
Exemplo n.º 8
0
    def testAsDict(self, commit_as_dict, patch_as_dict):
        commit_as_dict.side_effect = ({
            'git_hash': 'aaa7336c82'
        }, {
            'git_hash': 'e0a2efbb3d'
        })
        patch_as_dict.return_value = {'revision': '2f0d5c7'}
        commits = (commit.Commit('chromium', 'aaa7336c82'),
                   commit.Commit('catapult', 'e0a2efbb3d'))
        p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7')
        c = change.Change(commits, p)

        expected = {
            'commits': [
                {
                    'git_hash': 'aaa7336c82'
                },
                {
                    'git_hash': 'e0a2efbb3d'
                },
            ],
            'patch': {
                'revision': '2f0d5c7'
            },
        }
        self.assertEqual(c.AsDict(), expected)
Exemplo n.º 9
0
 def testUpdateWithMultiplePatches(self):
     base_commit = commit.Commit('chromium',
                                 'aaa7336c821888839f759c6c0a36b56c')
     p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7')
     c = change.Change((base_commit, ), p)
     with self.assertRaises(NotImplementedError):
         c.Update(c)
Exemplo n.º 10
0
  def testFromDictWithJustOneCommit(self, _):
    c = change.Change.FromDict({
        'commits': [{'repository': 'chromium', 'git_hash': 'aaa7336'}],
    })

    expected = change.Change((commit.Commit('chromium', 'aaa7336'),))
    self.assertEqual(c, expected)
Exemplo n.º 11
0
    def testAsDict(self):
        commits = (commit.Commit('chromium', 'aaa7336c82'),
                   commit.Commit('catapult', 'e0a2efbb3d'))
        p = patch.Patch('https://codereview.chromium.org', 2565263002, 20001)
        c = change.Change(commits, p)

        expected = {
            'commits': [
                {
                    'repository': 'chromium',
                    'git_hash': 'aaa7336c82',
                    'url': _CHROMIUM_URL + '/+/aaa7336c82',
                },
                {
                    'repository': 'catapult',
                    'git_hash': 'e0a2efbb3d',
                    'url': _CATAPULT_URL + '/+/e0a2efbb3d',
                },
            ],
            'patch': {
                'server': 'https://codereview.chromium.org',
                'issue': 2565263002,
                'patchset': 20001,
            },
        }
        self.assertEqual(c.AsDict(), expected)
Exemplo n.º 12
0
    def testAsDict(self):
        commits = (commit.Commit('chromium', 'aaa7336c82'),
                   commit.Commit('catapult', 'e0a2efbb3d'))
        p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7')
        c = change.Change(commits, p)

        expected = {
            'commits': [
                {
                    'repository': 'chromium',
                    'git_hash': 'aaa7336c82',
                    'url': _CHROMIUM_URL + '/+/aaa7336c82',
                },
                {
                    'repository': 'catapult',
                    'git_hash': 'e0a2efbb3d',
                    'url': _CATAPULT_URL + '/+/e0a2efbb3d',
                },
            ],
            'patch': {
                'server': 'https://codereview.com',
                'change': 672011,
                'revision': '2f0d5c7',
            },
        }
        self.assertEqual(c.AsDict(), expected)
Exemplo n.º 13
0
    def testFromDictWithAllFields(self, get_change):
        get_change.return_value = {
            'id': 'repo~branch~id',
            'revisions': {
                '2f0d5c7': {}
            }
        }

        c = change.Change.FromDict({
            'commits': (
                {
                    'repository': 'chromium',
                    'git_hash': 'aaa7336'
                },
                {
                    'repository': 'catapult',
                    'git_hash': 'e0a2efb'
                },
            ),
            'patch': {
                'server': 'https://codereview.com',
                'change': 672011,
                'revision': '2f0d5c7',
            },
        })

        commits = (commit.Commit('chromium', 'aaa7336'),
                   commit.Commit('catapult', 'e0a2efb'))
        p = patch.GerritPatch('https://codereview.com', 'repo~branch~id',
                              '2f0d5c7')
        expected = change.Change(commits, p)
        self.assertEqual(c, expected)
Exemplo n.º 14
0
  def _CreateJob(
      self, hash1, hash2, comparison_mode, created, bug_id, exception=None):
    old_commit = commit.Commit('chromium', hash1)
    change_a = change_module.Change((old_commit,))

    old_commit = commit.Commit('chromium', hash2)
    change_b = change_module.Change((old_commit,))

    job = job_module.Job.New(
        (_QuestStub(),), (change_a, change_b),
        comparison_mode=comparison_mode,
        bug_id=bug_id)
    job.created = created
    job.exception = exception
    job.state.ScheduleWork()
    job.state.Explore()
    job.put()
Exemplo n.º 15
0
def Change(chromium=None, catapult=None, another_repo=None, patch=False):
    commits = []
    if chromium is not None:
        commits.append(commit_test.Commit(chromium))
    if catapult is not None:
        commits.append(commit_test.Commit(catapult, repository='catapult'))
    if another_repo is not None:
        commits.append(
            commit_test.Commit(another_repo, repository='another_repo'))
    return change.Change(commits, patch=patch_test.Patch() if patch else None)
Exemplo n.º 16
0
  def testChange(self):
    base_commit = commit.Commit('chromium', 'aaa7336c821888839f759c6c0a36b56c')
    dep = commit.Commit('catapult', 'e0a2efbb3d1a81aac3c90041eefec24f066d26ba')
    p = patch.GerritPatch('https://codereview.com', 672011, '2f0d5c7')

    # Also test the deps conversion to frozenset.
    c = change.Change([base_commit, dep], p)

    self.assertEqual(c, change.Change((base_commit, dep), p))
    string = 'chromium@aaa7336 catapult@e0a2efb + 2f0d5c7'
    id_string = ('catapult@e0a2efbb3d1a81aac3c90041eefec24f066d26ba '
                 'chromium@aaa7336c821888839f759c6c0a36b56c + '
                 'https://codereview.com/672011/2f0d5c7')
    self.assertEqual(str(c), string)
    self.assertEqual(c.id_string, id_string)
    self.assertEqual(c.base_commit, base_commit)
    self.assertEqual(c.last_commit, dep)
    self.assertEqual(c.deps, (dep,))
    self.assertEqual(c.commits, (base_commit, dep))
    self.assertEqual(c.patch, p)
Exemplo n.º 17
0
    def testChange(self):
        base_commit = commit.Commit('chromium',
                                    'aaa7336c821888839f759c6c0a36b56c')
        dep = commit.Commit('catapult',
                            'e0a2efbb3d1a81aac3c90041eefec24f066d26ba')

        # Also test the deps conversion to tuple.
        c = change.Change([base_commit, dep], patch_test.Patch())

        self.assertEqual(c,
                         change.Change((base_commit, dep), patch_test.Patch()))
        string = 'chromium@aaa7336 catapult@e0a2efb + abc123'
        id_string = ('catapult@e0a2efbb3d1a81aac3c90041eefec24f066d26ba '
                     'chromium@aaa7336c821888839f759c6c0a36b56c + '
                     'https://codereview.com/repo~branch~id/abc123')
        self.assertEqual(str(c), string)
        self.assertEqual(c.id_string, id_string)
        self.assertEqual(c.base_commit, base_commit)
        self.assertEqual(c.last_commit, dep)
        self.assertEqual(c.deps, (dep, ))
        self.assertEqual(c.commits, (base_commit, dep))
        self.assertEqual(c.patch, patch_test.Patch())
Exemplo n.º 18
0
    def testChange(self):
        base_commit = commit.Commit('chromium',
                                    'aaa7336c821888839f759c6c0a36b56c')
        dep = commit.Commit('catapult',
                            'e0a2efbb3d1a81aac3c90041eefec24f066d26ba')
        p = patch.Patch('https://codereview.chromium.org', 2565263002, 20001)

        # Also test the deps conversion to frozenset.
        c = change.Change([base_commit, dep], p)

        self.assertEqual(c, change.Change((base_commit, dep), p))
        string = ('chromium@aaa7336 catapult@e0a2efb + '
                  'https://codereview.chromium.org/2565263002/20001')
        id_string = ('chromium@aaa7336c821888839f759c6c0a36b56c '
                     'catapult@e0a2efbb3d1a81aac3c90041eefec24f066d26ba + '
                     'https://codereview.chromium.org/2565263002/20001')
        self.assertEqual(str(c), string)
        self.assertEqual(c.id_string, id_string)
        self.assertEqual(c.base_commit, base_commit)
        self.assertEqual(c.last_commit, dep)
        self.assertEqual(c.deps, (dep, ))
        self.assertEqual(c.commits, (base_commit, dep))
        self.assertEqual(c.patch, p)
Exemplo n.º 19
0
    def testFromDictWithAllFields(self, _):
        c = change.Change.FromDict({
            'commits': (
                {
                    'repository': 'chromium',
                    'git_hash': 'aaa7336'
                },
                {
                    'repository': 'catapult',
                    'git_hash': 'e0a2efb'
                },
            ),
            'patch': {
                'server': 'https://codereview.chromium.org',
                'issue': 2565263002,
                'patchset': 20001,
            },
        })

        commits = (commit.Commit('chromium', 'aaa7336'),
                   commit.Commit('catapult', 'e0a2efb'))
        p = patch.Patch('https://codereview.chromium.org', 2565263002, 20001)
        expected = change.Change(commits, p)
        self.assertEqual(c, expected)
Exemplo n.º 20
0
 def testNotAdjacent(self):
     change_a = change.Change((commit.Commit('chromium', 0), ))
     change_b = change.Change((commit.Commit('chromium', 9), ))
     self.assertEqual(change.Change.Midpoint(change_a, change_b),
                      change.Change((commit.Commit('chromium', 4), )))
Exemplo n.º 21
0
 def testAdjacentWithNoDepsRoll(self):
     change_a = change.Change((commit.Commit('chromium', 0), ))
     change_b = change.Change((commit.Commit('chromium', 1), ))
     with self.assertRaises(commit.NonLinearError):
         change.Change.Midpoint(change_a, change_b)
Exemplo n.º 22
0
 def testSameChange(self):
     change_a = change.Change((commit.Commit('chromium', 0), ))
     change_b = change.Change((commit.Commit('chromium', 0), ))
     with self.assertRaises(commit.NonLinearError):
         change.Change.Midpoint(change_a, change_b)
Exemplo n.º 23
0
 def testDifferingRepository(self):
     change_a = change.Change((commit.Commit('chromium', '0e57e2b'), ))
     change_b = change.Change((commit.Commit('another_repo', 'babe852'), ))
     with self.assertRaises(commit.NonLinearError):
         change.Change.Midpoint(change_a, change_b)