Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: tools/push-to-trunk/common_includes.py

Issue 77453009: Make auto-roll testable. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebase. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/push-to-trunk/auto_roll.py ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 the V8 project authors. All rights reserved. 2 # Copyright 2013 the V8 project authors. All rights reserved.
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following 10 # copyright notice, this list of conditions and the following
(...skipping 13 matching lines...) Expand all
24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 28
29 import os 29 import os
30 import re 30 import re
31 import subprocess 31 import subprocess
32 import sys 32 import sys
33 import textwrap 33 import textwrap
34 import urllib2
34 35
35 PERSISTFILE_BASENAME = "PERSISTFILE_BASENAME" 36 PERSISTFILE_BASENAME = "PERSISTFILE_BASENAME"
36 TEMP_BRANCH = "TEMP_BRANCH" 37 TEMP_BRANCH = "TEMP_BRANCH"
37 BRANCHNAME = "BRANCHNAME" 38 BRANCHNAME = "BRANCHNAME"
38 DOT_GIT_LOCATION = "DOT_GIT_LOCATION" 39 DOT_GIT_LOCATION = "DOT_GIT_LOCATION"
39 VERSION_FILE = "VERSION_FILE" 40 VERSION_FILE = "VERSION_FILE"
40 CHANGELOG_FILE = "CHANGELOG_FILE" 41 CHANGELOG_FILE = "CHANGELOG_FILE"
41 CHANGELOG_ENTRY_FILE = "CHANGELOG_ENTRY_FILE" 42 CHANGELOG_ENTRY_FILE = "CHANGELOG_ENTRY_FILE"
42 COMMITMSG_FILE = "COMMITMSG_FILE" 43 COMMITMSG_FILE = "COMMITMSG_FILE"
43 PATCH_FILE = "PATCH_FILE" 44 PATCH_FILE = "PATCH_FILE"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 186
186 187
187 # Wrapper for side effects. 188 # Wrapper for side effects.
188 class SideEffectHandler(object): 189 class SideEffectHandler(object):
189 def Command(self, cmd, args="", prefix="", pipe=True): 190 def Command(self, cmd, args="", prefix="", pipe=True):
190 return Command(cmd, args, prefix, pipe) 191 return Command(cmd, args, prefix, pipe)
191 192
192 def ReadLine(self): 193 def ReadLine(self):
193 return sys.stdin.readline().strip() 194 return sys.stdin.readline().strip()
194 195
196 def ReadURL(self, url):
197 # pylint: disable=E1121
198 url_fh = urllib2.urlopen(url, None, 60)
199 try:
200 return url_fh.read()
201 finally:
202 url_fh.close()
203
195 DEFAULT_SIDE_EFFECT_HANDLER = SideEffectHandler() 204 DEFAULT_SIDE_EFFECT_HANDLER = SideEffectHandler()
196 205
197 206
198 class Step(object): 207 class Step(object):
199 def __init__(self, text="", requires=None): 208 def __init__(self, text="", requires=None):
200 self._text = text 209 self._text = text
201 self._number = -1 210 self._number = -1
202 self._options = None 211 self._options = None
203 self._requires = requires 212 self._requires = requires
204 self._side_effect_handler = DEFAULT_SIDE_EFFECT_HANDLER 213 self._side_effect_handler = DEFAULT_SIDE_EFFECT_HANDLER
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 else: 253 else:
245 return self._side_effect_handler.ReadLine() 254 return self._side_effect_handler.ReadLine()
246 255
247 def Git(self, args="", prefix="", pipe=True): 256 def Git(self, args="", prefix="", pipe=True):
248 return self._side_effect_handler.Command("git", args, prefix, pipe) 257 return self._side_effect_handler.Command("git", args, prefix, pipe)
249 258
250 def Editor(self, args): 259 def Editor(self, args):
251 return self._side_effect_handler.Command(os.environ["EDITOR"], args, 260 return self._side_effect_handler.Command(os.environ["EDITOR"], args,
252 pipe=False) 261 pipe=False)
253 262
263 def ReadURL(self, url):
264 return self._side_effect_handler.ReadURL(url)
265
254 def Die(self, msg=""): 266 def Die(self, msg=""):
255 if msg != "": 267 if msg != "":
256 print "Error: %s" % msg 268 print "Error: %s" % msg
257 print "Exiting" 269 print "Exiting"
258 raise Exception(msg) 270 raise Exception(msg)
259 271
260 def DieInForcedMode(self, msg=""): 272 def DieInForcedMode(self, msg=""):
261 if self._options and self._options.f: 273 if self._options and self._options.f:
262 msg = msg or "Not implemented in forced mode." 274 msg = msg or "Not implemented in forced mode."
263 self.Die(msg) 275 self.Die(msg)
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 step.SetNumber(number) 444 step.SetNumber(number)
433 step.SetConfig(config) 445 step.SetConfig(config)
434 step.SetOptions(options) 446 step.SetOptions(options)
435 step.SetState(state) 447 step.SetState(state)
436 step.SetSideEffectHandler(side_effect_handler) 448 step.SetSideEffectHandler(side_effect_handler)
437 steps.append(step) 449 steps.append(step)
438 number += 1 450 number += 1
439 451
440 for step in steps[options.s:]: 452 for step in steps[options.s:]:
441 step.Run() 453 step.Run()
OLDNEW
« no previous file with comments | « tools/push-to-trunk/auto_roll.py ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698