From 7ae011fc56c0a97ada26807c972bb6e4743d286b Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Tue, 9 Jun 2026 18:23:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20test262=20=E6=B7=BB=E5=8A=A0=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E6=AD=A5=E6=95=B0=E4=B8=8A=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_test262/src/main.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/oxide_test262/src/main.rs b/crates/oxide_test262/src/main.rs index 7cb0cae4..4adf6b5b 100644 --- a/crates/oxide_test262/src/main.rs +++ b/crates/oxide_test262/src/main.rs @@ -599,7 +599,14 @@ fn run_tests() -> bool { let paths = discover_tests(&test262_root); eprintln!("found {} test files", paths.len()); - let kernel = Arc::new(OxideKernel::new(KernelConfig::minimal())); + // Bound each test's execution so a single infinite-loop / unsupported-feature + // loop fails (or skips) instead of stalling the whole serial run. The VM already + // emits a "VM step limit exceeded" error on overrun, which the runner classifies + // as a step-limit result (skip by default, fail under --no-skip). Override only the + // runner's local config; KernelConfig::minimal() stays unbounded for other crates. + let mut kernel_config = KernelConfig::minimal(); + kernel_config.max_steps = Some(50_000_000); + let kernel = Arc::new(OxideKernel::new(kernel_config)); init_kernel_builtins(&kernel); let harness_sources = HarnessSources::new(); let mut harness_cache = HarnessPrefixCache::new();