Changeset 80262 in webkit


Ignore:
Timestamp:
Mar 3, 2011 11:15:58 AM (13 years ago)
Author:
tonyg@chromium.org
Message:

2011-03-03 Tony Gentilcore <tonyg@chromium.org>

Reviewed by Mihai Parparita.

Teach sheriffbot to answer whois commands
https://bugs.webkit.org/show_bug.cgi?id=55687

  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
  • Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
Location:
trunk/Tools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r80257 r80262  
     12011-03-03  Tony Gentilcore  <tonyg@chromium.org>
     2
     3        Reviewed by Mihai Parparita.
     4
     5        Teach sheriffbot to answer whois commands
     6        https://bugs.webkit.org/show_bug.cgi?id=55687
     7
     8        * Scripts/webkitpy/tool/bot/irc_command.py:
     9        * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
     10        * Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:
     11
    1122011-03-03  Victoria Kirst  <vrk@google.com>
    213
  • trunk/Tools/Scripts/webkitpy/tool/bot/irc_command.py

    r77913 r80262  
    3131
    3232from webkitpy.common.config import urls
     33from webkitpy.common.config.committers import CommitterList
    3334from webkitpy.common.net.bugzilla import parse_bug_id
    3435from webkitpy.common.system.executive import ScriptError
     
    110111
    111112
     113class Whois(IRCCommand):
     114    def execute(self, nick, args, tool, sheriff):
     115        if len(args) != 1:
     116            return "%s: Usage: BUGZILLA_EMAIL" % nick
     117        email = args[0]
     118        committer = CommitterList().committer_by_email(email)
     119        if not committer:
     120            return "%s: Sorry, I don't know %s. Maybe you could introduce me?" % (nick, email)
     121        if not committer.irc_nickname:
     122            return "%s: %s hasn't told me their nick. Boo hoo :-(" % (nick, email)
     123        return "%s: %s is %s. Why do you ask?" % (nick, email, committer.irc_nickname)
     124
     125
    112126class Eliza(IRCCommand):
    113127    therapist = None
     
    124138# FIXME: Lame.  We should have an auto-registering CommandCenter.
    125139commands = {
     140    "help": Help,
     141    "hi": Hi,
    126142    "last-green-revision": LastGreenRevision,
    127143    "restart": Restart,
    128144    "rollout": Rollout,
    129     "help": Help,
    130     "hi": Hi,
     145    "whois": Whois,
    131146}
  • trunk/Tools/Scripts/webkitpy/tool/bot/irc_command_unittest.py

    r60993 r80262  
    3737        eliza.execute("tom", "hi", None, None)
    3838        eliza.execute("tom", "bye", None, None)
     39
     40    def test_whois(self):
     41        whois = Whois()
     42        self.assertEquals("tom: Usage: BUGZILLA_EMAIL",
     43                          whois.execute("tom", [], None, None))
     44        self.assertEquals("tom: Usage: BUGZILLA_EMAIL",
     45                          whois.execute("tom", ["Adam", "Barth"], None, None))
     46        self.assertEquals("tom: Sorry, I don't know unknown@example.com. Maybe you could introduce me?",
     47                          whois.execute("tom", ["unknown@example.com"], None, None))
     48        self.assertEquals("tom: tonyg@chromium.org is tonyg-cr. Why do you ask?",
     49                          whois.execute("tom", ["tonyg@chromium.org"], None, None))
     50        self.assertEquals("tom: vicki@apple.com hasn't told me their nick. Boo hoo :-(",
     51                          whois.execute("tom", ["vicki@apple.com"], None, None))
  • trunk/Tools/Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py

    r75062 r80262  
    5252
    5353    def test_help(self):
    54         expected_stderr = "MOCK: irc.post: mock_nick: Available commands: rollout, hi, help, restart, last-green-revision\n"
     54        expected_stderr = "MOCK: irc.post: mock_nick: Available commands: whois, hi, last-green-revision, rollout, restart, help\n"
    5555        OutputCapture().assert_outputs(self, run, args=["help"], expected_stderr=expected_stderr)
    5656
Note: See TracChangeset for help on using the changeset viewer.