| Index: tools/bots/dart2js_dump_info.py
|
| ===================================================================
|
| --- tools/bots/dart2js_dump_info.py (revision 0)
|
| +++ tools/bots/dart2js_dump_info.py (revision 0)
|
| @@ -0,0 +1,75 @@
|
| +#!/usr/bin/python
|
| +
|
| +# Copyright (c) 2014, 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 testing dart2js with --dump-info turned on
|
| +"""
|
| +import os
|
| +import shutil
|
| +import sys
|
| +import bot
|
| +import bot_utils
|
| +
|
| +utils = bot_utils.GetUtils()
|
| +HOST_OS = utils.GuessOS()
|
| +
|
| +def DumpConfig(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 DumpSteps(build_info):
|
| + build_root = utils.GetBuildRoot(HOST_OS, mode='release', arch='ia32')
|
| + compilations_dir = os.path.join(bot_utils.DART_DIR,
|
| + build_root,
|
| + 'generated_compilations')
|
| + tests = ['html', 'samples']
|
| +
|
| + with bot.BuildStep('Cleaning out old compilations'):
|
| + print "Cleaning out %s" % compilations_dir
|
| + shutil.rmtree(compilations_dir, ignore_errors=True)
|
| +
|
| + with utils.TempDir() as temp_dir:
|
| + normal_compilations = os.path.join(temp_dir, 'normal')
|
| + dump_compilations = os.path.join(temp_dir, 'dump')
|
| + normal_compilation_command = [sys.executable, './tools/test.py',
|
| + '--mode=' + build_info.mode,
|
| + '-cdart2js', '-rnone'] + tests
|
| + with bot.BuildStep('Compiling without dump info'):
|
| + Run(normal_compilation_command)
|
| + pass
|
| +
|
| + with bot.BuildStep('Store normal compilation artifacts'):
|
| + args = ['mv', compilations_dir, normal_compilations]
|
| + Run(args)
|
| +
|
| + with bot.BuildStep('Compiling with dump info'):
|
| + args = normal_compilation_command + ['--dart2js-options=--dump-info']
|
| + Run(args)
|
| +
|
| + with bot.BuildStep('Store normal compilation artifacts'):
|
| + args = ['mv', compilations_dir, dump_compilations]
|
| + Run(args)
|
| +
|
| + with bot.BuildStep('Compare outputs'):
|
| + args = ['diff', '-rq', '-x', '*\.json',
|
| + normal_compilations, dump_compilations]
|
| + # Diff will return non zero and we will throw if there are any differences
|
| + Run(args)
|
| +
|
| + with bot.BuildStep('Validate dump files'):
|
| + # Do whatever you like :-), files are in dump_compilations
|
| + pass
|
| +
|
| +if __name__ == '__main__':
|
| + bot.RunBot(DumpConfig, DumpSteps)
|
| +
|
|
|
| Property changes on: tools/bots/dart2js_dump_info.py
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|