зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1545038 - Add an ignore-flag directive to jsreftest harness to allow running tests that pass without --more-compartments. r=jorendorff
The cross-compartment case is still buggy but this at least ensures we don't regress the correct same-compartment behavior. Differential Revision: https://phabricator.services.mozilla.com/D36740 --HG-- extra : source : 109f0deb14a403dd46a19c962e68ed66059e0b43
This commit is contained in:
Родитель
92df4c2ad8
Коммит
b00bf3c8df
|
@ -267,36 +267,37 @@ skip script test262/language/expressions/prefix-increment/S11.4.4_A6_T2.js
|
|||
skip script test262/built-ins/Number/prototype/toExponential/return-values.js
|
||||
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1225839
|
||||
skip script test262/built-ins/Function/internals/Call/class-ctor-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Function/internals/Call/class-ctor-realm.js
|
||||
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1297179
|
||||
skip script test262/built-ins/Proxy/apply/arguments-realm.js
|
||||
skip script test262/built-ins/Proxy/apply/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/arguments-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/desc-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/null-handler-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js
|
||||
skip script test262/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/get/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js
|
||||
skip script test262/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/has/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js
|
||||
skip script test262/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/set/trap-is-not-callable-realm.js
|
||||
skip script test262/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js
|
||||
# All of these tests pass except with --more-compartments.
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/apply/arguments-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/apply/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/arguments-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/desc-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/null-handler-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/get/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/has/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/set/trap-is-not-callable-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js
|
||||
|
||||
# Errors thrown from wrong realm, similar to 1225839, 1288457, and 1297179.
|
||||
skip script test262/built-ins/Array/length/define-own-prop-length-overflow-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Array/length/define-own-prop-length-overflow-realm.js
|
||||
skip script test262/built-ins/Function/internals/Construct/derived-return-val-realm.js
|
||||
skip script test262/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js
|
||||
|
||||
|
@ -398,35 +399,36 @@ skip script test262/annexB/built-ins/Function/createdynfn-no-line-terminator-htm
|
|||
skip script test262/annexB/language/function-code/block-decl-nested-blocks-with-fun-decl.js
|
||||
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1508683
|
||||
skip script test262/built-ins/RegExp/prototype/multiline/cross-realm.js
|
||||
skip script test262/built-ins/RegExp/prototype/global/cross-realm.js
|
||||
skip script test262/built-ins/RegExp/prototype/sticky/cross-realm.js
|
||||
skip script test262/built-ins/RegExp/prototype/ignoreCase/cross-realm.js
|
||||
skip script test262/built-ins/RegExp/prototype/unicode/cross-realm.js
|
||||
skip script test262/built-ins/RegExp/prototype/source/cross-realm.js
|
||||
# All of these tests pass except with --more-compartments.
|
||||
ignore-flag(--more-compartments) script test262/built-ins/RegExp/prototype/multiline/cross-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/RegExp/prototype/global/cross-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/RegExp/prototype/sticky/cross-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/RegExp/prototype/ignoreCase/cross-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/RegExp/prototype/unicode/cross-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/RegExp/prototype/source/cross-realm.js
|
||||
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1545038
|
||||
# All of these tests pass except with --more-compartments.
|
||||
skip script test262/built-ins/String/prototype/valueOf/non-generic-realm.js
|
||||
skip script test262/built-ins/String/prototype/valueOf/non-generic-realm.js
|
||||
skip script test262/built-ins/String/prototype/toString/non-generic-realm.js
|
||||
skip script test262/built-ins/String/prototype/toString/non-generic-realm.js
|
||||
skip script test262/built-ins/Proxy/apply/null-handler-realm.js
|
||||
skip script test262/built-ins/Proxy/apply/null-handler-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-number-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-number-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/null-handler-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/null-handler-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-undefined-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-undefined-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-symbol-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-symbol-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-string-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-string-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-null-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-null-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-boolean-realm.js
|
||||
skip script test262/built-ins/Proxy/construct/return-not-object-throws-boolean-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/String/prototype/valueOf/non-generic-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/String/prototype/valueOf/non-generic-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/String/prototype/toString/non-generic-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/String/prototype/toString/non-generic-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/apply/null-handler-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/apply/null-handler-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-number-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-number-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/null-handler-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/null-handler-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-undefined-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-undefined-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-symbol-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-symbol-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-string-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-string-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-null-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-null-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-boolean-realm.js
|
||||
ignore-flag(--more-compartments) script test262/built-ins/Proxy/construct/return-not-object-throws-boolean-realm.js
|
||||
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1560355
|
||||
skip script test262/intl402/DateTimeFormat/numbering-system-calendar-options.js
|
||||
|
|
|
@ -154,6 +154,10 @@ def _parse_one(testcase, terms, xul_tester):
|
|||
if xul_tester.test(cond):
|
||||
testcase.expect = testcase.enable = False
|
||||
pos += 1
|
||||
elif parts[pos].startswith('ignore-flag'):
|
||||
flag = parts[pos][len('ignore-flag('):-1]
|
||||
testcase.ignoredflags.append(flag)
|
||||
pos += 1
|
||||
elif parts[pos].startswith('random-if'):
|
||||
cond = parts[pos][len('random-if('):-1]
|
||||
if xul_tester.test(cond):
|
||||
|
@ -199,7 +203,8 @@ def _build_manifest_script_entry(script_name, test):
|
|||
terms = " ".join([term for term in test.terms.split()
|
||||
if not (term == "module" or
|
||||
term == "async" or
|
||||
term.startswith("error:"))])
|
||||
term.startswith("error:") or
|
||||
term.startswith("ignore-flag("))])
|
||||
if terms:
|
||||
line.append(terms)
|
||||
if test.error:
|
||||
|
|
|
@ -168,6 +168,8 @@ class RefTestCase(object):
|
|||
self.options = []
|
||||
# [str]: JIT flags to pass to the shell
|
||||
self.jitflags = []
|
||||
# [str]: flags to never pass to the shell for this test
|
||||
self.ignoredflags = []
|
||||
# str or None: path to reflect-stringify.js file to test
|
||||
# instead of actually running tests
|
||||
self.test_reflect_stringify = None
|
||||
|
@ -229,6 +231,9 @@ class RefTestCase(object):
|
|||
cmd += ["--module", self.abs_path()]
|
||||
else:
|
||||
cmd += ["-f", self.abs_path()]
|
||||
for flag in self.ignoredflags:
|
||||
if flag in cmd:
|
||||
cmd.remove(flag)
|
||||
return cmd
|
||||
|
||||
def __str__(self):
|
||||
|
|
Загрузка…
Ссылка в новой задаче