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

Side by Side Diff: dart/tests/stub-generator/testcfg.py

Issue 8408002: Add a new variable environment for testing, to replace the misusage of 'arch'. (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/stub-generator/stub-generator.status ('k') | dart/tools/test.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 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 import os 5 import os
6 import re 6 import re
7 import shutil 7 import shutil
8 import sys 8 import sys
9 import tempfile 9 import tempfile
10 10
11 import test 11 import test
12 from testing import test_case,test_configuration 12 from testing import test_case,test_configuration
13 import utils 13 import utils
14 14
15 from os.path import join, exists, isdir 15 from os.path import join, exists, isdir
16 16
17 def GeneratedName(src): 17 def GeneratedName(src):
18 return re.sub('\.dart$', '-generatedTest.dart', src) 18 return re.sub('\.dart$', '-generatedTest.dart', src)
19 19
20 class DartStubTestCase(test_case.StandardTestCase): 20 class DartStubTestCase(test_case.StandardTestCase):
21 def __init__(self, context, path, filename, mode, arch): 21 def __init__(self, context, path, filename, mode, arch, component):
22 super(DartStubTestCase, self).__init__(context, path, filename, mode, arch) 22 super(DartStubTestCase, self).__init__(context, path, filename, mode, arch,
23 component)
23 self.filename = filename 24 self.filename = filename
24 self.mode = mode 25 self.mode = mode
25 self.arch = arch 26 self.arch = arch
27 self.component = component
26 28
27 def IsBatchable(self): 29 def IsBatchable(self):
28 return False 30 return False
29 31
30 def GetStubs(self): 32 def GetStubs(self):
31 source = self.GetSource() 33 source = self.GetSource()
32 stub_classes = utils.ParseTestOptions(test.ISOLATE_STUB_PATTERN, source, 34 stub_classes = utils.ParseTestOptions(test.ISOLATE_STUB_PATTERN, source,
33 self.context.workspace) 35 self.context.workspace)
34 if stub_classes is None: 36 if stub_classes is None:
35 return (None, None, None) 37 return (None, None, None)
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 def GetCommand(self): 81 def GetCommand(self):
80 # Parse the options by reading the .dart source file. 82 # Parse the options by reading the .dart source file.
81 source = self.GetSource() 83 source = self.GetSource()
82 vm_options = utils.ParseTestOptions(test.VM_OPTIONS_PATTERN, source, 84 vm_options = utils.ParseTestOptions(test.VM_OPTIONS_PATTERN, source,
83 self.context.workspace) 85 self.context.workspace)
84 dart_options = utils.ParseTestOptions(test.DART_OPTIONS_PATTERN, source, 86 dart_options = utils.ParseTestOptions(test.DART_OPTIONS_PATTERN, source,
85 self.context.workspace) 87 self.context.workspace)
86 (interface, _, implementation) = self.GetStubs() 88 (interface, _, implementation) = self.GetStubs()
87 89
88 # Combine everything into a command array and return it. 90 # Combine everything into a command array and return it.
89 command = self.context.GetDart(self.mode, self.arch) 91 command = self.context.GetDart(self.mode, self.arch, self.component)
90 if interface is None: 92 if interface is None:
91 f = self.filename 93 f = self.filename
92 else: 94 else:
93 f = GeneratedName(interface) 95 f = GeneratedName(interface)
94 files = [ join(self.GetPath(), f) ] 96 files = [ join(self.GetPath(), f) ]
95 if vm_options: command += vm_options 97 if vm_options: command += vm_options
96 if dart_options: command += dart_options 98 if dart_options: command += dart_options
97 else: command += files 99 else: command += files
98 return command 100 return command
99 101
100 102
101 class DartStubTestConfiguration(test_configuration.StandardTestConfiguration): 103 class DartStubTestConfiguration(test_configuration.StandardTestConfiguration):
102 def __init__(self, context, root): 104 def __init__(self, context, root):
103 super(DartStubTestConfiguration, self).__init__(context, root) 105 super(DartStubTestConfiguration, self).__init__(context, root)
104 106
105 def ListTests(self, current_path, path, mode, arch): 107 def ListTests(self, current_path, path, mode, arch, component):
106 dartc = self.context.GetDartC(mode, 'dartc') 108 dartc = self.context.GetDartC(mode, 'dartc')
107 self.context.generate = os.access(dartc[0], os.X_OK) 109 self.context.generate = os.access(dartc[0], os.X_OK)
108 tests = [] 110 tests = []
109 for root, dirs, files in os.walk(join(self.root, 'src')): 111 for root, dirs, files in os.walk(join(self.root, 'src')):
110 # Skip remnants from the subdirectory that used to be used for 112 # Skip remnants from the subdirectory that used to be used for
111 # generated code. 113 # generated code.
112 if root.endswith('generated'): 114 if root.endswith('generated'):
113 continue 115 continue
114 for f in [x for x in files if self.IsTest(x)]: 116 for f in [x for x in files if self.IsTest(x)]:
115 # If we can generate code, do not use the checked-in generated 117 # If we can generate code, do not use the checked-in generated
116 # code. Conversely, if we cannot, then only use the 118 # code. Conversely, if we cannot, then only use the
117 # checked-in generated code. 119 # checked-in generated code.
118 if self.context.generate == f.endswith('-generatedTest.dart'): 120 if self.context.generate == f.endswith('-generatedTest.dart'):
119 continue 121 continue
120 test_path = current_path + [ f[:-5] ] # Remove .dart suffix. 122 test_path = current_path + [ f[:-5] ] # Remove .dart suffix.
121 if not self.Contains(path, test_path): 123 if not self.Contains(path, test_path):
122 continue 124 continue
123 tests.append(DartStubTestCase(self.context, 125 tests.append(DartStubTestCase(self.context,
124 test_path, 126 test_path,
125 join(root, f), 127 join(root, f),
126 mode, 128 mode,
127 arch)) 129 arch,
130 component))
128 return tests 131 return tests
129 132
130 133
131 def GetConfiguration(context, root): 134 def GetConfiguration(context, root):
132 return DartStubTestConfiguration(context, root) 135 return DartStubTestConfiguration(context, root)
OLDNEW
« no previous file with comments | « dart/tests/stub-generator/stub-generator.status ('k') | dart/tools/test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698