Chromium Code Reviews| Index: frog/scripts/buildbot_annotated_steps.py |
| =================================================================== |
| --- frog/scripts/buildbot_annotated_steps.py (revision 5794) |
| +++ frog/scripts/buildbot_annotated_steps.py (working copy) |
| @@ -28,18 +28,18 @@ |
| NO_COLOR_ENV['TERM'] = 'nocolor' |
| def GetBuildInfo(): |
| - """Returns a tuple (name, mode, system, browser, option) where: |
| - - name: 'dart2js', 'frog', 'frogsh', 'frogium', or None when the |
| - builder has an incorrect name |
| + """Returns a tuple (compiler, runtime, mode, system, option) where: |
| + - compiler: 'dart2js', 'frog', 'frogsh', or None when the builder has an |
|
Siggi Cherem (dart-lang)
2012/03/23 23:57:33
- also 'dartc'?
- is 'none' allowed, or should we
ahe
2012/03/24 13:56:40
dartc is not using this script.
Emily Fortuna
2012/03/26 20:52:32
Which script does dartc use? I found changes for t
ahe
2012/03/26 20:56:53
The VM and dartc are using a script that's checked
ricow1
2012/03/27 05:48:57
So the vm and dartc compilation steps are in:
buil
|
| + incorrect name |
| + - runtime: 'v8', 'ie', 'ff', 'safari', 'chrome', 'opera' |
|
Siggi Cherem (dart-lang)
2012/03/23 23:57:33
v8 or d8? (I've seen d8 in some status files)
ahe
2012/03/24 13:56:40
d8 please.
Emily Fortuna
2012/03/26 20:52:32
Done.
|
| - mode: 'debug' or 'release' |
| - system: 'linux', 'mac', or 'win7' |
| - - browser: 'ie', 'ff', 'safari', 'chrome' |
| - option: 'checked' |
| """ |
| - name = None |
| + compiler = None |
| + runtime = None |
| mode = None |
| system = None |
| - browser = None |
| builder_name = os.environ.get(BUILDER_NAME) |
| option = None |
| if builder_name: |
| @@ -49,20 +49,22 @@ |
| web_pattern = re.match(WEB_BUILDER, builder_name) |
| if dart2js_pattern: |
| - name = 'dart2js' |
| + compiler = 'dart2js' |
| + runtime = 'v8' |
| system = dart2js_pattern.group(1) |
| mode = dart2js_pattern.group(2) |
| option = dart2js_pattern.group(4) |
| elif frog_pattern: |
| - name = frog_pattern.group(1) |
| + compiler = frog_pattern.group(1) |
| + runtime = 'v8' |
| system = frog_pattern.group(2) |
| mode = frog_pattern.group(3) |
| elif web_pattern: |
| - name = 'frogium' |
| + compiler = 'frog' |
| + runtime = web_pattern.grop(1) |
| mode = 'release' |
| - browser = web_pattern.group(1) |
| system = web_pattern.group(2) |
| # TODO(jmesserly): do we want to do anything different for the second IE |
| @@ -72,16 +74,18 @@ |
| if system == 'windows': |
| system = 'win7' |
| - return (name, mode, system, browser, option) |
| + return (compiler, runtime, mode, system, option) |
| -def ComponentsNeedsXterm(component): |
| - return component in ['frogsh', 'frogium', 'legium', 'webdriver'] |
| +def NeedsXterm(compiler, runtime): |
| + return compiler == 'frogsh' or runtime in ['ie', 'chrome', 'safari', 'opera', |
| + 'ff', 'drt'] |
| -def TestStep(name, mode, system, component, targets, flags): |
| - print '@@@BUILD_STEP %s tests: %s %s@@@' % (name, component, ' '.join(flags)) |
| +def TestStep(name, mode, system, compiler, runtime, targets, flags): |
| + print '@@@BUILD_STEP %s %s tests: %s %s@@@' % (name, compiler, runtime, |
| + ' '.join(flags)) |
| sys.stdout.flush() |
| - if ComponentsNeedsXterm(component) and system == 'linux': |
| + if NeedsXterm(compiler, runtime) and system == 'linux': |
| cmd = ['xvfb-run', '-a'] |
| else: |
| cmd = [] |
| @@ -91,7 +95,8 @@ |
| cmd.extend([sys.executable, |
| os.path.join(os.curdir, 'tools', 'test.py'), |
| '--mode=' + mode, |
| - '--component=' + component, |
| + '--compiler=' + compiler, |
| + '--runtime=' + runtime, |
| '--time', |
| '--report']) |
| @@ -111,11 +116,10 @@ |
| return exit_code |
| -def BuildFrog(component, mode, system): |
| +def BuildFrog(compiler, mode, system): |
| """ build frog. |
| Args: |
| - - component: either 'dart2js', 'frog', 'frogsh' (frog |
| - self-hosted), 'frogium' or 'legium' |
| + - component: either 'dart2js', 'frog', 'frogsh' (frog self-hosted) |
|
ahe
2012/03/24 13:56:40
compiler.
Emily Fortuna
2012/03/26 20:52:32
Done.
|
| - mode: either 'debug' or 'release' |
| - system: either 'linux', 'mac', or 'win7' |
| """ |
| @@ -129,14 +133,13 @@ |
| return subprocess.call(args, env=NO_COLOR_ENV) |
| -def TestFrog(component, mode, system, browser, option, flags): |
| +def TestFrog(compiler, runtime, mode, system, option, flags): |
| """ test frog. |
| Args: |
| - - component: either 'dart2js', 'frog', 'frogsh' (frog |
| - self-hosted), 'frogium', or 'legium' |
| + - compiler: either 'dart2js', 'frog', or 'frogsh' (frog self-hosted) |
| + - runtime: either 'v8', or one of the browsers, see GetBuildInfo |
| - mode: either 'debug' or 'release' |
| - system: either 'linux', 'mac', or 'win7' |
| - - browser: one of the browsers, see GetBuildInfo |
| - option: 'checked' |
| - flags: extra flags to pass to test.dart |
| """ |
| @@ -144,27 +147,23 @@ |
| # Make sure we are in the frog directory |
| os.chdir(DART_PATH) |
| - # TODO(jmesserly): temporary workaround until we remove nodejs from the bots |
| - if system == 'win7': |
| - os.environ['PATH'] += ';c:\\Program Files (x86)\\nodejs\\' |
| - |
| - if component == 'dart2js': |
| + if compiler == 'dart2js': |
| if (option == 'checked'): |
| flags.append('--host-checked') |
| # Leg isn't self-hosted (yet) so we run the leg unit tests on the VM. |
| - TestStep("dart2js_unit", mode, system, 'vm', ['leg'], ['--checked']) |
| + TestStep("dart2js_unit", mode, system, 'none', 'vm', ['leg'], ['--checked']) |
| extra_suites = ['leg_only', 'frog_native'] |
| - TestStep("dart2js_extra", mode, system, 'dart2js', extra_suites, flags) |
| + TestStep("dart2js_extra", mode, system, 'dart2js', runtime, extra_suites, |
| + flags) |
| - TestStep("dart2js", mode, system, 'dart2js', [], flags) |
| + TestStep("dart2js", mode, system, 'dart2js', runtime, [], flags) |
| - elif component != 'frogium': # frog and frogsh |
| - TestStep("frog", mode, system, component, [], flags) |
| - TestStep("frog_extra", mode, system, |
| - component, ['frog', 'frog_native', 'peg', 'css'], flags) |
| - TestStep("sdk", mode, system, |
| - 'vm', ['dartdoc'], flags) |
| + elif runtime == 'v8' and compiler in ['frog', 'frogsh']: |
| + TestStep("frog", mode, system, compiler, runtime, [], flags) |
| + TestStep("frog_extra", mode, system, compiler, runtime, |
| + ['frog', 'frog_native', 'peg', 'css'], flags) |
| + TestStep("sdk", mode, system, 'none', 'vm', ['dartdoc'], flags) |
| else: |
| tests = ['client', 'language', 'corelib', 'isolate', 'frog', |
| @@ -178,19 +177,19 @@ |
| # 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 |
| # isolate tests, so we're switching to use Chrome in the short term. |
| - if browser == 'chrome' and system == 'linux': |
| - TestStep('browser', mode, system, 'frogium', tests, flags) |
| - TestStep('browser_dart2js', mode, system, 'legium', [], flags) |
| - TestStep('browser_dart2js_extra', mode, system, 'legium', |
| + if runtime == 'chrome' and system == 'linux': |
| + TestStep('browser', mode, system, 'frog', 'drt', tests, flags) |
| + TestStep('browser_dart2js', mode, system, 'dart2js', 'drt', [], flags) |
| + TestStep('browser_dart2js_extra', mode, system, 'dart2js', 'drt', |
| ['leg_only', 'frog_native'], flags) |
| else: |
| - additional_flags = ['--browser=' + browser] |
| - if system.startswith('win') and browser == 'ie': |
| + additional_flags = [] |
| + if system.startswith('win') and runtime == 'ie': |
| # There should not be more than one InternetExplorerDriver instance |
| # running at a time. For details, see |
| # http://code.google.com/p/selenium/wiki/InternetExplorerDriver. |
| additional_flags += ['-j1'] |
| - TestStep(browser, mode, system, 'webdriver', tests, |
| + TestStep(runtime, mode, system, compiler, runtime, tests, |
| flags + additional_flags) |
| return 0 |
| @@ -235,30 +234,30 @@ |
| print 'Script pathname not known, giving up.' |
| return 1 |
| - component, mode, system, browser, option = GetBuildInfo() |
| - print "component: %s, mode: %s, system: %s, browser: %s, option: %s" % ( |
| - component, mode, system, browser, option) |
| - if component is None: |
| + compiler, runtime, mode, system, option = GetBuildInfo() |
| + print "compiler: %s, runtime: %s mode: %s, " % (compiler, runtime, mode) + \ |
| + "system: %s, option: %s" % (system, option) |
|
ahe
2012/03/24 13:56:40
print "compiler: %s, runtime: %s mode: %s, system:
Emily Fortuna
2012/03/26 20:52:32
Done.
|
| + if compiler is None: |
| return 1 |
| - status = BuildFrog(component, mode, system) |
| + status = BuildFrog(compiler, mode, system) |
| if status != 0: |
| print '@@@STEP_FAILURE@@@' |
| return status |
| - if component == 'dart2js': |
| - status = TestFrog(component, mode, system, browser, option, []) |
| + if compiler == 'dart2js': |
| + status = TestFrog(compiler, runtime, mode, system, option, []) |
| if status != 0: |
| print '@@@STEP_FAILURE@@@' |
| return status # Return unconditionally for dart2js. |
| - if component != 'frogium' or (system == 'linux' and browser == 'chrome'): |
| - status = TestFrog(component, mode, system, browser, None, []) |
| + if runtime != 'd8' or (system == 'linux' and runtime == 'chrome'): |
|
Siggi Cherem (dart-lang)
2012/03/23 23:57:33
d8/v8
Emily Fortuna
2012/03/26 20:52:32
Done.
|
| + status = TestFrog(compiler, runtime, mode, system, None, []) |
| if status != 0: |
| print '@@@STEP_FAILURE@@@' |
| return status |
| - status = TestFrog(component, mode, system, browser, None, ['--checked']) |
| + status = TestFrog(compiler, runtime, mode, system, None, ['--checked']) |
| if status != 0: |
| print '@@@STEP_FAILURE@@@' |