| 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)
|
|
|