Changeset 143109 in webkit
- Timestamp:
- Feb 16, 2013 1:57:17 PM (11 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r143106 r143109 1 2013-02-16 Ryosuke Niwa <rniwa@webkit.org> 2 3 We need a CIA replacement 4 https://bugs.webkit.org/show_bug.cgi?id=110008 5 6 Reviewed by Andreas Kling. 7 8 Added new-commit-bot. 9 10 * Scripts/webkitpy/tool/bot/queueengine.py: 11 (QueueEngine.__init__): 12 (QueueEngine): Made the sleep tiem configurable. 13 (QueueEngine._sleep_message): 14 (QueueEngine._sleep): 15 * Scripts/webkitpy/tool/bot/queueengine_unittest.py: 16 (QueueEngineTest.test_sleep_message): 17 * Scripts/webkitpy/tool/commands/__init__.py: 18 * Scripts/webkitpy/tool/commands/newcommitbot.py: Added. 19 (PingPong): Added. Implements the ping pong protocol. 20 (NewCommitBot): 21 (NewCommitBot.begin_work_queue): 22 (NewCommitBot.work_item_log_path): 23 (NewCommitBot.next_work_item): Update SVN revision and report any new commits made since 24 the last time we checked the head SVN revision. 25 (NewCommitBot.process_work_item): 26 (NewCommitBot._update_checkout): svn up. 27 (NewCommitBot._new_svn_revisions): Returns a range of new revisions. 28 (NewCommitBot._summarize_commit_log): Summarize a commit log to be posted on IRC. 29 (NewCommitBot.handle_unexpected_error): 30 (NewCommitBot.handle_script_error): 31 * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py: Added. 32 (NewCommitBotTest.test_summarize_commit_log_basic): Tests for summarizing non-rollout commits. 33 (NewCommitBotTest.test_summarize_commit_log_rollout): Tests for summarizing rollouts. 34 * Scripts/webkitpy/tool/commands/queues.py: 35 (AbstractQueue.execute): 36 * Scripts/webkitpy/tool/commands/queuestest.py: 37 (MockQueueEngine.__init__): 38 * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py: 39 (SheriffBotTest.test_command_aliases): 40 * Scripts/webkitpy/tool/main.py: 41 (WebKitPatch): 42 1 43 2013-02-16 Jochen Eisinger <jochen@chromium.org> 2 44 -
trunk/Tools/Scripts/webkitpy/tool/bot/queueengine.py
r136221 r143109 70 70 71 71 class QueueEngine: 72 def __init__(self, name, delegate, wakeup_event ):72 def __init__(self, name, delegate, wakeup_event, seconds_to_sleep=120): 73 73 self._name = name 74 74 self._delegate = delegate 75 75 self._wakeup_event = wakeup_event 76 76 self._output_tee = OutputTee() 77 self._seconds_to_sleep = seconds_to_sleep 77 78 78 79 log_date_format = "%Y-%m-%d %H:%M:%S" 79 sleep_duration_text = "2 mins" # This could be generated from seconds_to_sleep80 seconds_to_sleep = 12081 80 handled_error_code = 2 82 81 … … 154 153 155 154 def _sleep_message(self, message): 156 wake_time = self._now() + timedelta(seconds=self.seconds_to_sleep) 157 return "%s Sleeping until %s (%s)." % (message, wake_time.strftime(self.log_date_format), self.sleep_duration_text) 155 wake_time = self._now() + timedelta(seconds=self._seconds_to_sleep) 156 if self._seconds_to_sleep < 3 * 60: 157 sleep_duration_text = str(self._seconds_to_sleep) + ' seconds' 158 else: 159 sleep_duration_text = str(round(self._seconds_to_sleep / 60)) + ' minutes' 160 return "%s Sleeping until %s (%s)." % (message, wake_time.strftime(self.log_date_format), sleep_duration_text) 158 161 159 162 def _sleep(self, message): 160 163 _log.info(self._sleep_message(message)) 161 self._wakeup_event.wait(self. seconds_to_sleep)164 self._wakeup_event.wait(self._seconds_to_sleep) 162 165 self._wakeup_event.clear() -
trunk/Tools/Scripts/webkitpy/tool/bot/queueengine_unittest.py
r140510 r143109 174 174 engine = QueueEngine("test", None, None) 175 175 engine._now = lambda: datetime.datetime(2010, 1, 1) 176 expected_sleep_message = "MESSAGE Sleeping until 2010-01-01 00:02:00 ( 2 mins)."176 expected_sleep_message = "MESSAGE Sleeping until 2010-01-01 00:02:00 (120 seconds)." 177 177 self.assertEqual(engine._sleep_message("MESSAGE"), expected_sleep_message) 178 178 -
trunk/Tools/Scripts/webkitpy/tool/commands/__init__.py
r134363 r143109 11 11 from webkitpy.tool.commands.findusers import FindUsers 12 12 from webkitpy.tool.commands.gardenomatic import GardenOMatic 13 from webkitpy.tool.commands.newcommitbot import NewCommitBot 13 14 from webkitpy.tool.commands.openbugs import OpenBugs 14 15 from webkitpy.tool.commands.perfalizer import Perfalizer -
trunk/Tools/Scripts/webkitpy/tool/commands/queues.py
r138826 r143109 149 149 self._options = options # FIXME: This code is wrong. Command.options is a list, this assumes an Options element! 150 150 self._tool = tool # FIXME: This code is wrong too! Command.bind_to_tool handles this! 151 return engine(self.name, self, self._tool.wakeup_event ).run()151 return engine(self.name, self, self._tool.wakeup_event, self._options.seconds_to_sleep).run() 152 152 153 153 @classmethod -
trunk/Tools/Scripts/webkitpy/tool/commands/queuestest.py
r140510 r143109 38 38 39 39 class MockQueueEngine(object): 40 def __init__(self, name, queue, wakeup_event ):40 def __init__(self, name, queue, wakeup_event, seconds_to_sleep): 41 41 pass 42 42 -
trunk/Tools/Scripts/webkitpy/tool/commands/sheriffbot_unittest.py
r139592 r143109 38 38 options = MockOptions() 39 39 options.ensure_value("confirm", False) 40 options.ensure_value("seconds_to_sleep", 120) 40 41 sheriffbot = SheriffBot() 41 42 sheriffbot.execute(options, [], tool, MockQueueEngine) -
trunk/Tools/Scripts/webkitpy/tool/main.py
r138775 r143109 49 49 make_option("--bot-id", action="store", dest="bot_id", type="string", help="Identifier for this bot (if multiple bots are running for a queue)"), 50 50 make_option("--irc-password", action="store", dest="irc_password", type="string", help="Password to use when communicating via IRC."), 51 make_option("--seconds-to-sleep", action="store", default=120, type="int", help="Number of seconds to sleep in the task queue."), 51 52 make_option("--port", action="store", dest="port", default=None, help="Specify a port (e.g., mac, qt, gtk, ...)."), 52 53 ]
Note: See TracChangeset
for help on using the changeset viewer.