Author: [EMAIL PROTECTED]
Date: Wed Dec  3 02:21:50 2008
New Revision: 905

Added:
    branches/bleeding_edge/test/mozilla/mozilla-shell-emulation.js
Modified:
    branches/bleeding_edge/test/mozilla/mozilla.status
    branches/bleeding_edge/test/mozilla/testcfg.py

Log:
Removed lots of new mozilla tests depending on "options" function.
Options is used to exclude tests when running jit.


Added: branches/bleeding_edge/test/mozilla/mozilla-shell-emulation.js
==============================================================================
--- (empty file)
+++ branches/bleeding_edge/test/mozilla/mozilla-shell-emulation.js      Wed Dec 
  
3 02:21:50 2008
@@ -0,0 +1,37 @@
+// Copyright 2006-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.
+
+// Sets up fake implementations of MDC built-in objects and functions
+// necessary to run the tests in V8.
+
+// Options are generally ignored (not set, if anybody asks).
+
+function options(aOptionName) {
+  // Returns comma-separated list of options set.
+  // Toggles the option if a name is given.
+  return "";  // Default implementation is always false.
+}

Modified: branches/bleeding_edge/test/mozilla/mozilla.status
==============================================================================
--- branches/bleeding_edge/test/mozilla/mozilla.status  (original)
+++ branches/bleeding_edge/test/mozilla/mozilla.status  Wed Dec  3 02:21:50  
2008
@@ -178,8 +178,8 @@

  ##################### INCOMPATIBLE TESTS #####################

-# This section is for tests that fail in both V8 and KJS.  Thus they
-# have been determined to be incompatible between Mozilla and V8/KJS.
+# This section is for tests that fail in both V8 and JSC.  Thus they
+# have been determined to be incompatible between Mozilla and V8/JSC.

  # Fail because of toLowerCase and toUpperCase conversion.
  ecma/String/15.5.4.11-2: FAIL_OK
@@ -207,14 +207,21 @@
  # Length of objects whose prototype chain includes a function
  ecma_3/Function/regress-313570: FAIL_OK

+# toPrecision argument restricted to range 1..21 in JSC/V8
+js1_5/Regress/regress-452346: FAIL_OK
+
+# Array.prototype.slice with zero arguments return undefined in JSC/V8,
+# empty array in Spider/TraceMonkey.
+js1_5/Array/regress-451483: FAIL_OK
+

  #:=== RegExp:===
-# To be compatible with KJS we silently ignore flags that do not make
+# To be compatible with JSC we silently ignore flags that do not make
  # sense.  This test expects us to throw exceptions.
  ecma_3/RegExp/regress-57631: FAIL_OK

  # PCRE doesn't allow subpattern nesting deeper than 200, this tests
-# depth 500.  KJS detects the case, and return null from the match,
+# depth 500.  JSC detects the case, and return null from the match,
  # and passes this test (the test doesn't check for a correct return
  # value).
  ecma_3/RegExp/regress-119909: PASS || FAIL_OK
@@ -222,16 +229,17 @@

  # Difference in the way capturing subpatterns work.  In JS, when the
  # 'minimum repeat count' is reached, the empty string must not match.
-# In this case, we are similar but not identical to KJS.  Hard to
-# support the JS behavior with PCRE, so maybe emulate KJS?
+# In this case, we are similar but not identical to JSC.  Hard to
+# support the JS behavior with PCRE, so maybe emulate JSC?
  #
  # Note: We do not support toSource currently so we cannot run this
  # test. We should make an isolated test case for the regexp issue.
  ecma_3/RegExp/regress-209919: FAIL_OK
+js1_5/extensions/regress-459606: FAIL_OK


  # PCRE's match limit is reached.  SpiderMonkey hangs on the first one,
-# KJS returns true somehow.  Maybe they up the match limit?  There is
+# JSC returns true somehow.  Maybe they up the match limit?  There is
  # an open V8 bug 676063 about this.
  ecma_3/RegExp/regress-330684: FAIL_OK

