OLD | NEW |
---|---|
1 # Copyright 2012 the V8 project authors. All rights reserved. | 1 # Copyright 2012 the V8 project authors. All rights reserved. |
2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
4 # met: | 4 # met: |
5 # | 5 # |
6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
(...skipping 15 matching lines...) Expand all Loading... | |
26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | 27 |
28 | 28 |
29 import hashlib | 29 import hashlib |
30 import os | 30 import os |
31 import shutil | 31 import shutil |
32 import sys | 32 import sys |
33 import tarfile | 33 import tarfile |
34 import imp | 34 import imp |
35 | 35 |
36 from testrunner.local import statusfile | |
36 from testrunner.local import testsuite | 37 from testrunner.local import testsuite |
37 from testrunner.local import utils | 38 from testrunner.local import utils |
38 from testrunner.objects import testcase | 39 from testrunner.objects import testcase |
39 | 40 |
40 # The revision hash needs to be 7 characters? | 41 # The revision hash needs to be 7 characters? |
41 TEST_262_ARCHIVE_REVISION = "488c0a7" # This is the 2015-06-11 revision. | 42 TEST_262_ARCHIVE_REVISION = "488c0a7" # This is the 2015-06-11 revision. |
42 TEST_262_ARCHIVE_MD5 = "f7d4ec9be81f1e1f10fd8a61c71baead" | 43 TEST_262_ARCHIVE_MD5 = "f7d4ec9be81f1e1f10fd8a61c71baead" |
43 TEST_262_URL = "https://github.com/tc39/test262/tarball/%s" | 44 TEST_262_URL = "https://github.com/tc39/test262/tarball/%s" |
44 TEST_262_HARNESS_FILES = ["sta.js", "assert.js"] | 45 TEST_262_HARNESS_FILES = ["sta.js", "assert.js"] |
45 | 46 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
129 | 130 |
130 def IsNegativeTest(self, testcase): | 131 def IsNegativeTest(self, testcase): |
131 test_record = self.GetTestRecord(testcase) | 132 test_record = self.GetTestRecord(testcase) |
132 return "negative" in test_record | 133 return "negative" in test_record |
133 | 134 |
134 def IsFailureOutput(self, output, testpath): | 135 def IsFailureOutput(self, output, testpath): |
135 if output.exit_code != 0: | 136 if output.exit_code != 0: |
136 return True | 137 return True |
137 return "FAILED!" in output.stdout | 138 return "FAILED!" in output.stdout |
138 | 139 |
140 def HasUnexpectedOutput(self, testcase): | |
141 outcome = self.GetOutcome(testcase) | |
142 if (statusfile.FAIL_SLOPPY in testcase.outcomes and "--use-strict" not in te stcase.flags): | |
Jakob Kummerow
2015/06/22 08:12:31
nit: 80col
| |
143 return outcome != statusfile.FAIL | |
144 return not outcome in (testcase.outcomes or [statusfile.PASS]) | |
145 | |
139 def DownloadData(self): | 146 def DownloadData(self): |
140 revision = TEST_262_ARCHIVE_REVISION | 147 revision = TEST_262_ARCHIVE_REVISION |
141 archive_url = TEST_262_URL % revision | 148 archive_url = TEST_262_URL % revision |
142 archive_name = os.path.join(self.root, "tc39-test262-%s.tar.gz" % revision) | 149 archive_name = os.path.join(self.root, "tc39-test262-%s.tar.gz" % revision) |
143 directory_name = os.path.join(self.root, "data") | 150 directory_name = os.path.join(self.root, "data") |
144 directory_old_name = os.path.join(self.root, "data.old") | 151 directory_old_name = os.path.join(self.root, "data.old") |
145 | 152 |
146 # Clobber if the test is in an outdated state, i.e. if there are any other | 153 # Clobber if the test is in an outdated state, i.e. if there are any other |
147 # archive files present. | 154 # archive files present. |
148 archive_files = [f for f in os.listdir(self.root) | 155 archive_files = [f for f in os.listdir(self.root) |
(...skipping 27 matching lines...) Expand all Loading... | |
176 # Magic incantation to allow longer path names on Windows. | 183 # Magic incantation to allow longer path names on Windows. |
177 archive.extractall(u"\\\\?\\%s" % self.root) | 184 archive.extractall(u"\\\\?\\%s" % self.root) |
178 else: | 185 else: |
179 archive.extractall(self.root) | 186 archive.extractall(self.root) |
180 os.rename(os.path.join(self.root, "tc39-test262-%s" % revision), | 187 os.rename(os.path.join(self.root, "tc39-test262-%s" % revision), |
181 directory_name) | 188 directory_name) |
182 | 189 |
183 | 190 |
184 def GetSuite(name, root): | 191 def GetSuite(name, root): |
185 return Test262TestSuite(name, root) | 192 return Test262TestSuite(name, root) |
OLD | NEW |