1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:07:47 +00:00

LibRegex: Add some tests for Fork{Stay,Jump} performance

Without the previous fixes, these will blow up the stack.
This commit is contained in:
Ali Mohammad Pur 2021-07-31 18:47:44 +04:30 committed by Ali Mohammad Pur
parent 5f342e4fa9
commit 85d87cbcc8

View file

@ -726,3 +726,19 @@ TEST_CASE(case_insensitive_match)
EXPECT_EQ(result.matches.at(0).column, 4ul);
}
}
TEST_CASE(extremely_long_fork_chain)
{
Regex<ECMA262> re("(?:aa)*");
auto result = re.match(String::repeated('a', 100'000));
EXPECT_EQ(result.success, true);
}
static auto g_lots_of_a_s = String::repeated('a', 10'000'000);
BENCHMARK_CASE(fork_performance)
{
Regex<ECMA262> re("(?:aa)*");
auto result = re.match(g_lots_of_a_s);
EXPECT_EQ(result.success, true);
}