Skip to content

test262 built-ins tails — 827 fails (95.5%): RegExp/Object/Array/Promise/Function/String/Proxy #5347

Closed

Description

@proggeramlug

Honest re-measure: built-ins = 17,473/18,300 = 95.5%, 827 fails spread across method tails (each its own cluster).

By constructor

RegExp 115 · Temporal 106 (self-validate) · Object 78 · Array 72 · Promise 61 · Function 55 · String 49 · Proxy 33 · (others)

Reasons

  • 84× Expected a TypeError (missed argument-validation negatives across builtins)
  • 83× (no output) — likely silent wrong-result or early exit; needs per-case look
  • 45× value is not a function (missing methods)
  • 19× async-test failures, 15× Expected a Test262Error

Notes

  • RegExp 115 includes the property-escapes tail (~80, measured 87%) + others; regexp-v-flag is not yet measured/implemented.
  • This is an umbrella tracker — split into per-constructor work as picked up. Lower priority than intl402/class/annexB (already 95.5%).

Measure: scripts/test262_subset.py --dir built-ins (node v26).

Activity

  1. proggeramlug commented on Jun 18, 2026

    @proggeramlug
    ContributorAuthor

    Status update (2026-06-18)

    Progress on the built-ins tails since this was filed:

    These chip the Expected a TypeError 84 (missed-negatives) and Object/Array/Function/Reflect clusters.

    Remaining (umbrella), unchanged:

    • RegExp 115 — property-escapes tail (~80) + regexp-v-flag (not yet measured/implemented)
    • Temporal 106 (self-validate)
    • Object / Array / Promise / Function / String / Proxy method tails
    • the (no output) 83 cluster — needs per-case look (silent wrong-result / early exit)

    This is an umbrella tracker (95.5%); keeping it open and splitting per-constructor work as picked up. Authoritative numbers from scripts/test262_subset.py --dir built-ins.

  2. proggeramlug commented on Jun 21, 2026

    @proggeramlug
    ContributorAuthor

    Status update (2026-06-21)

    • fix(string): #5347 — substr coerces args via ToIntegerOrInfinity #5523 merged — String.prototype.substr now coerces both args via ToIntegerOrInfinity (ECMA-262 Annex B.2.3.1) instead of a raw fptosi on the NaN-box. Fixes the missed valueOf/Symbol negatives (length-to-int-err, start-to-int-err) and the silent wrong-results (length-falsey, length-undef, start-and-length-as-numbers).

    annexB/built-ins/String/prototype/substr: 8 → 13 of 14 pass. The lone remaining surrogate-pairs case needs lone-surrogate / WTF-8 support (the known categorical gap), so it stays out of scope here. Chips the String tail + the Expected a TypeError missed-negatives cluster.

    Umbrella stays open; remaining per-constructor tails (RegExp / Temporal / Object / Array / Promise / Function / Proxy + the (no output) cluster) unchanged.

  3. added 2 commits that reference this issue on Jun 22, 2026
  4. proggeramlug commented on Jun 23, 2026

    @proggeramlug
    ContributorAuthor

    Re-measured 2026-06-23 on an internal Linux sweep host (perry 0.5.1204): built-ins persistent standing gap 805 (regression #5579 excluded). Closing this umbrella in favor of concrete per-constructor tickets:

    Cross-cutting reason clusters map to existing tickets: missed arg-validation TypeErrors → #3146; missed-negatives → #3570/#3571; Object boxing → #3986.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions