Index: test/message/testcfg.py |
diff --git a/test/message/testcfg.py b/test/message/testcfg.py |
index dba65a9a2ef996a30394bae03b0bbffe97450d28..11c0d19a3c8aefb96ad5874188799f938c79b2dd 100644 |
--- a/test/message/testcfg.py |
+++ b/test/message/testcfg.py |
@@ -50,7 +50,7 @@ class MessageTestSuite(testsuite.TestSuite): |
files.sort() |
for filename in files: |
if filename.endswith(".js"): |
- testname = join(dirname[len(self.root) + 1:], filename[:-3]) |
+ testname = os.path.join(dirname[len(self.root) + 1:], filename[:-3]) |
test = testcase.TestCase(self, testname) |
tests.append(test) |
return tests |
@@ -109,116 +109,3 @@ class MessageTestSuite(testsuite.TestSuite): |
def GetSuite(name, root): |
return MessageTestSuite(name, root) |
- |
- |
-# Deprecated definitions below. |
-# TODO(jkummerow): Remove when SCons is no longer supported. |
- |
- |
-import test |
-from os.path import join, exists, basename, isdir |
- |
-class MessageTestCase(test.TestCase): |
- |
- def __init__(self, path, file, expected, mode, context, config): |
- super(MessageTestCase, self).__init__(context, path, mode) |
- self.file = file |
- self.expected = expected |
- self.config = config |
- |
- def IgnoreLine(self, str): |
- """Ignore empty lines, valgrind output and Android output.""" |
- if not str: return True |
- return (str.startswith('==') or str.startswith('**') or |
- str.startswith('ANDROID')) |
- |
- def IsFailureOutput(self, output): |
- f = file(self.expected) |
- # Skip initial '#' comment and spaces |
- for line in f: |
- if (not line.startswith('#')) and (not line.strip()): |
- break |
- # Convert output lines to regexps that we can match |
- env = { 'basename': basename(self.file) } |
- patterns = [ ] |
- for line in f: |
- if not line.strip(): |
- continue |
- pattern = re.escape(line.rstrip() % env) |
- pattern = pattern.replace('\\*', '.*') |
- pattern = '^%s$' % pattern |
- patterns.append(pattern) |
- # Compare actual output with the expected |
- raw_lines = output.stdout.splitlines() |
- outlines = [ s for s in raw_lines if not self.IgnoreLine(s) ] |
- if len(outlines) != len(patterns): |
- return True |
- for i in xrange(len(patterns)): |
- if not re.match(patterns[i], outlines[i]): |
- return True |
- return False |
- |
- def GetLabel(self): |
- return "%s %s" % (self.mode, self.GetName()) |
- |
- def GetName(self): |
- return self.path[-1] |
- |
- def GetCommand(self): |
- result = self.config.context.GetVmCommand(self, self.mode) |
- source = open(self.file).read() |
- flags_match = re.findall(FLAGS_PATTERN, source) |
- for match in flags_match: |
- result += match.strip().split() |
- result.append(self.file) |
- return result |
- |
- def GetSource(self): |
- return (open(self.file).read() |
- + "\n--- expected output ---\n" |
- + open(self.expected).read()) |
- |
- |
-class MessageTestConfiguration(test.TestConfiguration): |
- |
- def __init__(self, context, root): |
- super(MessageTestConfiguration, self).__init__(context, root) |
- |
- def Ls(self, path): |
- if isdir(path): |
- return [f[:-3] for f in os.listdir(path) if f.endswith('.js')] |
- else: |
- return [] |
- |
- def ListTests(self, current_path, path, mode, variant_flags): |
- mjsunit = [current_path + [t] for t in self.Ls(self.root)] |
- regress = [current_path + ['regress', t] for t in self.Ls(join(self.root, 'regress'))] |
- bugs = [current_path + ['bugs', t] for t in self.Ls(join(self.root, 'bugs'))] |
- mjsunit.sort() |
- regress.sort() |
- bugs.sort() |
- all_tests = mjsunit + regress + bugs |
- result = [] |
- for test in all_tests: |
- if self.Contains(path, test): |
- file_prefix = join(self.root, reduce(join, test[1:], "")) |
- file_path = file_prefix + ".js" |
- output_path = file_prefix + ".out" |
- if not exists(output_path): |
- print "Could not find %s" % output_path |
- continue |
- result.append(MessageTestCase(test, file_path, output_path, mode, |
- self.context, self)) |
- return result |
- |
- def GetBuildRequirements(self): |
- return ['d8'] |
- |
- def GetTestStatus(self, sections, defs): |
- status_file = join(self.root, 'message.status') |
- if exists(status_file): |
- test.ReadConfigurationInto(status_file, sections, defs) |
- |
- |
-def GetConfiguration(context, root): |
- return MessageTestConfiguration(context, root) |