OLD | NEW |
1 # Copyright 2012 the V8 project authors. All rights reserved. | 1 # Copyright 2012 the V8 project authors. All rights reserved. |
2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
4 # met: | 4 # met: |
5 # | 5 # |
6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 self.remaining = num_tests | 83 self.remaining = num_tests |
84 self.failed = [] | 84 self.failed = [] |
85 self.crashed = 0 | 85 self.crashed = 0 |
86 self.terminate = False | 86 self.terminate = False |
87 self.lock = threading.Lock() | 87 self.lock = threading.Lock() |
88 | 88 |
89 def Run(self, jobs): | 89 def Run(self, jobs): |
90 self.indicator.Starting() | 90 self.indicator.Starting() |
91 self._RunInternal(jobs) | 91 self._RunInternal(jobs) |
92 self.indicator.Done() | 92 self.indicator.Done() |
93 if self.failed: | 93 if self.failed or self.remaining: |
94 return 1 | 94 return 1 |
95 return 0 | 95 return 0 |
96 | 96 |
97 def _RunInternal(self, jobs): | 97 def _RunInternal(self, jobs): |
98 pool = multiprocessing.Pool(processes=jobs) | 98 pool = multiprocessing.Pool(processes=jobs) |
99 test_map = {} | 99 test_map = {} |
100 queue = [] | 100 queue = [] |
101 queued_exception = None | 101 queued_exception = None |
102 for test in self.tests: | 102 for test in self.tests: |
103 assert test.id >= 0 | 103 assert test.id >= 0 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 test.suite.GetFlagsForTestCase(test, self.context) + | 173 test.suite.GetFlagsForTestCase(test, self.context) + |
174 [self.context.extra_flags]) | 174 [self.context.extra_flags]) |
175 return cmd | 175 return cmd |
176 | 176 |
177 | 177 |
178 class BreakNowException(Exception): | 178 class BreakNowException(Exception): |
179 def __init__(self, value): | 179 def __init__(self, value): |
180 self.value = value | 180 self.value = value |
181 def __str__(self): | 181 def __str__(self): |
182 return repr(self.value) | 182 return repr(self.value) |
OLD | NEW |