| 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
|
|
|