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

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

Issue 212983003: Implement auto-roll script. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Review Created 6 years, 8 months 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 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 # Restore state. 250 # Restore state.
251 state_file = "%s-state.json" % self._config[PERSISTFILE_BASENAME] 251 state_file = "%s-state.json" % self._config[PERSISTFILE_BASENAME]
252 if not self._state and os.path.exists(state_file): 252 if not self._state and os.path.exists(state_file):
253 self._state.update(json.loads(FileToText(state_file))) 253 self._state.update(json.loads(FileToText(state_file)))
254 254
255 # Skip step if requirement is not met. 255 # Skip step if requirement is not met.
256 if self._requires and not self._state.get(self._requires): 256 if self._requires and not self._state.get(self._requires):
257 return 257 return
258 258
259 print ">>> Step %d: %s" % (self._number, self._text) 259 print ">>> Step %d: %s" % (self._number, self._text)
260 self.RunStep() 260 try:
261 261 return self.RunStep()
262 # Persist state. 262 finally:
263 TextToFile(json.dumps(self._state), state_file) 263 # Persist state.
264 TextToFile(json.dumps(self._state), state_file)
264 265
265 def RunStep(self): # pragma: no cover 266 def RunStep(self): # pragma: no cover
266 raise NotImplementedError 267 raise NotImplementedError
267 268
268 def Retry(self, cb, retry_on=None, wait_plan=None): 269 def Retry(self, cb, retry_on=None, wait_plan=None):
269 """ Retry a function. 270 """ Retry a function.
270 Params: 271 Params:
271 cb: The function to retry. 272 cb: The function to retry.
272 retry_on: A callback that takes the result of the function and returns 273 retry_on: A callback that takes the result of the function and returns
273 True if the function should be retried. A function throwing an 274 True if the function should be retried. A function throwing an
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 549
549 state_file = "%s-state.json" % self._config[PERSISTFILE_BASENAME] 550 state_file = "%s-state.json" % self._config[PERSISTFILE_BASENAME]
550 if options.step == 0 and os.path.exists(state_file): 551 if options.step == 0 and os.path.exists(state_file):
551 os.remove(state_file) 552 os.remove(state_file)
552 553
553 steps = [] 554 steps = []
554 for (number, step_class) in enumerate(step_classes): 555 for (number, step_class) in enumerate(step_classes):
555 steps.append(MakeStep(step_class, number, self._state, self._config, 556 steps.append(MakeStep(step_class, number, self._state, self._config,
556 options, self._side_effect_handler)) 557 options, self._side_effect_handler))
557 for step in steps[options.step:]: 558 for step in steps[options.step:]:
558 step.Run() 559 if step.Run():
560 return 1
559 return 0 561 return 0
560 562
561 def Run(self, args=None): 563 def Run(self, args=None):
562 return self.RunSteps(self._Steps(), args) 564 return self.RunSteps(self._Steps(), args)
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