@@ -271,13 +279,17 @@
  # Date trouble?
  js1_5/Date/regress-301738-02: FAIL_OK

+# Semi-arbitrary limits in Date parser (date or month of 70+ is an error,
+# so that only one field can be interpreted as a year). We follow JSC  
instead.
+ecma_3/Date/15.9.3.2-1: FAIL_OK
+

  # This test fails for all browsers on in the CET timezone.
  ecma/Date/15.9.5.35-1: PASS || FAIL_OK


  # Spidermonkey allows stuff in parenthesis directly after the minutes
-# in a date.  KJS does not, so we don't either.
+# in a date.  JSC does not, so we don't either.
  js1_5/Date/regress-309925-02: FAIL_OK


@@ -345,10 +357,28 @@
  js1_5/Regress/regress-422348: FAIL_OK
  js1_5/Regress/regress-410852: FAIL_OK
  ecma_3/RegExp/regress-375715-04: FAIL_OK
+js1_5/decompilation/regress-456964-01: FAIL_OK
+js1_5/decompilation/regress-437288-02: FAIL_OK
+js1_5/decompilation/regress-457824: FAIL_OK
+js1_5/decompilation/regress-460116-01: FAIL_OK
+js1_5/decompilation/regress-460116-02: FAIL_OK
+js1_5/decompilation/regress-460501: FAIL_OK
+js1_5/decompilation/regress-460116-03: FAIL_OK
+js1_5/decompilation/regress-461110: FAIL_OK
+js1_5/decompilation/regress-456964-01: FAIL_OK
+js1_5/decompilation/regress-437288-02: FAIL_OK
+js1_5/decompilation/regress-457824: FAIL_OK
+js1_5/decompilation/regress-460116-01: FAIL_OK
+js1_5/decompilation/regress-460116-02: FAIL_OK
+js1_5/decompilation/regress-460116-03: FAIL_OK
+js1_5/decompilation/regress-460501: FAIL_OK
+js1_5/decompilation/regress-461110: FAIL_OK
+


  # Tests that use uneval.  Non-ECMA.
  js1_5/GC/regress-418128: FAIL_OK
+js1_5/extensions/regress-465276: FAIL_OK


  # Tests that use __count__.  Non-ECMA.
@@ -357,6 +387,7 @@

  # Tests that use the watch method.  Non-ECMA.
  js1_5/extensions/regress-435345-01: FAIL_OK
+js1_5/extensions/regress-455413: FAIL_OK


  # The spec specifies reverse evaluation order for < and >=.
@@ -405,6 +436,7 @@
  js1_5/Regress/regress-361617: FAIL_OK
  js1_5/Regress/regress-362583: FAIL_OK
  js1_5/extensions/regress-356378: FAIL_OK
+js1_5/extensions/regress-452178: FAIL_OK


  # 'native' *is* a keyword in V8.
@@ -418,14 +450,6 @@
  js1_5/Regress/regress-317533: FAIL_OK
  js1_5/Regress/regress-323314-1: FAIL_OK
  js1_5/Regress/regress-352197: FAIL_OK
-js1_5/Regress/regress-115436: FAIL_OK
-js1_5/Regress/regress-214761: FAIL_OK
-js1_5/Regress/regress-253150: FAIL_OK
-js1_5/Regress/regress-306727: FAIL_OK
-js1_5/Regress/regress-308566: FAIL_OK
-js1_5/Regress/regress-312260: FAIL_OK
-js1_5/Regress/regress-322430: FAIL_OK
-js1_5/Regress/regress-383674: FAIL_OK


  # Equivalent to assert(false).
@@ -434,14 +458,14 @@


  # We do not strip unicode format control characters. This is really
-# required for working with non-latin character sets.  We match KJS
+# required for working with non-latin character sets.  We match JSC
  # and IE here.  Firefox matches the spec (section 7.1).
  ecma_3/Unicode/uc-001: FAIL_OK


  # A non-breaking space doesn't match \s in a regular expression.  This  
