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