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