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

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

Issue 529343003: Add more output when roll scripts are retrying. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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 | « no previous file | no next file » | 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 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 wait_plan: A list of waiting delays between retries in seconds. The 311 wait_plan: A list of waiting delays between retries in seconds. The
312 maximum number of retries is len(wait_plan). 312 maximum number of retries is len(wait_plan).
313 """ 313 """
314 retry_on = retry_on or (lambda x: False) 314 retry_on = retry_on or (lambda x: False)
315 wait_plan = list(wait_plan or []) 315 wait_plan = list(wait_plan or [])
316 wait_plan.reverse() 316 wait_plan.reverse()
317 while True: 317 while True:
318 got_exception = False 318 got_exception = False
319 try: 319 try:
320 result = cb() 320 result = cb()
321 except NoRetryException, e: 321 except NoRetryException as e:
322 raise e 322 raise e
323 except Exception: 323 except Exception as e:
324 got_exception = True 324 got_exception = e
325 if got_exception or retry_on(result): 325 if got_exception or retry_on(result):
326 if not wait_plan: # pragma: no cover 326 if not wait_plan: # pragma: no cover
327 raise Exception("Retried too often. Giving up.") 327 raise Exception("Retried too often. Giving up. Reason: %s" %
328 str(got_exception))
328 wait_time = wait_plan.pop() 329 wait_time = wait_plan.pop()
329 print "Waiting for %f seconds." % wait_time 330 print "Waiting for %f seconds." % wait_time
330 self._side_effect_handler.Sleep(wait_time) 331 self._side_effect_handler.Sleep(wait_time)
331 print "Retrying..." 332 print "Retrying..."
332 else: 333 else:
333 return result 334 return result
334 335
335 def ReadLine(self, default=None): 336 def ReadLine(self, default=None):
336 # Don't prompt in forced mode. 337 # Don't prompt in forced mode.
337 if self._options.force_readline_defaults and default is not None: 338 if self._options.force_readline_defaults and default is not None:
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 for (number, step_class) in enumerate(step_classes): 653 for (number, step_class) in enumerate(step_classes):
653 steps.append(MakeStep(step_class, number, self._state, self._config, 654 steps.append(MakeStep(step_class, number, self._state, self._config,
654 options, self._side_effect_handler)) 655 options, self._side_effect_handler))
655 for step in steps[options.step:]: 656 for step in steps[options.step:]:
656 if step.Run(): 657 if step.Run():
657 return 1 658 return 1
658 return 0 659 return 0
659 660
660 def Run(self, args=None): 661 def Run(self, args=None):
661 return self.RunSteps(self._Steps(), args) 662 return self.RunSteps(self._Steps(), args)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698