| Index: tests/co19/testcfg.py
|
| diff --git a/tests/co19/testcfg.py b/tests/co19/testcfg.py
|
| deleted file mode 100644
|
| index e0651d2a347f8bca34a64ecd8ef4efef1a9356ec..0000000000000000000000000000000000000000
|
| --- a/tests/co19/testcfg.py
|
| +++ /dev/null
|
| @@ -1,143 +0,0 @@
|
| -# Copyright (c) 2011, 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.
|
| -
|
| -
|
| -import os
|
| -from os.path import join, exists
|
| -import re
|
| -
|
| -import test
|
| -import utils
|
| -
|
| -
|
| -class Error(Exception):
|
| - pass
|
| -
|
| -
|
| -class Co19TestCase(test.TestCase):
|
| - def __init__(self, path, context, filename, mode, arch, component):
|
| - super(Co19TestCase, self).__init__(context, path)
|
| - self.filename = filename
|
| - self.mode = mode
|
| - self.arch = arch
|
| - self.component = component
|
| - self._is_negative = None
|
| -
|
| - def IsNegative(self):
|
| - if self._is_negative is None :
|
| - contents = self.GetSource()
|
| - if '@compile-error' in contents or '@runtime-error' in contents:
|
| - self._is_negative = True
|
| - else:
|
| - self._is_negative = False
|
| - return self._is_negative
|
| -
|
| - def GetLabel(self):
|
| - return "%s%s %s %s" % (self.mode, self.arch, self.component,
|
| - "/".join(self.path))
|
| -
|
| - def GetCommand(self):
|
| - # Parse the options by reading the .dart source file.
|
| - source = self.GetSource()
|
| - vm_options = utils.ParseTestOptions(test.VM_OPTIONS_PATTERN, source,
|
| - self.context.workspace)
|
| - dart_options = utils.ParseTestOptions(test.DART_OPTIONS_PATTERN, source,
|
| - self.context.workspace)
|
| -
|
| - # Combine everything into a command array and return it.
|
| - command = self.context.GetDart(self.mode, self.arch, self.component)
|
| - command += self.context.flags
|
| - if self.mode == 'release': command += ['--optimize']
|
| - if vm_options: command += vm_options
|
| - if dart_options: command += dart_options
|
| - else:
|
| - command += [self.filename]
|
| - return command
|
| -
|
| - def GetName(self):
|
| - return self.path[-1]
|
| -
|
| - def GetPath(self):
|
| - return os.path.dirname(self.filename)
|
| -
|
| - def GetSource(self):
|
| - return file(self.filename).read()
|
| -
|
| -
|
| -class Co19TestConfiguration(test.TestConfiguration):
|
| - def __init__(self, context, root):
|
| - super(Co19TestConfiguration, self).__init__(context, root)
|
| -
|
| - def ListTests(self, current_path, path, mode, arch, component):
|
| - tests = []
|
| - src_dir = join(self.root, "src")
|
| - strip = len(src_dir.split(os.path.sep))
|
| - for root, dirs, files in os.walk(src_dir):
|
| - ignore_dirs = [d for d in dirs if d.startswith('.')]
|
| - for d in ignore_dirs:
|
| - dirs.remove(d)
|
| - for f in [x for x in files if self.IsTest(x)]:
|
| - test_path = [] + current_path
|
| - test_path.extend(root.split(os.path.sep)[strip:])
|
| - test_name = short_name = f
|
| -
|
| - # remove suffixes
|
| - if short_name.endswith(".dart"):
|
| - short_name = short_name[:-5] # Remove .dart suffix.
|
| - else:
|
| - raise Error('Unknown suffix in "%s", fix IsTest() predicate' % f)
|
| -
|
| - test_path.append(short_name)
|
| -
|
| - # test full name and shorted name matches given path pattern
|
| - if self.Contains(path, test_path): pass
|
| - elif self.Contains(path, test_path + [test_name]): pass
|
| - else:
|
| - continue
|
| -
|
| - tests.append(Co19TestCase(test_path,
|
| - self.context,
|
| - join(root, f),
|
| - mode,
|
| - arch,
|
| - component))
|
| - return tests
|
| -
|
| - _TESTNAME_PATTERN = re.compile(r'.*_t[0-9]{2}\.dart$')
|
| - def IsTest(self, name):
|
| - return self._TESTNAME_PATTERN.match(name)
|
| -
|
| - def GetTestStatus(self, sections, defs):
|
| - status = join(self.root, "co19-runtime.status")
|
| - if exists(status):
|
| - test.ReadConfigurationInto(status, sections, defs)
|
| - status = join(self.root, "co19-compiler.status")
|
| - if exists(status):
|
| - test.ReadConfigurationInto(status, sections, defs)
|
| - status = join(self.root, "co19-frog.status")
|
| - if exists(status):
|
| - test.ReadConfigurationInto(status, sections, defs)
|
| - status = join(self.root, "co19-leg.status")
|
| - if exists(status):
|
| - test.ReadConfigurationInto(status, sections, defs)
|
| -
|
| - def Contains(self, path, file):
|
| - """ reimplemented for support '**' glob pattern """
|
| - if len(path) > len(file):
|
| - return
|
| - # ** matches to any number of directories, a/**/d matches a/b/c/d
|
| - # paths like a/**/x/**/b not allowed
|
| - patterns = [p.pattern for p in path]
|
| - if '**' in patterns:
|
| - idx = patterns.index('**')
|
| - patterns[idx : idx] = ['*'] * (len(file) - len(path))
|
| - path = [test.Pattern(p) for p in patterns]
|
| -
|
| - for i in xrange(len(path)):
|
| - if not path[i].match(file[i]):
|
| - return False
|
| - return True
|
| -
|
| -def GetConfiguration(context, root):
|
| - return Co19TestConfiguration(context, root)
|
|
|