Changeset 53925 in webkit


Ignore:
Timestamp:
Jan 27, 2010 5:01:03 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-01-27 Eric Seidel <eric@webkit.org>

Reviewed by Darin Adler.

webkit-patch needs an open-bugs command
https://bugs.webkit.org/show_bug.cgi?id=30793

  • Scripts/test-webkitpy: import OpenBugsTest
  • Scripts/webkit-patch: import OpenBugs
  • Scripts/webkitpy/commands/download_unittest.py: don't import unittest
  • Scripts/webkitpy/commands/early_warning_system_unittest.py: ditto
  • Scripts/webkitpy/commands/queries_unittest.py: ditto
  • Scripts/webkitpy/commands/queues_unittest.py: ditto
  • Scripts/webkitpy/commands/upload_unittest.py: ditto
  • Scripts/webkitpy/mock_bugzillatool.py: log when user.open_url is called.
Location:
trunk/WebKitTools
Files:
1 added
9 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r53919 r53925  
     12010-01-27  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        webkit-patch needs an open-bugs command
     6        https://bugs.webkit.org/show_bug.cgi?id=30793
     7
     8        * Scripts/test-webkitpy: import OpenBugsTest
     9        * Scripts/webkit-patch: import OpenBugs
     10        * Scripts/webkitpy/commands/download_unittest.py: don't import unittest
     11        * Scripts/webkitpy/commands/early_warning_system_unittest.py: ditto
     12        * Scripts/webkitpy/commands/queries_unittest.py: ditto
     13        * Scripts/webkitpy/commands/queues_unittest.py: ditto
     14        * Scripts/webkitpy/commands/upload_unittest.py: ditto
     15        * Scripts/webkitpy/mock_bugzillatool.py: log when user.open_url is called.
     16
    1172010-01-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
    218
  • trunk/WebKitTools/Scripts/test-webkitpy

    r53661 r53925  
    3636from webkitpy.commands.download_unittest import *
    3737from webkitpy.commands.early_warning_system_unittest import *
     38from webkitpy.commands.openbugs_unittest import OpenBugsTest
    3839from webkitpy.commands.upload_unittest import *
    3940from webkitpy.commands.queries_unittest import *
  • trunk/WebKitTools/Scripts/webkit-patch

    r52907 r53925  
    3737from webkitpy.commands.download import *
    3838from webkitpy.commands.early_warning_system import *
     39from webkitpy.commands.openbugs import OpenBugs
    3940from webkitpy.commands.queries import *
    4041from webkitpy.commands.queues import *
  • trunk/WebKitTools/Scripts/webkitpy/commands/download_unittest.py

    r53133 r53925  
    2626# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    2727# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    28 
    29 import unittest
    3028
    3129from webkitpy.commands.commandtest import CommandsTest
  • trunk/WebKitTools/Scripts/webkitpy/commands/early_warning_system_unittest.py

    r52703 r53925  
    2828
    2929import os
    30 import unittest
    3130
    3231from webkitpy.commands.early_warning_system import *
  • trunk/WebKitTools/Scripts/webkitpy/commands/openbugs.py

    • Property svn:executable deleted
    r53924 r53925  
    1 #!/usr/bin/env python
    2 # Copyright (c) 2009 Google Inc. All rights reserved.
     1# Copyright (c) 2010 Google Inc. All rights reserved.
    32#
    43# Redistribution and use in source and binary forms, with or without
     
    2827# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2928
     29import re
    3030import sys
    31 import unittest
    3231
    33 from webkitpy.bugzilla_unittest import *
    34 from webkitpy.buildbot_unittest import *
    35 from webkitpy.changelogs_unittest import *
    36 from webkitpy.commands.download_unittest import *
    37 from webkitpy.commands.early_warning_system_unittest import *
    38 from webkitpy.commands.upload_unittest import *
    39 from webkitpy.commands.queries_unittest import *
    40 from webkitpy.commands.queues_unittest import *
    41 from webkitpy.committers_unittest import *
    42 from webkitpy.credentials_unittest import *
    43 from webkitpy.diff_parser_unittest import *
    44 from webkitpy.executive_unittest import *
    45 from webkitpy.multicommandtool_unittest import *
    46 from webkitpy.networktransaction_unittest import *
    47 from webkitpy.patchcollection_unittest import *
    48 from webkitpy.queueengine_unittest import *
    49 from webkitpy.steps.steps_unittest import *
    50 from webkitpy.steps.closebugforlanddiff_unittest import *
    51 from webkitpy.steps.updatechangelogswithreview_unittests import *
    52 from webkitpy.style.unittests import * # for check-webkit-style
    53 from webkitpy.webkit_logging_unittest import *
    54 from webkitpy.webkitport_unittest import *
     32from webkitpy.multicommandtool import AbstractDeclarativeCommand
     33from webkitpy.webkit_logging import log
    5534
    56 if __name__ == "__main__":
    57     # FIXME: This is a hack, but I'm tired of commenting out the test.
    58     #        See https://bugs.webkit.org/show_bug.cgi?id=31818
    59     if len(sys.argv) > 1 and sys.argv[1] == "--all":
    60         sys.argv.remove("--all")
    61         from webkitpy.scm_unittest import *
    6235
    63     unittest.main()
     36class OpenBugs(AbstractDeclarativeCommand):
     37    name = "open-bugs"
     38    help_text = "Finds all bug numbers passed in arguments (or stdin if no args provided) and opens them in a web browser"
     39
     40    bug_number_regexp = re.compile(r"\b\d{4,6}\b")
     41
     42    def _open_bugs(self, bug_ids):
     43        for bug_id in bug_ids:
     44            bug_url = self.tool.bugs.bug_url_for_bug_id(bug_id)
     45            self.tool.user.open_url(bug_url)
     46
     47    # _find_bugs_in_string mostly exists for easy unit testing.
     48    def _find_bugs_in_string(self, string):
     49        return self.bug_number_regexp.findall(string)
     50
     51    def _find_bugs_in_iterable(self, iterable):
     52        return sum([self._find_bugs_in_string(string) for string in iterable], [])
     53
     54    def execute(self, options, args, tool):
     55        if args:
     56            bug_ids = self._find_bugs_in_iterable(args)
     57        else:
     58            # This won't open bugs until stdin is closed but could be made to easily.  That would just make unit testing slightly harder.
     59            bug_ids = self._find_bugs_in_iterable(sys.stdin)
     60
     61        log("%s bugs found in input." % len(bug_ids))
     62
     63        self._open_bugs(bug_ids)
  • trunk/WebKitTools/Scripts/webkitpy/commands/queries_unittest.py

    r53414 r53925  
    2626# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    2727# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    28 
    29 import unittest
    3028
    3129from webkitpy.bugzilla import Bugzilla
  • trunk/WebKitTools/Scripts/webkitpy/commands/queues_unittest.py

    r53661 r53925  
    2828
    2929import os
    30 import unittest
    3130
    3231from webkitpy.commands.commandtest import CommandsTest
  • trunk/WebKitTools/Scripts/webkitpy/commands/upload_unittest.py

    r53404 r53925  
    2626# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    2727# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    28 
    29 import unittest
    3028
    3129from webkitpy.commands.commandtest import CommandsTest
     
    6866
    6967    def test_upload(self):
    70         expected_stderr = "Running check-webkit-style\nObsoleting 2 old patches on bug 42\n"
     68        expected_stderr = "Running check-webkit-style\nObsoleting 2 old patches on bug 42\nMOCK: user.open_url: http://example.com/42\n"
    7169        self.assert_execute_outputs(Upload(), [42], expected_stderr=expected_stderr)
    7270
     
    7674        options = Mock()
    7775        options.bug_id = 42
    78         expected_stderr = "Bug: <http://example.com/42> Bug with two r+'d and cq+'d patches, one of which has an invalid commit-queue setter.\nRevision: 9876\nAdding comment to Bug 42.\n"
     76        expected_stderr = """Bug: <http://example.com/42> Bug with two r+'d and cq+'d patches, one of which has an invalid commit-queue setter.
     77Revision: 9876
     78MOCK: user.open_url: http://example.com/42
     79Adding comment to Bug 42.
     80"""
    7981        self.assert_execute_outputs(MarkBugFixed(), [], expected_stderr=expected_stderr, tool=tool, options=options)
    8082
  • trunk/WebKitTools/Scripts/webkitpy/mock_bugzillatool.py

    r53778 r53925  
    2929import os
    3030
     31from webkitpy.bugzilla import Bug, Attachment
     32from webkitpy.committers import CommitterList, Reviewer
    3133from webkitpy.mock import Mock
    3234from webkitpy.scm import CommitMessage
    33 from webkitpy.committers import CommitterList, Reviewer
    34 from webkitpy.bugzilla import Bug, Attachment
     35from webkitpy.webkit_logging import log
    3536
    3637
     
    334335
    335336    def open_url(self, url):
     337        log("MOCK: user.open_url: %s" % url)
    336338        pass
    337339
Note: See TracChangeset for help on using the changeset viewer.