Index: dart/tools/testing/architecture.py |
=================================================================== |
--- dart/tools/testing/architecture.py (revision 1186) |
+++ dart/tools/testing/architecture.py (working copy) |
@@ -410,25 +410,20 @@ |
fatal_static_type_errors = fatal_static_type_errors # shutup lint! |
return None |
+ def GetOptions(self): |
+ return [] |
+ |
def GetRunCommand(self, fatal_static_type_errors=False): |
"""Returns a command line to execute for the test.""" |
dart = self.GetExecutable() |
- test_name = os.path.basename(self.test) |
- test_path = os.path.abspath(self.test) |
- command = [dart] + self.vm_options |
- if self.mode == 'release': |
- command += ['--optimize'] |
- (classname, extension) = os.path.splitext(test_name) |
+ command = [dart] + self.GetOptions() + self.vm_options |
+ if fatal_static_type_errors: |
+ command += self.GetFatalTypeErrorsFlags() |
+ |
if self.dart_options: |
command += self.dart_options |
- elif extension == '.dart': |
- if fatal_static_type_errors: |
- command += self.GetFatalTypeErrorsFlags() |
- if '_' in classname: |
- (classname, unused_sep, unused_tag) = classname.rpartition('_') |
- command += [test_path] |
else: |
- command += ['--', test_path] |
+ command += [self.test] |
return command |
@@ -443,6 +438,19 @@ |
return |
+class LegArchitecture(StandaloneArchitecture): |
+ |
+ def __init__(self, root_path, arch, mode, component, test): |
+ super(LegArchitecture, self).__init__(root_path, arch, mode, component, |
+ test) |
+ def GetOptions(self): |
+ return ['--enable_leg'] |
+ |
+ def GetExecutable(self): |
+ """Returns the path to the Dart test runner (executes the .dart file).""" |
+ return utils.GetDartRunner(self.mode, self.arch, 'frog') |
+ |
+ |
# Long term, we should do the running machinery that is currently in |
# DartRunner.java |
class DartcArchitecture(StandaloneArchitecture): |
@@ -451,19 +459,17 @@ |
def __init__(self, root_path, arch, mode, component, test): |
super(DartcArchitecture, self).__init__(root_path, arch, mode, component, test) |
+ def GetOptions(self): |
+ if self.mode == 'release': return ['--optimize'] |
+ return [] |
+ |
def GetFatalTypeErrorsFlags(self): |
return ['--fatal-type-errors'] |
def HasFatalTypeErrors(self): |
return True |
- def GetRunCommand(self, fatal_static_type_errors=False): |
- """Returns a command line to execute for the test.""" |
- cmd = super(DartcArchitecture, self).GetRunCommand( |
- fatal_static_type_errors) |
- return cmd |
- |
def ExecutePipedCommand(cmd, verbose): |
"""Execute a command in a subprocess.""" |
if verbose: |
@@ -494,5 +500,8 @@ |
elif component in ['vm', 'frog', 'frogsh']: |
return StandaloneArchitecture(root_path, arch, mode, component, test) |
+ elif component == 'leg': |
+ return LegArchitecture(root_path, arch, mode, component, test) |
+ |
elif component == 'dartc': |
return DartcArchitecture(root_path, arch, mode, component, test) |