Commit b0d1c050dc for perl
commit b0d1c050dc5a8d01cdc3be1b268758f712938287
Author: David Mitchell <davem@iabyn.nospamdeletethisbit.com>
Date: Wed Sep 16 12:19:15 2026 +0100
regex: SLC: skip sensitive test
A test in pat_rt_report.t counts the number of quantifier iterations it
executes. This test is sensitive to how quickly the super-linear cache
kicks in, so skip the test if the default delay has been overridden.
Note that before the start of this branch, building and running a perl
with the cache delay artificially lowered with
PERL_RE_SUPERLINEAR_CACHE_DELAY=1 caused a number of failures. As of
this commit, all tests pass.
The main failure (apart from the false positive fixed by this commit)
was that with an SLC countdown of exactly 1, it was possible to skip
resizing the cache when returning to an outer pattern from a smaller
(i.e. less WHILEM nodes) sub-pattern. Since inner sub-patterns don't do
cache now and so the cache is never resized, this is no longer an issue.
diff --git a/t/re/pat_rt_report.t b/t/re/pat_rt_report.t
index 8dfcd6b85d..9d8be19a6b 100644
--- a/t/re/pat_rt_report.t
+++ b/t/re/pat_rt_report.t
@@ -767,7 +767,9 @@ sub run_tests {
is($ok,3, "Optimistic eval does not disable optimisations");
}
- {
+ SKIP: {
+ skip("test sensitive to SLC iterations", 1)
+ if ${^RE_SUPERLINEAR_CACHE_DELAY};
my $message = '@-/@+ should not have undefined values; Bug 22614';
local $_ = 'ab';
our @len = ();