Index: test/emscripten/testcfg.py |
diff --git a/test/message/testcfg.py b/test/emscripten/testcfg.py |
similarity index 55% |
copy from test/message/testcfg.py |
copy to test/emscripten/testcfg.py |
index cfe22f15d70adafc49daefcb68eaa962852132e7..3f0d5ed59b56f4e1f1fc20715cc8ccd182d4f000 100644 |
--- a/test/message/testcfg.py |
+++ b/test/emscripten/testcfg.py |
@@ -1,29 +1,6 @@ |
-# Copyright 2008 the V8 project authors. All rights reserved. |
-# Redistribution and use in source and binary forms, with or without |
-# modification, are permitted provided that the following conditions are |
-# met: |
-# |
-# * Redistributions of source code must retain the above copyright |
-# notice, this list of conditions and the following disclaimer. |
-# * Redistributions in binary form must reproduce the above |
-# copyright notice, this list of conditions and the following |
-# disclaimer in the documentation and/or other materials provided |
-# with the distribution. |
-# * Neither the name of Google Inc. nor the names of its |
-# contributors may be used to endorse or promote products derived |
-# from this software without specific prior written permission. |
-# |
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+# Copyright 2015 the V8 project authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
import itertools |
import os |
@@ -36,7 +13,6 @@ from testrunner.objects import testcase |
FLAGS_PATTERN = re.compile(r"//\s+Flags:(.*)") |
INVALID_FLAGS = ["--enable-slow-asserts"] |
-MODULE_PATTERN = re.compile(r"^// MODULE$", flags=re.MULTILINE) |
class MessageTestSuite(testsuite.TestSuite): |
@@ -64,8 +40,6 @@ class MessageTestSuite(testsuite.TestSuite): |
for match in flags_match: |
result += match.strip().split() |
result += context.mode_flags |
- if MODULE_PATTERN.search(source): |
- result.append("--module") |
result = [x for x in result if x not in INVALID_FLAGS] |
result.append(os.path.join(self.root, testcase.path + ".js")) |
return testcase.flags + result |
@@ -76,9 +50,7 @@ class MessageTestSuite(testsuite.TestSuite): |
return f.read() |
def _IgnoreLine(self, string): |
- """Ignore empty lines, valgrind output, Android output.""" |
- if not string: return True |
- if not string.strip(): return True |
+ """Ignore valgrind, NaCl and Android output.""" |
return (string.startswith("==") or string.startswith("**") or |
string.startswith("ANDROID") or |
# These five patterns appear in normal Native Client output. |
@@ -92,10 +64,8 @@ class MessageTestSuite(testsuite.TestSuite): |
expected_path = os.path.join(self.root, testpath + ".out") |
expected_lines = [] |
# Can't use utils.ReadLinesFrom() here because it strips whitespace. |
- with open(expected_path) as f: |
- for line in f: |
- if line.startswith("#") or not line.strip(): continue |
- expected_lines.append(line) |
+ with open(expected_path) as expected: |
+ expected_lines = expected.read().splitlines() |
raw_lines = output.stdout.splitlines() |
actual_lines = [ s for s in raw_lines if not self._IgnoreLine(s) ] |
env = { "basename": os.path.basename(testpath + ".js") } |
@@ -103,10 +73,7 @@ class MessageTestSuite(testsuite.TestSuite): |
return True |
for (expected, actual) in itertools.izip_longest( |
expected_lines, actual_lines, fillvalue=''): |
- pattern = re.escape(expected.rstrip() % env) |
- pattern = pattern.replace("\\*", ".*") |
- pattern = "^%s$" % pattern |
- if not re.match(pattern, actual): |
+ if expected != actual: |
return True |
return False |