Reviewers: Jakob,

Description:
Make it possible to run a test only in the standard variant.

Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.

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

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+14, -8 lines):
  M test/benchmarks/testcfg.py
  M test/mjsunit/mjsunit.status
  M test/preparser/testcfg.py
  M tools/run-tests.py
  M tools/testrunner/local/statusfile.py
  M tools/testrunner/local/testsuite.py


Index: test/benchmarks/testcfg.py
diff --git a/test/benchmarks/testcfg.py b/test/benchmarks/testcfg.py
index 5fb3f51c7566148fd5f02c6ac973fb10e53e6fa0..b15553a8614a6d8b88856a1524cb1bcae8bd1c0b 100644
--- a/test/benchmarks/testcfg.py
+++ b/test/benchmarks/testcfg.py
@@ -172,7 +172,7 @@ class BenchmarksTestSuite(testsuite.TestSuite):

     os.chdir(old_cwd)

-  def VariantFlags(self):
+  def VariantFlags(self, testcase, default_flags):
     # Both --nocrankshaft and --stressopt are very slow.
     return [[]]

Index: test/mjsunit/mjsunit.status
diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status
index ec780e55c7ea04733df025a4f290299946fb4497..19163a228f2485a39f1e1f326fc9f800229b046d 100644
--- a/test/mjsunit/mjsunit.status
+++ b/test/mjsunit/mjsunit.status
@@ -66,7 +66,7 @@
   'array-constructor': [PASS, TIMEOUT],

   # Very slow on ARM and MIPS, contains no architecture dependent code.
- 'unicode-case-overoptimization': [PASS, ['arch == arm or arch == android_arm or arch == mipsel', TIMEOUT]], + 'unicode-case-overoptimization': [PASS, ONLY_STANDARD_VARIANT, ['arch == arm or arch == android_arm or arch == mipsel', TIMEOUT]],

############################################################################## # This test expects to reach a certain recursion depth, which may not work
Index: test/preparser/testcfg.py
diff --git a/test/preparser/testcfg.py b/test/preparser/testcfg.py
index 3e999f906cd2296f35be6571d04a09252e791113..850c0a45898591dfc4017fd8bf6defbc0b61f12f 100644
--- a/test/preparser/testcfg.py
+++ b/test/preparser/testcfg.py
@@ -112,7 +112,7 @@ class PreparserTestSuite(testsuite.TestSuite):
     with open(testcase.flags[0]) as f:
       return f.read()

-  def VariantFlags(self):
+  def VariantFlags(self, testcase, default_flags):
     return [[]];


Index: tools/run-tests.py
diff --git a/tools/run-tests.py b/tools/run-tests.py
index 947e38c6e14631de8ba59112fc42812593cfe307..2d94da5a0c28a619c093686871f5d8887ed8d565 100755
--- a/tools/run-tests.py
+++ b/tools/run-tests.py
@@ -332,8 +332,7 @@ def Execute(arch, mode, args, options, suites, workspace):
     if options.cat:
       verbose.PrintTestSource(s.tests)
       continue
-    variant_flags = s.VariantFlags() or VARIANT_FLAGS
- s.tests = [ t.CopyAddingFlags(v) for t in s.tests for v in variant_flags ] + s.tests = [ t.CopyAddingFlags(v) for t in s.tests for v in s.VariantFlags(t, VARIANT_FLAGS) ]
     s.tests = ShardTests(s.tests, options.shard_count, options.shard_run)
     num_tests += len(s.tests)
     for t in s.tests:
Index: tools/testrunner/local/statusfile.py
diff --git a/tools/testrunner/local/statusfile.py b/tools/testrunner/local/statusfile.py index cc1e52461538bec40f0656350365d4a171b7b0e4..7a57ec35df15b3f659d1aaacadc8b08aa0138438 100644
--- a/tools/testrunner/local/statusfile.py
+++ b/tools/testrunner/local/statusfile.py
@@ -35,6 +35,7 @@ TIMEOUT = "TIMEOUT"
 CRASH = "CRASH"
 SLOW = "SLOW"
 FLAKY = "FLAKY"
+ONLY_STANDARD_VARIANT = "ONLY_STANDARD_VARIANT"
 # These are just for the status files and are mapped below in DEFS:
 FAIL_OK = "FAIL_OK"
 PASS_OR_FAIL = "PASS_OR_FAIL"
@@ -43,7 +44,7 @@ ALWAYS = "ALWAYS"

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

 DEFS = {FAIL_OK: [FAIL, OKAY],
@@ -60,6 +61,10 @@ def DoSkip(outcomes):
   return SKIP in outcomes or SLOW in outcomes


+def OnlyStandardVariant(outcomes):
+  return ONLY_STANDARD_VARIANT in outcomes
+
+
 def IsFlaky(outcomes):
   return FLAKY in outcomes

Index: tools/testrunner/local/testsuite.py
diff --git a/tools/testrunner/local/testsuite.py b/tools/testrunner/local/testsuite.py index b0372e7f7399a8842628e1387855c663f74812fa..8517ce9f493eafb2e0536996b3bd0f66a8391450 100644
--- a/tools/testrunner/local/testsuite.py
+++ b/tools/testrunner/local/testsuite.py
@@ -74,8 +74,10 @@ class TestSuite(object):
   def ListTests(self, context):
     raise NotImplementedError

-  def VariantFlags(self):
-    return None
+  def VariantFlags(self, testcase, default_flags):
+ if testcase.outcomes and statusfile.OnlyStandardVariant(testcase.outcomes):
+      return [[]]
+    return default_flags

   def DownloadData(self):
     pass


--
--
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/groups/opt_out.

Reply via email to