behaviour
-# matches KJS.  All the VMs have different behaviours in which characters  
match
-# \s so we do the same as KJS until they change.
+# matches JSC.  All the VMs have different behaviours in which characters  
match
+# \s so we do the same as JSC until they change.
  ecma_3/Unicode/uc-002: FAIL_OK


@@ -468,6 +492,8 @@
  js1_5/Regress/regress-249211: FAIL_OK
  js1_5/Regress/regress-309242: FAIL_OK
  js1_5/Regress/regress-350692: FAIL_OK
+js1_5/extensions/regress-421621: FAIL_OK
+js1_5/extensions/regress-432075: FAIL_OK


  # The length of Error functions is 1 not 3.
@@ -488,7 +514,7 @@
  js1_5/Regress/regress-336100: FAIL_OK


-# Regular expression test failures due to PCRE. We match KJS (ie, perl)
+# Regular expression test failures due to PCRE. We match JSC (ie, perl)
  # behavior and not the ECMA spec.
  ecma_3/RegExp/15.10.2-1: FAIL_OK
  ecma_3/RegExp/perlstress-001: FAIL_OK
@@ -501,7 +527,7 @@


  # Fails because of the way function declarations are
-# handled in V8/KJS. V8 follows IE behavior and introduce
+# handled in V8/JSC. V8 follows IE behavior and introduce
  # all nested function declarations when entering the
  # surrounding function, whereas Spidermonkey declares
  # them dynamically when the statement is executed.
@@ -510,7 +536,7 @@
  js1_5/Scope/regress-184107: FAIL_OK


-# Function is deletable in V8 and KJS.
+# Function is deletable in V8 and JSC.
  js1_5/Regress/regress-352604: FAIL_OK


@@ -521,8 +547,8 @@

  ##################### FAILING TESTS #####################

-# This section is for tests that fail in V8 and pass in KJS.
-# Tests that fail in both V8 and KJS belong in the FAIL_OK
+# This section is for tests that fail in V8 and pass in JSC.
+# Tests that fail in both V8 and JSC belong in the FAIL_OK
  # category.

  # This fails because we don't handle Function.prototype.apply with very  
large
@@ -552,6 +578,7 @@

  # Relies on JavaScript 1.2 / 1.3 deprecated features.
  js1_2/function/regexparg-1: FAIL
+js1_2/function/Number: FAIL


  # 'export' and 'import' are not keywords in V8.

Modified: branches/bleeding_edge/test/mozilla/testcfg.py
==============================================================================
--- branches/bleeding_edge/test/mozilla/testcfg.py      (original)
+++ branches/bleeding_edge/test/mozilla/testcfg.py      Wed Dec  3 02:21:50 2008
@@ -56,11 +56,12 @@

  class MozillaTestCase(test.TestCase):

-  def __init__(self, filename, path, context, mode, framework):
+  def __init__(self, filename, path, context, root, mode, framework):
      super(MozillaTestCase, self).__init__(context, path)
      self.filename = filename
      self.mode = mode
      self.framework = framework
+    self.root = root

    def IsNegative(self):
      return self.filename.endswith('-n.js')
@@ -74,7 +75,8 @@
      return 'FAILED!' in output.stdout

    def GetCommand(self):
-    result = [self.context.GetVm(self.mode), '--expose-gc']
+    result = [self.context.GetVm(self.mode), '--expose-gc',
+              join(self.root, 'mozilla-shell-emulation.js')]
      result += self.framework
      result.append(self.filename)
      return result
@@ -117,7 +119,7 @@
              full_path = [x for x in full_path if x != 'data']
              if self.Contains(path, full_path):
                test = MozillaTestCase(join(root, file), full_path,  
self.context,
-                                     mode, framework)
+                                     self.root, mode, framework)
                tests.append(test)
      return tests


--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to