commit 98f4651d1bb3640e5f367630ea51ef799084b86a
parent 36927b24f4e6a26cb1e0a66521449d1c78aeca89
Author: André Bargull <andre.bargull@gmail.com>
Date: Mon, 10 Nov 2025 14:43:04 +0000
Bug 1998694 - Part 1: Remove feature checks and shell options no longer needed. r=spidermonkey-reviewers,mgaudet
Features were shipped in:
- FinalizationRegistry -> bug 1851084
- Iterator Helpers -> bug 1910717
- RegExp.escape -> bug 1949191
- WeakRef -> bug 1851084
- Intl.DurationFormat -> bug 1933303
- Intl.Segmenter -> bug 1883914 and bug 1960026
Also added/updated links to bug to remove other prefs or the meta bug when
there's not already a bug filed to remove a preference.
Removed shell options for which features which are enabled by default.
Differential Revision: https://phabricator.services.mozilla.com/D271592
Diffstat:
1 file changed, 17 insertions(+), 26 deletions(-)
diff --git a/js/src/tests/test262-update.py b/js/src/tests/test262-update.py
@@ -22,45 +22,30 @@ UNSUPPORTED_FEATURES = set(
"source-phase-imports",
"source-phase-imports-module-source",
"import-defer",
+ "nonextensible-applies-to-private", # Bug 1991478
]
)
FEATURE_CHECK_NEEDED = {
"Atomics": "!this.hasOwnProperty('Atomics')",
- "FinalizationRegistry": "!this.hasOwnProperty('FinalizationRegistry')",
"SharedArrayBuffer": "!this.hasOwnProperty('SharedArrayBuffer')",
"Temporal": "!this.hasOwnProperty('Temporal')",
- "WeakRef": "!this.hasOwnProperty('WeakRef')",
"decorators": "!(this.hasOwnProperty('getBuildConfiguration')&&getBuildConfiguration('decorators'))", # Bug 1435869
- "iterator-helpers": "!this.hasOwnProperty('Iterator')", # Bug 1568906
- "Intl.Segmenter": "!Intl.Segmenter", # Bug 1423593
- "Intl.DurationFormat": "!Intl.hasOwnProperty('DurationFormat')", # Bug 1648139
- "uint8array-base64": "!Uint8Array.fromBase64", # Bug 1862220
- "RegExp.escape": "!RegExp.escape",
+ "uint8array-base64": "!Uint8Array.fromBase64", # Bug 1985120
"explicit-resource-management": "!(this.hasOwnProperty('getBuildConfiguration')&&getBuildConfiguration('explicit-resource-management'))", # Bug 1569081
- "Atomics.pause": "!this.hasOwnProperty('Atomics')||!Atomics.pause",
- "Error.isError": "!Error.isError",
- "iterator-sequencing": "!Iterator.concat",
- "Math.sumPrecise": "!Math.sumPrecise", # Bug 1918708
- "upsert": "!Map.prototype.getOrInsertComputed",
- "immutable-arraybuffer": "!ArrayBuffer.prototype.sliceToImmutable",
+ "Atomics.pause": "!this.hasOwnProperty('Atomics')||!Atomics.pause", # Bug 1918717
+ "Error.isError": "!Error.isError", # Bug 1923733
+ "iterator-sequencing": "!Iterator.concat", # Bug 1923732
+ "Math.sumPrecise": "!Math.sumPrecise", # Bug 1985121
+ "upsert": "!Map.prototype.getOrInsertComputed", # Bug 1986668
+ "immutable-arraybuffer": "!ArrayBuffer.prototype.sliceToImmutable", # Bug 1952253
}
RELEASE_OR_BETA = set()
SHELL_OPTIONS = {
"ShadowRealm": "--enable-shadow-realms",
- "iterator-helpers": "--enable-iterator-helpers",
"symbols-as-weakmap-keys": "--enable-symbols-as-weakmap-keys",
- "uint8array-base64": "--enable-uint8array-base64",
- "regexp-duplicate-named-groups": "--enable-regexp-duplicate-named-groups",
- "RegExp.escape": "--enable-regexp-escape",
- "regexp-modifiers": "--enable-regexp-modifiers",
"explicit-resource-management": "--enable-explicit-resource-management",
- "Atomics.pause": "--enable-atomics-pause",
- "Temporal": "--enable-temporal",
- "Error.isError": "--enable-error-iserror",
"iterator-sequencing": "--enable-iterator-sequencing",
- "Math.sumPrecise": "--enable-math-sumprecise",
"Atomics.waitAsync": "--setpref=atomics_wait_async",
- "upsert": "--enable-upsert",
"immutable-arraybuffer": "--enable-arraybuffer-immutable",
}
@@ -312,9 +297,15 @@ def convertTestFile(test262parser, testSource, testName, includeSet, strictTests
# Test262 tests cannot be both "negative" and "async". (In principle a
# negative async test is permitted when the error phase is not "parse" or
# the error type is not SyntaxError, but no such tests exist now.)
- assert not (isNegative and isAsync), (
- "Can't have both async and negative attributes: %s" % testName
- )
+ # assert not (isNegative and isAsync), (
+ # "Can't have both async and negative attributes: %s" % testName
+ # )
+ # TODO: Print a warning instead of asserting until
+ # <https://github.com/tc39/test262/issues/4638> is fixed.
+ if isNegative and isAsync:
+ print(
+ f"bad isnegative + async: {testName} (https://github.com/tc39/test262/issues/4638)"
+ )
# Only async tests may use the $DONE or asyncTest function. However,
# negative parse tests may "use" the $DONE (or asyncTest) function (of