From b25ff2be6418b755762a846ede6a2daa3e128f01 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Tue, 9 Jun 2026 10:16:36 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=20test262=20?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_test262/src/main.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/crates/oxide_test262/src/main.rs b/crates/oxide_test262/src/main.rs index c9b09dfa..4d7113b4 100644 --- a/crates/oxide_test262/src/main.rs +++ b/crates/oxide_test262/src/main.rs @@ -114,15 +114,13 @@ fn is_skipped(meta: &TestMeta) -> Option { "module" => return Some("module tests excluded".into()), "async" => return Some("async tests excluded".into()), "raw" => return Some("raw tests excluded".into()), - "onlyStrict" => return Some("strict-only excluded".into()), _ => {} } } + // Keep broad implemented feature tags runnable; exclude only unsupported subfeatures. let excluded_features = [ "Proxy", - "Symbol", - "Symbol.match", "BigInt", "generators", "generator", @@ -130,11 +128,8 @@ fn is_skipped(meta: &TestMeta) -> Option { "default-parameters", "destructuring-binding", "destructuring", - "arrow-function", "rest-parameters", "spread", - "class", - "super", "WeakMap", "WeakSet", "WeakRef", @@ -161,6 +156,13 @@ fn is_skipped(meta: &TestMeta) -> Option { "well-formed-json-stringify", "optional-chaining", "symbols-as-weakmap-keys", + "class-fields-public", + "class-fields-private", + "class-static-block", + "class-methods-private", + "class-accessors-private", + "class-fields-public-static", + "class-fields-private-static", ]; for feat in &meta.features { @@ -245,6 +247,7 @@ fn run_test_inner( return TestResult::pass(path.to_path_buf(), dur, msg); } if e.contains("not yet implemented") + || e.contains("not yet supported") || e.contains("not supported") || e.contains("unsupported") || e.contains("is not defined") @@ -298,6 +301,7 @@ fn run_test_inner( } TestResult::fail(path.to_path_buf(), dur, format!("expected {} error, got: {e}", neg.error_type)) } else if e.contains("not yet implemented") + || e.contains("not yet supported") || e.contains("not supported") || e.contains("unsupported") || e.contains("step limit") @@ -329,6 +333,8 @@ fn categorize_fail(msg: &str) -> String { "compile: already declared".into() } else if reason.contains("not yet implemented") { "compile: not yet implemented".into() + } else if reason.contains("not yet supported") { + "compile: not yet supported".into() } else if reason.contains("unsupported") { "compile: unsupported".into() } else if reason.contains("is not defined") {