Changeset 172029 in webkit


Ignore:
Timestamp:
Aug 5, 2014 8:16:23 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

Fix the commit-log-editor after r167243 and add more unit tests
https://bugs.webkit.org/show_bug.cgi?id=131727

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-08-05
Reviewed by Csaba Osztrogonác.

  • Scripts/commit-log-editor:

(createCommitMessage):
(removeLongestCommonPrefixEndingInNewline):

  • Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CommitMessageForThisCommitTest):
(CommitMessageForThisCommitTest.mock_changelog):
(CommitMessageForThisCommitTest.mock_checkout_for_test):
(CommitMessageForThisCommitTest.test_commit_message_for_unreviewed_changelogs_with_different_messages):
(test_commit_message_for_one_reviewed_changelog):
(test_commit_message_for_changelogs_with_same_messages):
(test_commit_message_for_changelogs_with_different_messages):
(test_commit_message_for_one_rollout_changelog):
(test_commit_message_for_rollout_changelogs_with_different_directories):
(setUp): Deleted.
(test_commit_message_for_this_commit): Deleted.

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r172022 r172029  
     12014-08-05  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
     2
     3        Fix the commit-log-editor after r167243 and add more unit tests
     4        https://bugs.webkit.org/show_bug.cgi?id=131727
     5
     6        Reviewed by Csaba Osztrogonác.
     7
     8        * Scripts/commit-log-editor:
     9        (createCommitMessage):
     10        (removeLongestCommonPrefixEndingInNewline):
     11        * Scripts/webkitpy/common/checkout/checkout_unittest.py:
     12        (CommitMessageForThisCommitTest):
     13        (CommitMessageForThisCommitTest.mock_changelog):
     14        (CommitMessageForThisCommitTest.mock_checkout_for_test):
     15        (CommitMessageForThisCommitTest.test_commit_message_for_unreviewed_changelogs_with_different_messages):
     16        (test_commit_message_for_one_reviewed_changelog):
     17        (test_commit_message_for_changelogs_with_same_messages):
     18        (test_commit_message_for_changelogs_with_different_messages):
     19        (test_commit_message_for_one_rollout_changelog):
     20        (test_commit_message_for_rollout_changelogs_with_different_directories):
     21        (setUp): Deleted.
     22        (test_commit_message_for_this_commit): Deleted.
     23
    1242014-08-04  Michael Catanzaro  <mcatanzaro@igalia.com>
    225
  • trunk/Tools/Scripts/commit-log-editor

    r171954 r172029  
    345345        if (keys %changeLogSort > 1) {
    346346            push @result, normalizeLineEndings("\n", $endl);
    347             push @result, normalizeLineEndings("$label: ", $endl);
     347            push @result, normalizeLineEndings("$label:\n", $endl);
     348        }
     349        if (!$commonPrefix) {
     350            push @result, normalizeLineEndings("\n", $endl);
    348351        }
    349352        push @result, normalizeLineEndings($changeLogContents{$label}, $endl);
     
    400403        $hashOfStrings->{$key} = substr($hashOfStrings->{$key}, $lastNewline);
    401404    }
    402     return substr($prefix, 0, $lastNewline + 1);
     405    return substr($prefix, 0, $lastNewline);
    403406}
    404407
  • trunk/Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py

    r167296 r172029  
    8080"""
    8181
     82_changelog3 = u"""2014-07-17  David Kilzer  <ddkilzer@apple.com>
     83
     84        SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
     85        <http://webkit.org/b/135006>
     86
     87        Reviewed by Darin Adler.
     88
     89        * WebKit.xcodeproj/project.pbxproj: Remove references to unused
     90        WebKit.xcconfig file.
     91"""
     92
     93_changelog4 = u"""2014-07-17  David Kilzer  <ddkilzer@apple.com>
     94
     95        SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
     96        <http://webkit.org/b/135006>
     97
     98        Reviewed by Darin Adler.
     99
     100        * Path/To/Complicated/File: Added.
     101"""
     102
     103_changelog5 = u"""2014-07-17  David Kilzer  <ddkilzer@apple.com>
     104
     105        SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
     106        <http://webkit.org/b/135006>
     107
     108        Reviewed by Darin Adler.
     109
     110        Filler change.
     111
     112        * Path/To/Complicated/File: Added.
     113"""
     114
     115_changelog6 = u"""2014-06-23  Daniel Bates  <dabates@apple.com>
     116
     117        Rolling out r170340 and r170339.
     118
     119        Changeset r170339 broke the Apple Windows Debug and Release builds.
     120
     121        Reverted changesets:
     122
     123        "[Win] Build fix after r134209"
     124        http://trac.webkit.org/changeset/170340
     125
     126        "[Win] Clean up and refactor WinLauncher"
     127        https://bugs.webkit.org/show_bug.cgi?id=134209
     128        http://trac.webkit.org/changeset/170339
     129"""
     130
     131
    82132class CommitMessageForThisCommitTest(unittest.TestCase):
    83     expected_commit_message = u"""Unreviewed build fix to un-break webkit-patch land.
    84 
    85 
    86 Tools:
    87 Move commit_message_for_this_commit from scm to checkout
    88 https://bugs.webkit.org/show_bug.cgi?id=36629
    89 
    90 * Scripts/webkitpy/common/checkout/api.py: import scm.CommitMessage
    91 
    92 LayoutTests:
    93 Second part of this complicated change by me, Tor Arne Vestb\u00f8!
    94 
    95 * Path/To/Complicated/File: Added.
    96 """
    97 
    98133    def setUp(self):
    99134        # FIXME: This should not need to touch the filesystem, however
     
    111146        self.filesystem.maybe_make_directory(".svn")
    112147
    113         self.changelogs = map(self.filesystem.abspath, (self.filesystem.join("Tools", "ChangeLog"), self.filesystem.join("LayoutTests", "ChangeLog")))
    114         for path, contents in zip(self.changelogs, (_changelog1, _changelog2)):
     148    def mock_changelog(self, changelogs):
     149        for path, contents in zip(self.changelog_paths, changelogs):
    115150            self.filesystem.maybe_make_directory(self.filesystem.dirname(path))
    116151            self.filesystem.write_text_file(path, contents)
     
    120155        self.filesystem.chdir(self.old_cwd)
    121156
    122     def test_commit_message_for_this_commit(self):
     157    def mock_checkout_for_test(self):
    123158        executive = Executive()
    124159
     
    140175        checkout = Checkout(mock_scm)
    141176        checkout.script_path = real_checkout.script_path
    142         checkout.modified_changelogs = lambda git_commit, changed_files=None: self.changelogs
    143         commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
    144         # Throw away the first line - a warning about unknown VCS root.
    145         commit_message.message_lines = commit_message.message_lines[1:]
    146         self.assertMultiLineEqual(commit_message.message(), self.expected_commit_message)
    147 
     177        checkout.modified_changelogs = lambda git_commit, changed_files=None: self.changelog_paths
     178
     179        return checkout
     180
     181    def test_commit_message_for_unreviewed_changelogs_with_different_messages(self):
     182        expected_commit_message = u"""Unreviewed build fix to un-break webkit-patch land.
     183
     184Tools:
     185
     186Move commit_message_for_this_commit from scm to checkout
     187https://bugs.webkit.org/show_bug.cgi?id=36629
     188
     189* Scripts/webkitpy/common/checkout/api.py: import scm.CommitMessage
     190
     191LayoutTests:
     192
     193Second part of this complicated change by me, Tor Arne Vestb\u00f8!
     194
     195* Path/To/Complicated/File: Added.
     196"""
     197
     198        self.changelog_paths = map(self.filesystem.abspath, (self.filesystem.join("Tools", "ChangeLog"), self.filesystem.join("LayoutTests", "ChangeLog")))
     199
     200        self.mock_changelog((_changelog1, _changelog2))
     201        checkout = self.mock_checkout_for_test()
     202        commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
     203        # Throw away the first line - a warning about unknown VCS root.
     204        commit_message.message_lines = commit_message.message_lines[1:]
     205        self.assertMultiLineEqual(commit_message.message(), expected_commit_message)
     206
     207    def test_commit_message_for_one_reviewed_changelog(self):
     208        expected_commit_message = u"""
     209SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
     210<http://webkit.org/b/135006>
     211
     212Patch by David Kilzer <ddkilzer@apple.com> on 2014-07-17
     213Reviewed by Darin Adler.
     214
     215* WebKit.xcodeproj/project.pbxproj: Remove references to unused
     216WebKit.xcconfig file.
     217"""
     218
     219        self.changelog_paths = map(self.filesystem.abspath, [self.filesystem.join("Source/WebKit", "ChangeLog")])
     220
     221        self.mock_changelog([_changelog3])
     222        checkout = self.mock_checkout_for_test()
     223        commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
     224        # Throw away the first line - a warning about unknown VCS root.
     225        commit_message.message_lines = commit_message.message_lines[1:]
     226        self.assertMultiLineEqual(commit_message.message(), expected_commit_message)
     227
     228    def test_commit_message_for_changelogs_with_same_messages(self):
     229        expected_commit_message = u"""SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
     230<http://webkit.org/b/135006>
     231
     232Patch by David Kilzer <ddkilzer@apple.com> on 2014-07-17
     233Reviewed by Darin Adler.
     234
     235Source/WebKit:
     236
     237* WebKit.xcodeproj/project.pbxproj: Remove references to unused
     238WebKit.xcconfig file.
     239
     240LayoutTests:
     241
     242* Path/To/Complicated/File: Added.
     243"""
     244
     245        self.changelog_paths = map(self.filesystem.abspath, (self.filesystem.join("Source/WebKit", "ChangeLog"), self.filesystem.join("LayoutTests", "ChangeLog")))
     246
     247        self.mock_changelog((_changelog3, _changelog4))
     248        checkout = self.mock_checkout_for_test()
     249        commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
     250        # Throw away the first line - a warning about unknown VCS root.
     251        commit_message.message_lines = commit_message.message_lines[1:]
     252        self.assertMultiLineEqual(commit_message.message(), expected_commit_message)
     253
     254    def test_commit_message_for_changelogs_with_different_messages(self):
     255        expected_commit_message = u"""SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
     256<http://webkit.org/b/135006>
     257
     258Patch by David Kilzer <ddkilzer@apple.com> on 2014-07-17
     259Reviewed by Darin Adler.
     260
     261Source/WebKit:
     262
     263* WebKit.xcodeproj/project.pbxproj: Remove references to unused
     264WebKit.xcconfig file.
     265
     266LayoutTests:
     267
     268Filler change.
     269
     270* Path/To/Complicated/File: Added.
     271"""
     272
     273        self.changelog_paths = map(self.filesystem.abspath, (self.filesystem.join("Source/WebKit", "ChangeLog"), self.filesystem.join("LayoutTests", "ChangeLog")))
     274
     275        self.mock_changelog((_changelog3, _changelog5))
     276        checkout = self.mock_checkout_for_test()
     277        commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
     278        # Throw away the first line - a warning about unknown VCS root.
     279        commit_message.message_lines = commit_message.message_lines[1:]
     280        self.assertMultiLineEqual(commit_message.message(), expected_commit_message)
     281
     282    def test_commit_message_for_one_rollout_changelog(self):
     283        expected_commit_message = u"""
     284Rolling out r170340 and r170339.
     285
     286Changeset r170339 broke the Apple Windows Debug and Release builds.
     287
     288Reverted changesets:
     289
     290"[Win] Build fix after r134209"
     291http://trac.webkit.org/changeset/170340
     292
     293"[Win] Clean up and refactor WinLauncher"
     294https://bugs.webkit.org/show_bug.cgi?id=134209
     295http://trac.webkit.org/changeset/170339
     296
     297Patch by Daniel Bates <dabates@apple.com> on 2014-06-23
     298"""
     299
     300        self.changelog_paths = map(self.filesystem.abspath, [self.filesystem.join("Tools", "ChangeLog")])
     301
     302        self.mock_changelog([_changelog6])
     303        checkout = self.mock_checkout_for_test()
     304        commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
     305        # Throw away the first line - a warning about unknown VCS root.
     306        commit_message.message_lines = commit_message.message_lines[1:]
     307        self.assertMultiLineEqual(commit_message.message(), expected_commit_message)
     308
     309    def test_commit_message_for_rollout_changelogs_with_different_directories(self):
     310        expected_commit_message = u"""Rolling out r170340 and r170339.
     311
     312Changeset r170339 broke the Apple Windows Debug and Release builds.
     313
     314Reverted changesets:
     315
     316"[Win] Build fix after r134209"
     317http://trac.webkit.org/changeset/170340
     318
     319"[Win] Clean up and refactor WinLauncher"
     320https://bugs.webkit.org/show_bug.cgi?id=134209
     321http://trac.webkit.org/changeset/170339
     322
     323Patch by Daniel Bates <dabates@apple.com> on 2014-06-23
     324"""
     325
     326        self.changelog_paths = map(self.filesystem.abspath, (self.filesystem.join("Tools", "ChangeLog"), self.filesystem.join("Source/WebCore", "ChangeLog")))
     327
     328        self.mock_changelog((_changelog6, _changelog6))
     329        checkout = self.mock_checkout_for_test()
     330        commit_message = checkout.commit_message_for_this_commit(git_commit=None, return_stderr=True)
     331        # Throw away the first line - a warning about unknown VCS root.
     332        commit_message.message_lines = commit_message.message_lines[1:]
     333        self.assertMultiLineEqual(commit_message.message(), expected_commit_message)
    148334
    149335class CheckoutTest(unittest.TestCase):
     
    222408    def test_bug_id_for_this_commit(self):
    223409        checkout = self._make_checkout()
    224         checkout.commit_message_for_this_commit = lambda git_commit, changed_files=None: CommitMessage(ChangeLogEntry(_changelog1entry1).contents().splitlines())
     410        checkout.commit_message_for_this_commit = lambda git_commit, changed_files=None, return_stderr=False: CommitMessage(ChangeLogEntry(_changelog1entry1).contents().splitlines())
    225411        self.assertEqual(checkout.bug_id_for_this_commit(git_commit=None), 36629)
    226412
Note: See TracChangeset for help on using the changeset viewer.