Index: utils/compiler/buildbot.py |
diff --git a/utils/compiler/buildbot.py b/utils/compiler/buildbot.py |
index bb3df7516a27ac699f1325281b9579fd076a378c..549ee7520aa4a30f68520545d3812c0888432812 100644 |
--- a/utils/compiler/buildbot.py |
+++ b/utils/compiler/buildbot.py |
@@ -52,6 +52,7 @@ def GetBuildInfo(): |
option = None |
shard_index = None |
total_shards = None |
+ number = None |
if not builder_name: |
# We are not running on a buildbot. |
if args.name: |
@@ -100,7 +101,8 @@ def GetBuildInfo(): |
print ('Error: You cannot emulate a buildbot with a platform different ' |
'from your own.') |
sys.exit(1) |
- return (compiler, runtime, mode, system, option, shard_index, total_shards) |
+ return (compiler, runtime, mode, system, option, shard_index, total_shards, |
+ number) |
def NeedsXterm(compiler, runtime): |
@@ -169,7 +171,7 @@ def BuildFrog(compiler, mode, system): |
return subprocess.call(args, env=NO_COLOR_ENV) |
-def TestFrog(compiler, runtime, mode, system, option, flags): |
+def TestFrog(compiler, runtime, mode, system, option, flags, bot_number=None): |
""" test frog. |
Args: |
- compiler: either 'dart2js' or 'frog' |
@@ -178,6 +180,8 @@ def TestFrog(compiler, runtime, mode, system, option, flags): |
- system: either 'linux', 'mac', or 'win7' |
- option: 'checked' |
- flags: extra flags to pass to test.dart |
+ - bot_number: (optional) Number of the buildbot. Used for dividing test |
+ sets between bots. |
""" |
# Make sure we are in the frog directory |
@@ -202,8 +206,9 @@ def TestFrog(compiler, runtime, mode, system, option, flags): |
TestStep("sdk", mode, system, 'none', 'vm', ['dartdoc'], flags) |
else: |
- tests = ['client', 'language', 'corelib', 'isolate', 'frog', |
- 'frog_native', 'peg', 'css'] |
+ tests = ['dom', 'html', 'json', 'benchmark_smoke', |
+ 'isolate', 'frog', 'css', 'corelib', 'language', |
+ 'frog_native', 'peg'] |
# TODO(efortuna): Move Mac back to DumpRenderTree when we have a more stable |
# solution for DRT. Right now DRT is flakier than regular Chrome for the |
@@ -220,6 +225,12 @@ def TestFrog(compiler, runtime, mode, system, option, flags): |
# running at a time. For details, see |
# http://code.google.com/p/selenium/wiki/InternetExplorerDriver. |
additional_flags += ['-j1'] |
+ # The IE bots are slow lately. Split up the tests they do. |
+ if bot_number == '2': |
+ tests = ['corelib', 'language'] |
+ else: |
+ tests = ['dom', 'html', 'json', 'benchmark_smoke', |
+ 'isolate', 'frog', 'css', 'frog_native', 'peg'] |
TestStep(runtime, mode, system, compiler, runtime, tests, |
flags + additional_flags) |
@@ -265,7 +276,7 @@ def main(): |
print 'Script pathname not known, giving up.' |
return 1 |
- compiler, runtime, mode, system, option, shard_index, total_shards = ( |
+ compiler, runtime, mode, system, option, shard_index, total_shards, number = ( |
GetBuildInfo()) |
shard_description = "" |
if shard_index: |
@@ -283,19 +294,21 @@ def main(): |
if shard_index: |
test_flags = ['--shards=%s' % total_shards, '--shard=%s' % shard_index] |
if compiler == 'dart2js': |
- status = TestFrog(compiler, runtime, mode, system, option, test_flags) |
+ status = TestFrog(compiler, runtime, mode, system, option, test_flags, |
+ number) |
if status != 0: |
print '@@@STEP_FAILURE@@@' |
return status # Return unconditionally for dart2js. |
if runtime == 'd8' or (system == 'linux' and runtime == 'chrome'): |
- status = TestFrog(compiler, runtime, mode, system, option, test_flags) |
+ status = TestFrog(compiler, runtime, mode, system, option, test_flags, |
+ number) |
if status != 0: |
print '@@@STEP_FAILURE@@@' |
return status |
status = TestFrog(compiler, runtime, mode, system, option, |
- test_flags + ['--checked']) |
+ test_flags + ['--checked'], number) |
if status != 0: |
print '@@@STEP_FAILURE@@@' |