From 6d2319e14c23ff184e1ad405db5c9aebfade58ee Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Sat, 15 Aug 2026 02:50:08 +0900 Subject: [PATCH] ww: skip outputs for no-test command packages --- cmd/ww/main.c | 4 ++-- selfhost/cmd/ww/main.ww | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd/ww/main.c b/cmd/ww/main.c index 2345f93d..6622391f 100644 --- a/cmd/ww/main.c +++ b/cmd/ww/main.c @@ -4449,8 +4449,8 @@ sep_validate_request_staging(struct sepgraph *g, const char *scratch, int warm, return -1; if (emit_asm) continue; int owns_output = root_package ? publish_package - : (is_test && !products[i].no_tests) - || sep_root_is_command(&g->pkg[products[i].root]); + : is_test ? !products[i].no_tests + : sep_root_is_command(&g->pkg[products[i].root]); if (!owns_output) continue; if (sep_prepare_product_stage(&products[i].stage_out, products[i].out) < 0) diff --git a/selfhost/cmd/ww/main.ww b/selfhost/cmd/ww/main.ww index adcacc64..a4f446fe 100644 --- a/selfhost/cmd/ww/main.ww +++ b/selfhost/cmd/ww/main.ww @@ -5204,8 +5204,9 @@ fn sepvalidaterequeststaging(g: *sepgraph, scratch: *u8, warm: bool, if (emitasm == 0) { let ownsoutput: bool = false; if (rootpackage) { ownsoutput = publishpackage != 0; } - else { ownsoutput = (istest != 0 && !products[i].notests) - || seprootiscommand(&g.pkg[products[i].root]); }; + else { if (istest != 0) { ownsoutput = !products[i].notests; } + else { ownsoutput = seprootiscommand( + &g.pkg[products[i].root]); }; }; if (ownsoutput) { products[i].stageout = sepprepareproductstage( products[i].stageout, products[i].out);