示例#1
0
 def test_bug_id_for_revision(self):
     checkout = self._make_checkout()
     checkout._scm.committer_email_for_revision = lambda revision: "*****@*****.**"
     checkout.changelog_entries_for_revision = lambda revision, changed_files=None: [
         ChangeLogEntry(_changelog1entry1)
     ]
     self.assertEqual(checkout.bug_id_for_revision(4), 36629)
示例#2
0
    def _entry_with_reviewer(self, reviewer_line):
        return ChangeLogEntry('''2009-08-19  Eric Seidel  <*****@*****.**>

            REVIEW_LINE

            * Scripts/bugzilla-tool:
'''.replace("REVIEW_LINE", reviewer_line))
示例#3
0
 def test_bug_id_for_this_commit(self):
     scm = Mock()
     checkout = Checkout(scm)
     checkout.commit_message_for_this_commit = lambda git_commit, changed_files=None: CommitMessage(
         ChangeLogEntry(_changelog1entry1).contents().splitlines())
     self.assertEqual(checkout.bug_id_for_this_commit(git_commit=None),
                      36629)
示例#4
0
    def _entry_with_author(self, author_text):
        return ChangeLogEntry('''2009-08-19  AUTHOR_TEXT

            Reviewed by Ryosuke Niwa

            * Scripts/bugzilla-tool:
'''.replace("AUTHOR_TEXT", author_text))
 def test_bug_id_for_revision(self):
     scm = Mock()
     scm.committer_email_for_revision = lambda revision: "*****@*****.**"
     checkout = Checkout(scm)
     checkout.changelog_entries_for_revision = lambda revision: [
         ChangeLogEntry(_changelog1entry1)
     ]
     self.assertEqual(checkout.bug_id_for_revision(4), 36629)
示例#6
0
 def _assert_fuzzy_reviewer_match(self, reviewer_text, expected_text_list,
                                  expected_contributors):
     unused, reviewer_text_list = ChangeLogEntry._parse_reviewer_text(
         reviewer_text)
     self.assertEqual(reviewer_text_list, expected_text_list)
     self.assertEqual(
         self._entry_with_reviewer(reviewer_text).reviewers(),
         self._contributors(expected_contributors))
示例#7
0
 def _assert_parse_reviewer_text_and_list(self,
                                          text,
                                          expected_reviewer_text,
                                          expected_reviewer_text_list=None):
     reviewer_text, reviewer_text_list = ChangeLogEntry._parse_reviewer_text(
         text)
     self.assertEqual(reviewer_text, expected_reviewer_text)
     if expected_reviewer_text_list:
         self.assertEqual(reviewer_text_list, expected_reviewer_text_list)
     else:
         self.assertEqual(reviewer_text_list, [expected_reviewer_text])
示例#8
0
    def test_is_touched_files_text_clean(self):
        tests = [
            ('''2013-01-30  Timothy Loh  <*****@*****.**>

        Make ChangeLogEntry detect annotations by prepare-ChangeLog (Added/Removed/Copied from/Renamed from) as clean.
        https://bugs.webkit.org/show_bug.cgi?id=108433

        * Scripts/webkitpy/common/checkout/changelog.py:
        (ChangeLogEntry.is_touched_files_text_clean):
        * Scripts/webkitpy/common/checkout/changelog_unittest.py:
        (test_is_touched_files_text_clean):
''', True),
            ('''2013-01-10  Alan Cutter  <*****@*****.**>

        Perform some file operations (automatically added comments).

        * Scripts/webkitpy/tool/bot/testdata/webkit_sheriff_0.js: Removed.
        * EWSTools/build-vm.sh: Renamed from Tools/EWSTools/cold-boot.sh.
''', True),
            ('''2013-01-30  Timothy Loh  <*****@*****.**>

        Add unit test (manually added comment).

        * Scripts/webkitpy/common/checkout/changelog_unittest.py:
        (test_is_touched_files_text_clean): Added.
''', False),
            ('''2013-01-30  Timothy Loh  <*****@*****.**>

        Add file (manually added comment).

        * Scripts/webkitpy/common/checkout/super_changelog.py: Copied from the internet.
''', False),
        ]

        for contents, expected_result in tests:
            entry = ChangeLogEntry(contents)
            self.assertEqual(entry.is_touched_files_text_clean(),
                             expected_result)
    def test_commit_info_for_revision(self):
        scm = Mock()
        scm.committer_email_for_revision = lambda revision: "*****@*****.**"
        checkout = Checkout(scm)
        checkout.changelog_entries_for_revision = lambda revision: [
            ChangeLogEntry(_changelog1entry1)
        ]
        commitinfo = checkout.commit_info_for_revision(4)
        self.assertEqual(commitinfo.bug_id(), 36629)
        self.assertEqual(commitinfo.author_name(), u"Tor Arne Vestb\u00f8")
        self.assertEqual(commitinfo.author_email(), "*****@*****.**")
        self.assertEqual(commitinfo.reviewer_text(), None)
        self.assertEqual(commitinfo.reviewer(), None)
        self.assertEqual(commitinfo.committer_email(), "*****@*****.**")
        self.assertEqual(commitinfo.committer(), None)

        checkout.changelog_entries_for_revision = lambda revision: []
        self.assertEqual(checkout.commit_info_for_revision(1), None)
