diff options
Diffstat (limited to 'deps/v8/test/mjsunit/testcfg.py')
-rw-r--r-- | deps/v8/test/mjsunit/testcfg.py | 133 |
1 files changed, 1 insertions, 132 deletions
diff --git a/deps/v8/test/mjsunit/testcfg.py b/deps/v8/test/mjsunit/testcfg.py index 00d4500f1c..c960ce6b30 100644 --- a/deps/v8/test/mjsunit/testcfg.py +++ b/deps/v8/test/mjsunit/testcfg.py @@ -50,7 +50,7 @@ class MjsunitTestSuite(testsuite.TestSuite): files.sort() for filename in files: if filename.endswith(".js") and filename != "mjsunit.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 @@ -95,134 +95,3 @@ class MjsunitTestSuite(testsuite.TestSuite): def GetSuite(name, root): return MjsunitTestSuite(name, root) - - -# Deprecated definitions below. -# TODO(jkummerow): Remove when SCons is no longer supported. - - -from os.path import dirname, exists, join, normpath -import tempfile -import test - - -class MjsunitTestCase(test.TestCase): - - def __init__(self, path, file, mode, context, config, isolates): - super(MjsunitTestCase, self).__init__(context, path, mode) - self.file = file - self.config = config - self.self_script = False - self.isolates = isolates - - def GetLabel(self): - return "%s %s" % (self.mode, self.GetName()) - - def GetName(self): - return self.path[-1] + ["", "-isolates"][self.isolates] - - def TestsIsolates(self): - return self.isolates - - def GetVmCommand(self, source): - result = self.config.context.GetVmCommand(self, self.mode) - flags_match = re.findall(FLAGS_PATTERN, source); - for match in flags_match: - result += match.strip().split() - return result - - def GetVmArguments(self, source): - result = [] - additional_files = [] - files_match = FILES_PATTERN.search(source); - # Accept several lines of 'Files:' - while True: - if files_match: - additional_files += files_match.group(1).strip().split() - files_match = FILES_PATTERN.search(source, files_match.end()) - else: - break - for a_file in additional_files: - result.append(join(dirname(self.config.root), '..', a_file)) - framework = join(dirname(self.config.root), 'mjsunit', 'mjsunit.js') - if SELF_SCRIPT_PATTERN.search(source): - result.append(self.CreateSelfScript()) - result += [framework, self.file] - return result - - def GetCommand(self): - source = open(self.file).read() - result = self.GetVmCommand(source) - result += self.GetVmArguments(source) - if self.isolates: - result.append("--isolate") - result += self.GetVmArguments(source) - return result - - def GetSource(self): - return open(self.file).read() - - def CreateSelfScript(self): - (fd_self_script, self_script) = tempfile.mkstemp(suffix=".js") - def MakeJsConst(name, value): - return "var %(name)s=\'%(value)s\';\n" % \ - {'name': name, \ - 'value': value.replace('\\', '\\\\').replace('\'', '\\\'') } - try: - os.write(fd_self_script, MakeJsConst('TEST_FILE_NAME', self.file)) - except IOError, e: - test.PrintError("write() " + str(e)) - os.close(fd_self_script) - self.self_script = self_script - return self_script - - def AfterRun(self, result): - if self.self_script and (not result or (not result.HasPreciousOutput())): - test.CheckedUnlink(self.self_script) - -class MjsunitTestConfiguration(test.TestConfiguration): - - def __init__(self, context, root): - super(MjsunitTestConfiguration, self).__init__(context, root) - - def Ls(self, path): - def SelectTest(name): - return name.endswith('.js') and name != 'mjsunit.js' - return [f[:-3] for f in os.listdir(path) if SelectTest(f)] - - 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'))] - third_party = [current_path + ['third_party', t] for t in self.Ls(join(self.root, 'third_party'))] - tools = [current_path + ['tools', t] for t in self.Ls(join(self.root, 'tools'))] - compiler = [current_path + ['compiler', t] for t in self.Ls(join(self.root, 'compiler'))] - harmony = [current_path + ['harmony', t] for t in self.Ls(join(self.root, 'harmony'))] - mjsunit.sort() - regress.sort() - bugs.sort() - third_party.sort() - tools.sort() - compiler.sort() - harmony.sort() - all_tests = mjsunit + regress + bugs + third_party + tools + compiler + harmony - result = [] - for test in all_tests: - if self.Contains(path, test): - file_path = join(self.root, reduce(join, test[1:], "") + ".js") - result.append(MjsunitTestCase(test, file_path, mode, self.context, self, False)) - result.append(MjsunitTestCase(test, file_path, mode, self.context, self, True)) - return result - - def GetBuildRequirements(self): - return ['d8'] - - def GetTestStatus(self, sections, defs): - status_file = join(self.root, 'mjsunit.status') - if exists(status_file): - test.ReadConfigurationInto(status_file, sections, defs) - - - -def GetConfiguration(context, root): - return MjsunitTestConfiguration(context, root) |