From f5b397f7edd151c1934f3c739d936d2bbd4e2183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Thu, 20 Aug 2026 10:11:15 +0200 Subject: [PATCH] fix(test): register two dark GC string tests in the repsel corpus --- changelog.d/8461-register-dark-gc-tests.md | 1 + test-parity/gc_repsel_corpus.txt | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 changelog.d/8461-register-dark-gc-tests.md diff --git a/changelog.d/8461-register-dark-gc-tests.md b/changelog.d/8461-register-dark-gc-tests.md new file mode 100644 index 0000000000..e0f48ad14f --- /dev/null +++ b/changelog.d/8461-register-dark-gc-tests.md @@ -0,0 +1 @@ +Register `test_gap_gc_string_copy_source_rooting` and `test_gap_gc_string_repeat_reentrant_count` in `test-parity/gc_repsel_corpus.txt`. #8439 and #8443 added them to `test-files/` without registering them, so `scripts/gc_repsel_matrix.sh` never executed either — a GC regression test that never runs is not a gate. `check_test_registration` was red on `main`. diff --git a/test-parity/gc_repsel_corpus.txt b/test-parity/gc_repsel_corpus.txt index 0228a5a0ef..2f3805cd75 100644 --- a/test-parity/gc_repsel_corpus.txt +++ b/test-parity/gc_repsel_corpus.txt @@ -816,3 +816,11 @@ test_gap_gc_http2_pending_event_callback_rooting # `Object.getPrototypeOf(undefined)` throws. Pre-fix `bad > 0` under seeded # GC; post-fix `bad 0`. Clean under `PERRY_GEN_GC=0`. test_gap_gc_interp_global_this_rooting + +# #8439: `js_string_copy` borrowed its source's bytes across an allocation that +# can trigger a moving minor. Registered so gc-stress / gc-moving-witnesses +# actually execute it instead of leaving it dark on disk. +test_gap_gc_string_copy_source_rooting +# #8443: `String.prototype.repeat` held its receiver unrooted across a +# re-entrant count coercion. Same reason. +test_gap_gc_string_repeat_reentrant_count