Index: tools/test.py |
=================================================================== |
--- tools/test.py (revision 7267) |
+++ tools/test.py (working copy) |
@@ -340,6 +340,9 @@ |
def IsNegative(self): |
return False |
+ def TestsIsolates(self): |
+ return False |
+ |
def CompareTime(self, other): |
return cmp(other.duration, self.duration) |
@@ -502,12 +505,20 @@ |
def CheckedUnlink(name): |
- try: |
- os.unlink(name) |
- except OSError, e: |
- PrintError("os.unlink() " + str(e)) |
+ # On Windows, when run with -jN in parallel processes, |
+ # OS often fails to unlink the temp file. Not sure why. |
+ # Need to retry. |
+ # Idea from https://bugs.webkit.org/attachment.cgi?id=75982&action=prettypatch |
+ retry_count = 0 |
+ while retry_count < 30: |
+ try: |
+ os.unlink(name) |
+ return |
+ except OSError, e: |
+ retry_count += 1; |
+ time.sleep(retry_count * 0.1) |
+ PrintError("os.unlink() " + str(e)) |
- |
def Execute(args, context, timeout=None): |
(fd_out, outname) = tempfile.mkstemp() |
(fd_err, errname) = tempfile.mkstemp() |
@@ -1013,7 +1024,10 @@ |
self.case = case |
self.outcomes = outcomes |
+ def TestsIsolates(self): |
+ return self.case.TestsIsolates() |
+ |
class Configuration(object): |
"""The parsed contents of a configuration file""" |
@@ -1172,6 +1186,7 @@ |
result.add_option("--no-suppress-dialogs", help="Display Windows dialogs for crashing tests", |
dest="suppress_dialogs", action="store_false") |
result.add_option("--shell", help="Path to V8 shell", default="shell") |
+ result.add_option("--isolates", help="Whether to test isolates", default=False, action="store_true") |
result.add_option("--store-unexpected-output", |
help="Store the temporary JS files from tests that fails", |
dest="store_unexpected_output", default=True, action="store_true") |
@@ -1438,6 +1453,8 @@ |
def DoSkip(case): |
return SKIP in case.outcomes or SLOW in case.outcomes |
cases_to_run = [ c for c in all_cases if not DoSkip(c) ] |
+ if not options.isolates: |
+ cases_to_run = [c for c in cases_to_run if not c.TestsIsolates()] |
if len(cases_to_run) == 0: |
print "No tests to run." |
return 0 |