| Index: tools/bots/dart_services.py
 | 
| diff --git a/tools/bots/dart_services.py b/tools/bots/dart_services.py
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..dd0fe3fed176be5615868c3c7bf13c15a6974728
 | 
| --- /dev/null
 | 
| +++ b/tools/bots/dart_services.py
 | 
| @@ -0,0 +1,63 @@
 | 
| +#!/usr/bin/python
 | 
| +
 | 
| +# Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file
 | 
| +# for details. All rights reserved. Use of this source code is governed by a
 | 
| +# BSD-style license that can be found in the LICENSE file.
 | 
| +
 | 
| +"""
 | 
| +Buildbot steps for stress testing analysis engine
 | 
| +"""
 | 
| +import os
 | 
| +import shutil
 | 
| +import sys
 | 
| +import bot
 | 
| +import bot_utils
 | 
| +
 | 
| +utils = bot_utils.GetUtils()
 | 
| +
 | 
| +def ServicesConfig(name, is_buildbot):
 | 
| +  """Returns info for the current buildbot.
 | 
| +  We only run this bot on linux, so all of this is just hard coded.
 | 
| +  """
 | 
| +  return bot.BuildInfo('none', 'none', 'release', 'linux')
 | 
| +
 | 
| +def Run(args):
 | 
| +  print "Running: %s" % ' '.join(args)
 | 
| +  sys.stdout.flush()
 | 
| +  bot.RunProcess(args)
 | 
| +
 | 
| +def ServicesSteps(build_info):
 | 
| +  build_root = utils.GetBuildRoot('linux')
 | 
| +  sdk_bin = utils.GetBuildSdkBin('linux', mode='release', arch='ia32')
 | 
| +  dart_services = os.path.join('third_party', 'dart-services')
 | 
| +  dart_services_copy = os.path.join(build_root, 'dart-services')
 | 
| +
 | 
| +  with bot.BuildStep('Create copy of dart_services'):
 | 
| +    print 'Removing existing copy of dart_services'
 | 
| +    shutil.rmtree(dart_services_copy, ignore_errors=True)
 | 
| +    args = ['cp', '-R', dart_services, dart_services_copy]
 | 
| +    Run(args)
 | 
| +
 | 
| +  with bot.BuildStep('Fixing pubspec file'):
 | 
| +    pubspec = os.path.join(dart_services_copy, 'pubspec.yaml')
 | 
| +    # TODO(lukechurch): Actually provide the name of the alternative pubspec
 | 
| +    testing_pubspec = os.path.join(dart_services_copy, 'pubspec.foobar.yaml')
 | 
| +    print 'Fixing pubspec up for stress testing'
 | 
| +    # TODO(lukechurch): change to do the mv of the testing pubspec
 | 
| +    Run(['ls', pubspec])
 | 
| +
 | 
| +  with bot.BuildStep('Run pub'):
 | 
| +    print 'Print running pub'
 | 
| +    pub = os.path.join(sdk_bin, 'pub')
 | 
| +    with utils.ChangedWorkingDirectory(dart_services_copy):
 | 
| +      args = [pub, 'get']
 | 
| +
 | 
| +  with bot.BuildStep('Stress testing'):
 | 
| +    # Consider doing something more useful here.
 | 
| +    args = ['ls', 'third_party']
 | 
| +    Run(args)
 | 
| +
 | 
| +
 | 
| +if __name__ == '__main__':
 | 
| +  bot.RunBot(ServicesConfig, ServicesSteps)
 | 
| +
 | 
| 
 |