Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Side by Side Diff: dart/tools/test.py

Issue 8372095: Bleeding edge change to get frog integrated into the testing infrastructure. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « dart/tests/language/language.status ('k') | dart/tools/testing/architecture.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 3 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
4 # for details. All rights reserved. Use of this source code is governed by a 4 # for details. All rights reserved. Use of this source code is governed by a
5 # BSD-style license that can be found in the LICENSE file. 5 # BSD-style license that can be found in the LICENSE file.
6 # 6 #
7 7
8 """Test driver for the Dart project used by continuous build and developers.""" 8 """Test driver for the Dart project used by continuous build and developers."""
9 9
10 10
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 604
605 def GetBuildRoot(self, mode, arch): 605 def GetBuildRoot(self, mode, arch):
606 """The top level directory containing compiler, runtime, tools...""" 606 """The top level directory containing compiler, runtime, tools..."""
607 result = utils.GetBuildRoot(self.os, mode, arch) 607 result = utils.GetBuildRoot(self.os, mode, arch)
608 return result 608 return result
609 609
610 def GetBuildConf(self, mode, arch): 610 def GetBuildConf(self, mode, arch):
611 result = utils.GetBuildConf(mode, arch) 611 result = utils.GetBuildConf(mode, arch)
612 return result 612 return result
613 613
614 def GetExecutable(self, mode, arch, name): 614 def GetExecutable(self, mode, arch, path):
615 """Returns the name of the executable used to run the test.""" 615 """Returns the name of the executable used to run the test."""
616 if self.executable is not None: 616 if self.executable is not None:
617 return self.executable 617 return self.executable
618 path = os.path.abspath(os.path.join(self.GetBuildRoot(mode, arch), name))
619 if utils.IsWindows() and not path.endswith('.exe'): 618 if utils.IsWindows() and not path.endswith('.exe'):
620 return path + '.exe' 619 return path + '.exe'
621 else: 620 else:
622 return path 621 return path
623 622
623 def GetD8(self, mode, arch):
624 d8 = os.path.join(self.GetBuildRoot(mode, arch), 'd8')
625 return self.GetExecutable(mode, arch, d8)
626
624 def GetDart(self, mode, arch, component): 627 def GetDart(self, mode, arch, component):
625 """Returns the path to the Dart test runner (executes the .dart file).""" 628 dart = utils.GetDartRunner(mode, arch, component)
626 if component == 'dartc': 629 return [self.GetExecutable(mode, arch, dart)]
627 command = [os.path.abspath(
628 os.path.join(self.GetBuildRoot(mode, arch),
629 'compiler', 'bin', 'dartc_test'))]
630 else:
631 command = [self.GetExecutable(mode, arch, 'dart_bin')]
632
633 return command
634 630
635 def GetDartC(self, mode, arch): 631 def GetDartC(self, mode, arch):
636 """Returns the path to the Dart --> JS compiler.""" 632 """Returns the path to the Dart --> JS compiler."""
637 dartc = os.path.abspath(os.path.join( 633 dartc = os.path.abspath(os.path.join(
638 self.GetBuildRoot(mode, arch), 'compiler', 'bin', 'dartc')) 634 self.GetBuildRoot(mode, arch), 'compiler', 'bin', 'dartc'))
639 if utils.IsWindows(): dartc += '.exe' 635 if utils.IsWindows(): dartc += '.exe'
640 command = [dartc] 636 command = [dartc]
641 637
642 # Add the flags from the context to the command line. 638 # Add the flags from the context to the command line.
643 command += self.flags 639 command += self.flags
644 return command 640 return command
645 641
646 def GetRunTests(self, mode, arch): 642 def GetRunTests(self, mode, arch):
647 return [self.GetExecutable(mode, arch, 'run_vm_tests')] 643 path = os.path.join(self.GetBuildRoot(mode, arch), 'run_vm_tests')
644 return [self.GetExecutable(mode, arch, path)]
648 645
649 646
650 def RunTestCases(cases_to_run, progress, tasks, context): 647 def RunTestCases(cases_to_run, progress, tasks, context):
651 """Chooses a progress indicator and then starts the tests.""" 648 """Chooses a progress indicator and then starts the tests."""
652 progress = PROGRESS_INDICATORS[progress](cases_to_run, context) 649 progress = PROGRESS_INDICATORS[progress](cases_to_run, context)
653 return progress.Run(tasks) 650 return progress.Run(tasks)
654 651
655 652
656 # ------------------------------------------- 653 # -------------------------------------------
657 # --- T e s t C o n f i g u r a t i o n --- 654 # --- T e s t C o n f i g u r a t i o n ---
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
1213 default='true', 1210 default='true',
1214 type='choice') 1211 type='choice')
1215 result.add_option( 1212 result.add_option(
1216 '--optimize', 1213 '--optimize',
1217 help='Invoke dart compiler with --optimize flag', 1214 help='Invoke dart compiler with --optimize flag',
1218 default=False, 1215 default=False,
1219 action='store_true') 1216 action='store_true')
1220 result.add_option( 1217 result.add_option(
1221 '-c', '--component', 1218 '-c', '--component',
1222 help='The component to test against ' 1219 help='The component to test against '
1223 '(most, vm, dartc, chromium, dartium)', 1220 '(most, vm, dartc, frog, frogsh, chromium, dartium)',
1224 metavar='[most,vm,dartc,chromium,dartium]', 1221 metavar='[most,vm,dartc,chromium,dartium]',
1225 default='vm') 1222 default='vm')
1226 return result 1223 return result
1227 1224
1228 1225
1229 def ProcessOptions(options): 1226 def ProcessOptions(options):
1230 """Process command line options.""" 1227 """Process command line options."""
1231 if options.arch == 'all': 1228 if options.arch == 'all':
1232 options.arch = 'ia32,x64,simarm' 1229 options.arch = 'ia32,x64,simarm'
1233 if options.mode == 'all': 1230 if options.mode == 'all':
1234 options.mode = 'debug,release' 1231 options.mode = 'debug,release'
1235 if options.component == 'most': 1232 if options.component == 'most':
1236 options.component = 'vm,dartc' 1233 options.component = 'vm,dartc'
1237 1234
1238 if 'dartc' in options.arch:
1239 options.component = 'dartc'
1240 if 'dartium' in options.arch:
1241 options.component = 'dartium'
1242 if 'chromium' in options.arch:
1243 options.component = 'chromium'
1244
1245 # By default we run with a higher timeout setting in when running on 1235 # By default we run with a higher timeout setting in when running on
1246 # a simulated architecture and in debug mode. 1236 # a simulated architecture and in debug mode.
1247 if not options.timeout: 1237 if not options.timeout:
1248 options.timeout = TIMEOUT_SECS 1238 options.timeout = TIMEOUT_SECS
1249 if 'dartc' in options.component: 1239 if 'dartc' in options.component:
1250 options.timeout *= 4 1240 options.timeout *= 4
1251 elif 'chromium' in options.component: 1241 elif 'chromium' in options.component:
1252 options.timeout *= 4 1242 options.timeout *= 4
1253 elif 'dartium' in options.component: 1243 elif 'dartium' in options.component:
1254 options.timeout *= 4 1244 options.timeout *= 4
1255 elif 'debug' in options.mode: 1245 elif 'debug' in options.mode:
1256 options.timeout *= 2 1246 options.timeout *= 2
1257 options.mode = options.mode.split(',') 1247 options.mode = options.mode.split(',')
1258 options.arch = options.arch.split(',') 1248 options.arch = options.arch.split(',')
1259 options.component = options.component.split(',') 1249 options.component = options.component.split(',')
1260 for mode in options.mode: 1250 for mode in options.mode:
1261 if not mode in ['debug', 'release']: 1251 if not mode in ['debug', 'release']:
1262 print 'Unknown mode %s' % mode 1252 print 'Unknown mode %s' % mode
1263 return False 1253 return False
1264 for arch in options.arch: 1254 for arch in options.arch:
1265 if not arch in ['ia32', 'x64', 'simarm', 'arm']: 1255 if not arch in ['ia32', 'x64', 'simarm', 'arm']:
1266 print 'Unknown arch %s' % arch 1256 print 'Unknown arch %s' % arch
1267 return False 1257 return False
1268 for component in options.component: 1258 for component in options.component:
1269 if not component in ['vm', 'dartc', 'chromium', 'dartium']: 1259 if not component in ['vm', 'dartc', 'frog', 'frogsh',
1260 'chromium', 'dartium']:
1270 print 'Unknown component %s' % component 1261 print 'Unknown component %s' % component
1271 return False 1262 return False
1272 options.flags = [] 1263 options.flags = []
1273 options.flags.append('--ignore-unrecognized-flags') 1264 options.flags.append('--ignore-unrecognized-flags')
1274 if options.checked: 1265 if options.checked:
1275 options.flags.append('--enable_asserts') 1266 options.flags.append('--enable_asserts')
1276 options.flags.append('--enable_type_checks') 1267 options.flags.append('--enable_type_checks')
1277 if options.optimize: 1268 if options.optimize:
1278 options.flags.append('--optimize') 1269 options.flags.append('--optimize')
1279 for flag in options.flag: 1270 for flag in options.flag:
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1528 for entry in timed_tests[:20]: 1519 for entry in timed_tests[:20]:
1529 t = FormatTime(entry.duration) 1520 t = FormatTime(entry.duration)
1530 print '%4i (%s) %s' % (index, t, entry.GetLabel()) 1521 print '%4i (%s) %s' % (index, t, entry.GetLabel())
1531 index += 1 1522 index += 1
1532 1523
1533 return result 1524 return result
1534 1525
1535 1526
1536 if __name__ == '__main__': 1527 if __name__ == '__main__':
1537 sys.exit(Main()) 1528 sys.exit(Main())
OLDNEW
« no previous file with comments | « dart/tests/language/language.status ('k') | dart/tools/testing/architecture.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698