Reviewers: Michael Achenbach,

Message:
PTAL

Is this too hacky?

If not I'll update more of the status file in follow up CLs.

Description:
Test262-es6 test runner should handle sloppy fail better

This adds a new FAIL_SLOPPY expected output. It then uses this to
determine if the test case has unexpected output.

BUG=v8:4164
LOG=N
[email protected]

Please review this at https://codereview.chromium.org/1197913002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+30, -4 lines):
  M test/test262-es6/test262-es6.status
  M test/test262-es6/testcfg.py
  M tools/testrunner/local/statusfile.py


Index: test/test262-es6/test262-es6.status
diff --git a/test/test262-es6/test262-es6.status b/test/test262-es6/test262-es6.status index 957561fa1ac955d3bc0feed6d276bc66c0933ebf..ce5d37dd05b2fdc27e8e8a920adcb69c079ad5b7 100644
--- a/test/test262-es6/test262-es6.status
+++ b/test/test262-es6/test262-es6.status
@@ -272,11 +272,29 @@

   'language/asi/S7.9_A5.7_T1': [PASS, FAIL_OK],
   'language/class/*': [PASS, ['sloppy', FAIL]],
-  'language/computed-property-names/class/*': [PASS, ['sloppy', FAIL]],
- 'language/computed-property-names/to-name-side-effects/class': [PASS, ['sloppy', FAIL]], - 'language/computed-property-names/to-name-side-effects/numbers-class': [PASS, ['sloppy', FAIL]],
+
+  # The order of adding the name property is wrong
+  # https://code.google.com/p/v8/issues/detail?id=4199
+ 'language/computed-property-names/class/static/method-number': [FAIL, FAIL_SLOPPY], + 'language/computed-property-names/class/static/method-symbol': [FAIL, FAIL_SLOPPY], + 'language/computed-property-names/class/static/method-string': [FAIL, FAIL_SLOPPY],
+
+  # https://code.google.com/p/v8/issues/detail?id=3305
+ 'language/computed-property-names/to-name-side-effects/class': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/to-name-side-effects/numbers-class': [PASS, FAIL_SLOPPY],
+  'language/computed-property-names/class/accessor/*': [PASS, FAIL_SLOPPY],
+  'language/computed-property-names/class/method/*': [PASS, FAIL_SLOPPY],
+ 'language/computed-property-names/class/static/generator-constructor': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/generator-prototype': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/getter-constructor': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/getter-prototype': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/method-constructor': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/method-prototype': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/setter-constructor': [PASS, FAIL_SLOPPY], + 'language/computed-property-names/class/static/setter-prototype': [PASS, FAIL_SLOPPY],

   # new.target
+  # https://code.google.com/p/v8/issues/detail?id=3887
   'language/expressions/arrow-function/lexical-new.target': [FAIL],
'language/expressions/arrow-function/lexical-new.target-closure-returned': [FAIL],

Index: test/test262-es6/testcfg.py
diff --git a/test/test262-es6/testcfg.py b/test/test262-es6/testcfg.py
index e5fb22565fc80571704479591e6fdfa13271797a..5ff8d4b729d2b01ae741f5e42b20bda72a39fdcc 100644
--- a/test/test262-es6/testcfg.py
+++ b/test/test262-es6/testcfg.py
@@ -33,6 +33,7 @@ import sys
 import tarfile
 import imp

+from testrunner.local import statusfile
 from testrunner.local import testsuite
 from testrunner.local import utils
 from testrunner.objects import testcase
@@ -136,6 +137,12 @@ class Test262TestSuite(testsuite.TestSuite):
       return True
     return "FAILED!" in output.stdout

+  def HasUnexpectedOutput(self, testcase):
+    outcome = self.GetOutcome(testcase)
+ if (statusfile.FAIL_SLOPPY in testcase.outcomes and "--use-strict" not in testcase.flags):
+      return outcome != statusfile.FAIL
+    return not outcome in (testcase.outcomes or [statusfile.PASS])
+
   def DownloadData(self):
     revision = TEST_262_ARCHIVE_REVISION
     archive_url = TEST_262_URL % revision
Index: tools/testrunner/local/statusfile.py
diff --git a/tools/testrunner/local/statusfile.py b/tools/testrunner/local/statusfile.py index a89732cc1414f9105bf7aa99a527ec44d8510cd2..d1fab2deaea18e69dc13f5320f00d07a176fb8b9 100644
--- a/tools/testrunner/local/statusfile.py
+++ b/tools/testrunner/local/statusfile.py
@@ -40,12 +40,13 @@ NO_VARIANTS = "NO_VARIANTS"
 # These are just for the status files and are mapped below in DEFS:
 FAIL_OK = "FAIL_OK"
 PASS_OR_FAIL = "PASS_OR_FAIL"
+FAIL_SLOPPY = "FAIL_SLOPPY"

 ALWAYS = "ALWAYS"

 KEYWORDS = {}
 for key in [SKIP, FAIL, PASS, OKAY, TIMEOUT, CRASH, SLOW, FLAKY, FAIL_OK,
-            FAST_VARIANTS, NO_VARIANTS, PASS_OR_FAIL, ALWAYS]:
+            FAST_VARIANTS, NO_VARIANTS, PASS_OR_FAIL, FAIL_SLOPPY, ALWAYS]:
   KEYWORDS[key] = key

 DEFS = {FAIL_OK: [FAIL, OKAY],


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to