示例#10
0
    def test_commit_info_for_revision(self):
        checkout = self._make_checkout()
        checkout._scm.changed_files_for_revision = lambda revision: [
            'path/to/file', 'another/file'
        ]
        checkout._scm.committer_email_for_revision = lambda revision, changed_files=None: "*****@*****.**"
        checkout.changelog_entries_for_revision = lambda revision, changed_files=None: [
            ChangeLogEntry(_changelog1entry1)
        ]
        commitinfo = checkout.commit_info_for_revision(4)
        self.assertEqual(commitinfo.bug_id(), 36629)
        self.assertEqual(
            commitinfo.bug_description(),
            "Unreviewed build fix to un-break webkit-patch land.")
        self.assertEqual(commitinfo.author_name(), u"Fr\u00e9d\u00e9ric Wang")
        self.assertEqual(commitinfo.author_email(), "*****@*****.**")
        self.assertIsNone(commitinfo.reviewer_text())
        self.assertIsNone(commitinfo.reviewer())
        self.assertEqual(commitinfo.committer_email(), "*****@*****.**")
        self.assertIsNone(commitinfo.committer())
        self.assertEqual(
            commitinfo.to_json(), {
                'bug_id':
                36629,
                'author_email':
                '*****@*****.**',
                'changed_files': [
                    'path/to/file',
                    'another/file',
                ],
                'reviewer_text':
                None,
                'author_name':
                u'Fr\u00e9d\u00e9ric Wang',
                'bug_description':
                'Unreviewed build fix to un-break webkit-patch land.',
            })

        checkout.changelog_entries_for_revision = lambda revision, changed_files=None: [
        ]
        self.assertIsNone(checkout.commit_info_for_revision(1))
示例#11
0
 def mock_changelog_entries_for_revision(revision, changed_files=None):
     if revision == 27:
         return []
     if revision % 2 == 0:
         return [ChangeLogEntry(_changelog1entry1)]
     return [ChangeLogEntry(_changelog1entry2)]
示例#12
0
 def test_bug_id_for_this_commit(self):
     checkout = self._make_checkout()
     checkout.commit_message_for_this_commit = lambda git_commit, changed_files=None, return_stderr=False: CommitMessage(
         ChangeLogEntry(_changelog1entry1).contents().splitlines())
     self.assertEqual(checkout.bug_id_for_this_commit(git_commit=None),
                      36629)
示例#13
0
 def mock_changelog_entries_for_revision(revision):
     if revision % 2 == 0:
         return [ChangeLogEntry(_changelog1entry1)]
     return [ChangeLogEntry(_changelog1entry2)]
 def _test_review_text(self, step, text, expected):
     contents = self._boilerplate_entry.replace("REVIEW_LINE", text)
     entry = ChangeLogEntry(contents)
     self.assertEqual(step._has_valid_reviewer(entry), expected)
示例#15
0
 def _assert_fuzzy_radar_match(self, radar_text, expected_radar_id):
     parsed_radar_id = ChangeLogEntry._parse_radar_id(radar_text)
     self.assertEqual(parsed_radar_id, expected_radar_id)
示例#16
0
 def _assert_parse_reviewer_text_list(self, text,
                                      expected_reviewer_text_list):
     reviewer_text, reviewer_text_list = ChangeLogEntry._parse_reviewer_text(
         text)
     self.assertEqual(reviewer_text_list, expected_reviewer_text_list)