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