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

Unified Diff: tools/test.py

Issue 8609012: Fix timing of both dart and python test scripts. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 9 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 side-by-side diff with in-line comments
Download patch
Index: tools/test.py
diff --git a/tools/test.py b/tools/test.py
index c240f956db21e5b4031bb158a86bcf5c4723408c..45ceaeb5dbdc8d488c6cff5f8d8aaf6b56cce937 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -46,10 +46,11 @@ class Error(Exception):
class ProgressIndicator(object):
"""Base class for displaying the progress of the test run."""
- def __init__(self, cases, context):
+ def __init__(self, cases, context, start_time):
self.abort = False
self.terminate = False
self.cases = cases
+ self.start_time = start_time
self.queue = Queue.Queue(len(cases))
self.batch_queues = {}
self.context = context
@@ -318,11 +319,10 @@ class OneLineProgressIndicatorForBuildBot(OneLineProgressIndicator):
class CompactProgressIndicator(ProgressIndicator):
"""Continuously updates a single line w/ a summary of progress of the run."""
- def __init__(self, cases, context, templates):
- super(CompactProgressIndicator, self).__init__(cases, context)
+ def __init__(self, cases, context, start_time, templates):
+ super(CompactProgressIndicator, self).__init__(cases, context, start_time)
self.templates = templates
self.last_status_length = 0
- self.start_time = time.time()
def Starting(self):
"""Called at the beginning before any tests are run."""
@@ -385,7 +385,7 @@ class CompactProgressIndicator(ProgressIndicator):
class MonochromeProgressIndicator(CompactProgressIndicator):
"""A CompactProgressIndicator with no color."""
- def __init__(self, cases, context):
+ def __init__(self, cases, context, start_time):
templates = {
'status_line': '[%(mins)02i:%(secs)02i|%%%(percent) '
'4d|+%(passed) 4d|-%(failed) 4d]: %(test)s',
@@ -396,13 +396,14 @@ class MonochromeProgressIndicator(CompactProgressIndicator):
}
super(MonochromeProgressIndicator, self).__init__(cases,
context,
+ start_time,
templates)
class ColorProgressIndicator(CompactProgressIndicator):
"""A CompactProgressIndicator with pretty colors."""
- def __init__(self, cases, context):
+ def __init__(self, cases, context, start_time):
templates = {
'status_line': ('[%(mins)02i:%(secs)02i|%%%(percent) 4d|'
'\033[32m+%(passed) 4d'
@@ -412,7 +413,10 @@ class ColorProgressIndicator(CompactProgressIndicator):
'clear': lambda last_line_len: self.ClearLine(last_line_len),
'max_length': 78
}
- super(ColorProgressIndicator, self).__init__(cases, context, templates)
+ super(ColorProgressIndicator, self).__init__(cases,
+ context,
+ start_time,
+ templates)
PROGRESS_INDICATORS = {
@@ -646,9 +650,9 @@ class Context(object):
return [self.GetExecutable(mode, arch, path)]
-def RunTestCases(cases_to_run, progress, tasks, context):
+def RunTestCases(cases_to_run, progress, tasks, context, start_time):
"""Chooses a progress indicator and then starts the tests."""
- progress = PROGRESS_INDICATORS[progress](cases_to_run, context)
+ progress = PROGRESS_INDICATORS[progress](cases_to_run, context, start_time)
return progress.Run(tasks)
@@ -1402,6 +1406,7 @@ def FormatTime(d):
def Main():
"""Main loop."""
+ script_start_time = time.time();
utils.ConfigureJava()
parser = BuildOptions()
(options, args) = parser.parse_args()
@@ -1501,7 +1506,7 @@ def Main():
try:
start = time.time()
if RunTestCases(cases_to_run, options.progress, options.tasks,
- context):
+ context, script_start_time):
result = 0
else:
result = 1

Powered by Google App Engine
This is Rietveld 408576698