Skip to content

Commit 2ffd7b8

Browse files
committed
test(test262): admit dynamic import new targets
1 parent e9f1455 commit 2ffd7b8

15 files changed

Lines changed: 1655 additions & 87 deletions

.github/workflows/ci.yml

Lines changed: 432 additions & 0 deletions
Large diffs are not rendered by default.

compat/test262-oxide.conf

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,6 +1435,27 @@ test/language/expressions/dynamic-import/syntax/invalid/invalid-assignmenttarget
14351435
test/language/expressions/dynamic-import/syntax/invalid/invalid-assignmenttargettype-syntax-error-7-lhs-assignment-operator-assignment-expression.js
14361436
test/language/expressions/dynamic-import/syntax/invalid/invalid-assignmenttargettype-syntax-error-8-lhs-assignment-operator-assignment-expression.js
14371437
test/language/expressions/dynamic-import/syntax/invalid/invalid-assignmenttargettype-syntax-error-9-lhs-assignment-operator-assignment-expression.js
1438+
test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-no-new-call-expression.js
1439+
test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-no-new-call-expression.js
1440+
test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-no-new-call-expression.js
1441+
test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-no-new-call-expression.js
1442+
test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-no-new-call-expression.js
1443+
test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-no-new-call-expression.js
1444+
test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-no-new-call-expression.js
1445+
test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-no-new-call-expression.js
1446+
test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-no-new-call-expression.js
1447+
test/language/expressions/dynamic-import/syntax/invalid/nested-block-no-new-call-expression.js
1448+
test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-no-new-call-expression.js
1449+
test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-no-new-call-expression.js
1450+
test/language/expressions/dynamic-import/syntax/invalid/nested-else-no-new-call-expression.js
1451+
test/language/expressions/dynamic-import/syntax/invalid/nested-function-no-new-call-expression.js
1452+
test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-no-new-call-expression.js
1453+
test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-no-new-call-expression.js
1454+
test/language/expressions/dynamic-import/syntax/invalid/nested-if-no-new-call-expression.js
1455+
test/language/expressions/dynamic-import/syntax/invalid/nested-while-no-new-call-expression.js
1456+
test/language/expressions/dynamic-import/syntax/invalid/nested-with-expression-no-new-call-expression.js
1457+
test/language/expressions/dynamic-import/syntax/invalid/nested-with-no-new-call-expression.js
1458+
test/language/expressions/dynamic-import/syntax/invalid/top-level-no-new-call-expression.js
14381459
test/language/expressions/function/array-destructuring-param-strict-body.js
14391460
test/language/expressions/function/dflt-params-duplicates.js
14401461
test/language/expressions/function/dflt-params-rest.js

compat/upstream.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ config_sha256 = "79c64748ff1182baf5433d0a8378e3666738a785d02faf71f0d459ed42ae897
1919
test_count = 53125
2020
metadata_records_sha256 = "a37219960819e56a5c5c1723d31d6a33095c778bf5347385187fde96f927a06a"
2121
oxide_profile = "compat/test262-oxide.conf"
22-
oxide_profile_sha256 = "f9a7dd734c38ca3934b4df8ba9dfd0f5478f62881314e382bee5b6b128c0d25d"
22+
oxide_profile_sha256 = "4646cc0fda22a4f0934f5e10a3a797ed111e24c78c26eba564cacdc6b133ca92"
2323
expected_errors = "test262_errors.txt"
2424

2525
[test262_es5]

dev-support/test262/README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,17 @@ dynamic-import Script-goal graphs, dependency-free module roots, `$262.agent`
1919
host paths, and supplemental feature contracts. Its strict 16-column TSV
2020
schema records source hashes, complete metadata shapes, graph edges and closure
2121
sizes, lookup priority, execution goal, and host cohort policy. Every
22-
`dynamic-import-root` also declares its initial bytecode expectation: an
23-
`initial-import-tree` must already contain the authenticated import opcode,
24-
while `runtime-compiled-import` authorizes a later runtime compilation and
25-
requires the initial tree not to contain it. A missing or unknown policy fails
26-
closed. Both coordinator and isolated worker parse and authenticate the same
27-
file; malformed, unsorted, duplicate, open-graph, mixed-goal, or
28-
checksum-drifted data fails closed. The cohort generators emit `--admissions`
29-
rows and compare their owned group against this file in normal check mode.
22+
`dynamic-import-root` also declares a closed root policy. An
23+
`initial-import-tree` must already contain the authenticated import opcode;
24+
`runtime-compiled-import` authorizes a later runtime compilation and requires
25+
the initial tree not to contain it; `parse-rejected` admits only an exact,
26+
request-free, one-file `negative=parse/SyntaxError` root and hard-fails if it
27+
reaches bytecode publication. Parse-negative roots cannot claim either
28+
bytecode policy. A missing or unknown policy fails closed. Both coordinator and
29+
isolated worker parse and authenticate the same file; malformed, unsorted,
30+
duplicate, open-graph, mixed-goal, or checksum-drifted data fails closed. The
31+
cohort generators emit `--admissions` rows and compare their owned group
32+
against this file in normal check mode.
3033

3134
`negative-diagnostics.tsv` is a strict, source-authenticated overlay for
3235
negative variants whose QuickJS failure reason and location are part of the

0 commit comments

Comments
 (0)