From e5af15a6e913bde254657990628e31c598a4a94f Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Sun, 18 Jul 2021 05:06:01 +0430 Subject: [PATCH] LibRegex: Don't do out-of-bound match accesses when a test fails --- Tests/LibRegex/Regex.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Tests/LibRegex/Regex.cpp b/Tests/LibRegex/Regex.cpp index 20581b3a8f..7e0269622c 100644 --- a/Tests/LibRegex/Regex.cpp +++ b/Tests/LibRegex/Regex.cpp @@ -458,10 +458,12 @@ TEST_CASE(a_star) String haystack = "[Window]\nOpacity=255\nAudibleBeep=0\n"; EXPECT_EQ(re.search(haystack.view(), result, PosixFlags::Multiline), true); EXPECT_EQ(result.count, 32u); - EXPECT_EQ(result.matches.at(0).view.length(), 0u); - EXPECT_EQ(result.matches.at(10).view.length(), 1u); - EXPECT_EQ(result.matches.at(10).view, "a"); - EXPECT_EQ(result.matches.at(31).view.length(), 0u); + if (result.count == 32u) { + EXPECT_EQ(result.matches.at(0).view.length(), 0u); + EXPECT_EQ(result.matches.at(10).view.length(), 1u); + EXPECT_EQ(result.matches.at(10).view, "a"); + EXPECT_EQ(result.matches.at(31).view.length(), 0u); + } } TEST_CASE(simple_period_end_benchmark) @@ -624,5 +626,7 @@ TEST_CASE(case_insensitive_match) auto result = re.match("AEKFCD"); EXPECT_EQ(result.success, true); - EXPECT_EQ(result.matches.at(0).column, 4ul); + if (result.success) { + EXPECT_EQ(result.matches.at(0).column, 4ul); + } }