From e787738c24754ce591b4226715fcc2049e37334f Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sun, 17 Jan 2021 14:25:12 -0700 Subject: [PATCH] Meta: Build AK and LibRegex tests in Lagom and for Serenity These tests were never built for the serenity target. Move their Lagom build steps to the Lagom CMakeLists.txt, and add serenity build steps for them. Also, fix the build errors when building them with the serenity cross-compiler :^) --- AK/CMakeLists.txt | 2 + AK/Tests/CMakeLists.txt | 17 +- AK/Tests/TestCircularDuplexStream.cpp | 4 +- AK/Tests/TestMemoryStream.cpp | 2 +- AK/Tests/TestNumberFormat.cpp | 41 +- CMakeLists.txt | 2 - Meta/Lagom/CMakeLists.txt | 42 +- Userland/Libraries/LibRegex/CMakeLists.txt | 2 + .../Libraries/LibRegex/Tests/CMakeLists.txt | 15 +- .../Libraries/LibRegex/Tests/RegexLibC.cpp | 400 +++++++++--------- 10 files changed, 268 insertions(+), 259 deletions(-) diff --git a/AK/CMakeLists.txt b/AK/CMakeLists.txt index 509d3d45092..c6dba11efff 100644 --- a/AK/CMakeLists.txt +++ b/AK/CMakeLists.txt @@ -1,3 +1,5 @@ include(${CMAKE_SOURCE_DIR}/Meta/CMake/utils.cmake) serenity_install_headers(AK) serenity_install_sources(AK) + +add_subdirectory(Tests) diff --git a/AK/Tests/CMakeLists.txt b/AK/Tests/CMakeLists.txt index fffc89c2465..6314b008638 100644 --- a/AK/Tests/CMakeLists.txt +++ b/AK/Tests/CMakeLists.txt @@ -1,3 +1,5 @@ + + set(AK_TEST_SOURCES TestAllOf.cpp TestAnyOf.cpp @@ -51,17 +53,6 @@ set(AK_TEST_SOURCES foreach(source ${AK_TEST_SOURCES}) get_filename_component(name ${source} NAME_WE) add_executable(${name} ${source}) - target_link_libraries(${name} LagomCore) - add_test( - NAME ${name} - COMMAND ${name} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - set_tests_properties( - ${name} - PROPERTIES - FAIL_REGULAR_EXPRESSION - "FAIL" - ) + target_link_libraries(${name} LibCore) + install(TARGETS ${name} RUNTIME DESTINATION usr/Tests/AK) endforeach() diff --git a/AK/Tests/TestCircularDuplexStream.cpp b/AK/Tests/TestCircularDuplexStream.cpp index ee50939f934..1ff6bcde276 100644 --- a/AK/Tests/TestCircularDuplexStream.cpp +++ b/AK/Tests/TestCircularDuplexStream.cpp @@ -41,7 +41,7 @@ TEST_CASE(works_like_a_queue) } for (size_t idx = 0; idx < capacity; ++idx) { - u8 byte; + u8 byte = 0; stream >> byte; EXPECT_EQ(queue.dequeue(), byte); @@ -70,7 +70,7 @@ TEST_CASE(overwritting_is_well_defined) stream << static_cast(idx % 256); for (size_t idx = 0; idx < capacity; ++idx) { - u8 byte; + u8 byte = 0; stream >> byte; if (idx < half_capacity) diff --git a/AK/Tests/TestMemoryStream.cpp b/AK/Tests/TestMemoryStream.cpp index f9b763df389..b6664be928f 100644 --- a/AK/Tests/TestMemoryStream.cpp +++ b/AK/Tests/TestMemoryStream.cpp @@ -101,7 +101,7 @@ TEST_CASE(seeking_slicing_offset) const Array expected1 { 4, 5, 6, 7 }; const Array expected2 { 1, 2, 3, 4 }; - Array actual0, actual1, actual2; + Array actual0 {}, actual1 {}, actual2 {}; InputMemoryStream stream { input }; diff --git a/AK/Tests/TestNumberFormat.cpp b/AK/Tests/TestNumberFormat.cpp index a6805a4f492..6fa554e2228 100644 --- a/AK/Tests/TestNumberFormat.cpp +++ b/AK/Tests/TestNumberFormat.cpp @@ -129,35 +129,22 @@ TEST_CASE(extremes_4byte) EXPECT_EQ(human_readable_size(0xffffffff), "3.9 GiB"); } -template -void actual_extremes_8byte(); - -template<> -void actual_extremes_8byte<4>() -{ - warnln("(Skipping 8-byte-size_t test)"); -} - -template<> -void actual_extremes_8byte<8>() -{ - warnln("(Running true 8-byte-size_t test)"); - // Your editor might show "implicit conversion" warnings here. - // This is because your editor thinks the world is 32-bit, but it isn't. - EXPECT_EQ(human_readable_size(0x100000000ULL), "4.0 GiB"); - EXPECT_EQ(human_readable_size(0x100000001ULL), "4.0 GiB"); - EXPECT_EQ(human_readable_size(0x800000000ULL), "32.0 GiB"); - EXPECT_EQ(human_readable_size(0x10000000000ULL), "1024.0 GiB"); - - // Oh yeah! These are *correct*! - EXPECT_EQ(human_readable_size(0x7fffffffffffffffULL), "8589934591.9 GiB"); - EXPECT_EQ(human_readable_size(0x8000000000000000ULL), "8589934592.0 GiB"); - EXPECT_EQ(human_readable_size(0xffffffffffffffffULL), "17179869183.9 GiB"); -} - TEST_CASE(extremes_8byte) { - actual_extremes_8byte(); + if constexpr (sizeof(size_t) == 8) { + warnln("(Running 8-byte-size_t test)"); + EXPECT_EQ(human_readable_size(0x100000000ULL), "4.0 GiB"); + EXPECT_EQ(human_readable_size(0x100000001ULL), "4.0 GiB"); + EXPECT_EQ(human_readable_size(0x800000000ULL), "32.0 GiB"); + EXPECT_EQ(human_readable_size(0x10000000000ULL), "1024.0 GiB"); + + // Oh yeah! These are *correct*! + EXPECT_EQ(human_readable_size(0x7fffffffffffffffULL), "8589934591.9 GiB"); + EXPECT_EQ(human_readable_size(0x8000000000000000ULL), "8589934592.0 GiB"); + EXPECT_EQ(human_readable_size(0xffffffffffffffffULL), "17179869183.9 GiB"); + } else { + warnln("(Skipping 8-byte-size_t test on 32-bit platform)"); + } } TEST_MAIN(NumberFormat) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d53990a129..d969c02899f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,8 +99,6 @@ include_directories(${CMAKE_BINARY_DIR}) add_subdirectory(Meta/Lagom) add_subdirectory(Userland/DevTools/IPCCompiler) add_subdirectory(Userland/Libraries/LibWeb/CodeGenerators) -add_subdirectory(AK/Tests) -add_subdirectory(Userland/Libraries/LibRegex/Tests) set(write_if_different ${CMAKE_SOURCE_DIR}/Meta/write-only-on-difference.sh) diff --git a/Meta/Lagom/CMakeLists.txt b/Meta/Lagom/CMakeLists.txt index f00bef922d7..7deb13438c2 100644 --- a/Meta/Lagom/CMakeLists.txt +++ b/Meta/Lagom/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required (VERSION 3.0) project (Lagom) if (NOT ENABLE_OSS_FUZZ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option -O2 -Wall -Wextra -Werror -std=c++2a -fPIC -g -Wno-deprecated-copy") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option -Wno-literal-suffix -O2 -Wall -Wextra -Werror -std=c++2a -fPIC -g -Wno-deprecated-copy") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++2a -fPIC -g -Wno-deprecated-copy") endif() @@ -42,8 +42,10 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") endif() file(GLOB AK_SOURCES CONFIGURE_DEPENDS "../../AK/*.cpp") +file(GLOB AK_TEST_SOURCES CONFIGURE_DEPENDS "../../AK/Tests/*.cpp") file(GLOB LIBREGEX_LIBC_SOURCES "../../Userland/Libraries/LibRegex/C/Regex.cpp") file(GLOB LIBREGEX_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibRegex/*.cpp") +file(GLOB LIBREGEX_TESTS CONFIGURE_DEPENDS "../../Userland/Libraries/LibRegex/Tests/*.cpp") file(GLOB LIBCORE_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibCore/*.cpp") file(GLOB LIBELF_SOURCES CONFIGURE_DEPENDS "../../Userland/Libraries/LibELF/*.cpp") # There's no way we can reliably make this cross platform @@ -89,6 +91,7 @@ if (BUILD_LAGOM) add_library(Lagom $ ${LAGOM_MORE_SOURCES}) if (NOT ENABLE_OSS_FUZZ AND NOT ENABLE_FUZZER_SANITIZER) + enable_testing() add_executable(TestApp TestApp.cpp) target_link_libraries(TestApp Lagom) target_link_libraries(TestApp stdc++) @@ -161,6 +164,43 @@ if (BUILD_LAGOM) PASS_REGULAR_EXPRESSION "PASS" ) endforeach() + + foreach(source ${AK_TEST_SOURCES}) + get_filename_component(name ${source} NAME_WE) + add_executable(${name}_lagom ${source}) + target_link_libraries(${name}_lagom LagomCore) + add_test( + NAME ${name}_lagom + COMMAND ${name}_lagom + # FIXME: Only TestJSON needs this property + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../AK/Tests + ) + + set_tests_properties( + ${name}_lagom + PROPERTIES + FAIL_REGULAR_EXPRESSION + "FAIL" + ) + endforeach() + + foreach(source ${LIBREGEX_TESTS}) + get_filename_component(name ${source} NAME_WE) + add_executable(${name}_lagom ${source} ${LAGOM_REGEX_SOURCES}) + target_link_libraries(${name}_lagom LagomCore) + add_test( + NAME ${name}_lagom + COMMAND ${name}_lagom + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + + set_tests_properties( + ${name}_lagom + PROPERTIES + FAIL_REGULAR_EXPRESSION + "FAIL" + ) + endforeach() endif() endif() diff --git a/Userland/Libraries/LibRegex/CMakeLists.txt b/Userland/Libraries/LibRegex/CMakeLists.txt index 44cc6928f91..a9e27661647 100644 --- a/Userland/Libraries/LibRegex/CMakeLists.txt +++ b/Userland/Libraries/LibRegex/CMakeLists.txt @@ -8,3 +8,5 @@ set(SOURCES serenity_lib(LibRegex regex) target_link_libraries(LibRegex LibC LibCore) + +add_subdirectory(Tests) diff --git a/Userland/Libraries/LibRegex/Tests/CMakeLists.txt b/Userland/Libraries/LibRegex/Tests/CMakeLists.txt index ae1e399e18f..66478f6ad67 100644 --- a/Userland/Libraries/LibRegex/Tests/CMakeLists.txt +++ b/Userland/Libraries/LibRegex/Tests/CMakeLists.txt @@ -4,17 +4,6 @@ file(GLOB REGEX_SOURCES CONFIGURE_DEPENDS "../*.cpp" "../C/*.cpp") foreach(source ${TEST_SOURCES}) get_filename_component(name ${source} NAME_WE) add_executable(${name} ${source} ${REGEX_SOURCES}) - target_link_libraries(${name} LagomCore) - add_test( - NAME ${name} - COMMAND ${name} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - set_tests_properties( - ${name} - PROPERTIES - FAIL_REGULAR_EXPRESSION - "FAIL" - ) + target_link_libraries(${name} LibCore) + install(TARGETS ${name} RUNTIME DESTINATION usr/Tests/LibRegex) endforeach() diff --git a/Userland/Libraries/LibRegex/Tests/RegexLibC.cpp b/Userland/Libraries/LibRegex/Tests/RegexLibC.cpp index 51390bea5be..88579ed2d6c 100644 --- a/Userland/Libraries/LibRegex/Tests/RegexLibC.cpp +++ b/Userland/Libraries/LibRegex/Tests/RegexLibC.cpp @@ -163,26 +163,26 @@ TEST_CASE(simple_questionmark_matchall) EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR); EXPECT_EQ(regexec(®ex, "a", num_matches, matches, REG_GLOBAL), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); EXPECT_EQ(regexec(®ex, "daa", num_matches, matches, REG_GLOBAL), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); EXPECT_EQ(regexec(®ex, "ddddd", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 2u); + EXPECT_EQ(matches[0].rm_cnt, 2); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 2u); - EXPECT_EQ(matches[1].rm_so, 2u); - EXPECT_EQ(matches[1].rm_eo, 4u); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 2); + EXPECT_EQ(matches[1].rm_so, 2); + EXPECT_EQ(matches[1].rm_eo, 4); EXPECT_EQ(regexec(®ex, "dd", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); EXPECT_EQ(regexec(®ex, "dad", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); EXPECT_EQ(regexec(®ex, "dada", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); EXPECT_EQ(regexec(®ex, "adadaa", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); regfree(®ex); } @@ -197,9 +197,9 @@ TEST_CASE(character_class) String haystack = "[Window]\nOpacity=255\nAudibleBeep=0\n"; EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR); EXPECT_EQ(regexec(®ex, haystack.characters(), num_matches, matches, 0), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); EXPECT_EQ(regexec(®ex, haystack.characters(), num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 24u); + EXPECT_EQ(matches[0].rm_cnt, 24); EXPECT_EQ(haystack.substring_view(matches[0].rm_so, matches[0].rm_eo - matches[0].rm_so), "W"); EXPECT_EQ(haystack.substring_view(matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so), "i"); @@ -217,7 +217,7 @@ TEST_CASE(character_class2) EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED | REG_NEWLINE), REG_NOERR); EXPECT_EQ(regexec(®ex, haystack.characters(), num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 3u); + EXPECT_EQ(matches[0].rm_cnt, 3); #if 0 for (int i = 0; i < num_matches; ++i) { fprintf(stderr, "Matches[%i].rm_so: %li, .rm_eo: %li .rm_cnt: %li: ", i, matches[i].rm_so, matches[i].rm_eo, matches[i].rm_cnt); @@ -275,7 +275,7 @@ TEST_CASE(char_qualifier_asterisk) EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR); EXPECT_EQ(regexec(®ex, "#include ", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); regfree(®ex); } @@ -289,7 +289,7 @@ TEST_CASE(char_utf8) EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR); EXPECT_EQ(regexec(®ex, "Привет, мир! 😀 γειά σου κόσμος 😀 こんにちは世界", num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 2u); + EXPECT_EQ(matches[0].rm_cnt, 2); regfree(®ex); } @@ -304,12 +304,12 @@ TEST_CASE(parens) EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR); EXPECT_EQ(regexec(®ex, "testhellotest", num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 13u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 9u); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 13); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 9); regfree(®ex); } @@ -427,18 +427,18 @@ TEST_CASE(parens_qualifier_questionmark) match_str = "testtest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 8u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 8); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testtest"); match_str = "testhellotest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 13u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 9u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 13); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 9); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testhellotest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); @@ -457,32 +457,32 @@ TEST_CASE(parens_qualifier_asterisk) match_str = "testtest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 8u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 8); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testtest"); match_str = "testhellohellotest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 18u); - EXPECT_EQ(matches[1].rm_so, 9u); - EXPECT_EQ(matches[1].rm_eo, 14u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 18); + EXPECT_EQ(matches[1].rm_so, 9); + EXPECT_EQ(matches[1].rm_eo, 14); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testhellohellotest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "testhellohellotest, testhellotest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 2u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 18u); - EXPECT_EQ(matches[1].rm_so, 9u); - EXPECT_EQ(matches[1].rm_eo, 14u); - EXPECT_EQ(matches[2].rm_so, 20u); - EXPECT_EQ(matches[2].rm_eo, 33u); - EXPECT_EQ(matches[3].rm_so, 24u); - EXPECT_EQ(matches[3].rm_eo, 29u); + EXPECT_EQ(matches[0].rm_cnt, 2); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 18); + EXPECT_EQ(matches[1].rm_so, 9); + EXPECT_EQ(matches[1].rm_eo, 14); + EXPECT_EQ(matches[2].rm_so, 20); + EXPECT_EQ(matches[2].rm_eo, 33); + EXPECT_EQ(matches[3].rm_so, 24); + EXPECT_EQ(matches[3].rm_eo, 29); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testhellohellotest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "testhellotest"); @@ -503,31 +503,31 @@ TEST_CASE(parens_qualifier_asterisk_2) match_str = "testasdftest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 12u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 8u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 12); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 8); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testasdftest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "asdf"); match_str = "testasdfasdftest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 16u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 12u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 16); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 12); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testasdfasdftest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "asdfasdf"); match_str = "testaaaatest, testbbbtest, testtest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 35u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 31u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 35); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 31); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testaaaatest, testbbbtest, testtest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "aaaatest, testbbbtest, test"); @@ -549,52 +549,52 @@ TEST_CASE(mulit_parens_qualifier_too_less_result_values) match_str = "testabtest"; EXPECT_EQ(regexec(®ex, match_str, num_matches - 1, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 10u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 5u); - EXPECT_EQ(matches[2].rm_so, 5u); - EXPECT_EQ(matches[2].rm_eo, 6u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 10); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 5); + EXPECT_EQ(matches[2].rm_so, 5); + EXPECT_EQ(matches[2].rm_eo, 6); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabtest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a"); EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b"); EXPECT_EQ(matches[3].rm_so, -2); EXPECT_EQ(matches[3].rm_eo, -2); - EXPECT_EQ(matches[3].rm_cnt, 100u); + EXPECT_EQ(matches[3].rm_cnt, 100); match_str = "testabctest"; EXPECT_EQ(regexec(®ex, match_str, num_matches - 1, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 11u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 5u); - EXPECT_EQ(matches[2].rm_so, 5u); - EXPECT_EQ(matches[2].rm_eo, 6u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 11); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 5); + EXPECT_EQ(matches[2].rm_so, 5); + EXPECT_EQ(matches[2].rm_eo, 6); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a"); EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b"); EXPECT_EQ(matches[3].rm_so, -2); EXPECT_EQ(matches[3].rm_eo, -2); - EXPECT_EQ(matches[3].rm_cnt, 100u); + EXPECT_EQ(matches[3].rm_cnt, 100); match_str = "testabctest, testabctest"; EXPECT_EQ(regexec(®ex, match_str, num_matches - 1, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 2u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 11u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 5u); - EXPECT_EQ(matches[2].rm_so, 5u); - EXPECT_EQ(matches[2].rm_eo, 6u); + EXPECT_EQ(matches[0].rm_cnt, 2); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 11); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 5); + EXPECT_EQ(matches[2].rm_so, 5); + EXPECT_EQ(matches[2].rm_eo, 6); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a"); EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b"); EXPECT_EQ(matches[3].rm_so, -2); EXPECT_EQ(matches[3].rm_eo, -2); - EXPECT_EQ(matches[3].rm_cnt, 100u); + EXPECT_EQ(matches[3].rm_cnt, 100); regfree(®ex); } @@ -611,20 +611,20 @@ TEST_CASE(multi_parens_qualifier_questionmark) match_str = "testtest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 8u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 8); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testtest"); match_str = "testabctest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 11u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 5u); - EXPECT_EQ(matches[2].rm_so, 5u); - EXPECT_EQ(matches[2].rm_eo, 6u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 11); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 5); + EXPECT_EQ(matches[2].rm_so, 5); + EXPECT_EQ(matches[2].rm_eo, 6); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a"); EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b"); @@ -632,24 +632,24 @@ TEST_CASE(multi_parens_qualifier_questionmark) match_str = "testabctest, testactest"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 2u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 11u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 5u); - EXPECT_EQ(matches[2].rm_so, 5u); - EXPECT_EQ(matches[2].rm_eo, 6u); - EXPECT_EQ(matches[3].rm_so, 6u); - EXPECT_EQ(matches[3].rm_eo, 7u); + EXPECT_EQ(matches[0].rm_cnt, 2); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 11); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 5); + EXPECT_EQ(matches[2].rm_so, 5); + EXPECT_EQ(matches[2].rm_eo, 6); + EXPECT_EQ(matches[3].rm_so, 6); + EXPECT_EQ(matches[3].rm_eo, 7); - EXPECT_EQ(matches[4].rm_so, 13u); - EXPECT_EQ(matches[4].rm_eo, 23u); - EXPECT_EQ(matches[5].rm_so, 17u); - EXPECT_EQ(matches[5].rm_eo, 18u); + EXPECT_EQ(matches[4].rm_so, 13); + EXPECT_EQ(matches[4].rm_eo, 23); + EXPECT_EQ(matches[5].rm_so, 17); + EXPECT_EQ(matches[5].rm_eo, 18); EXPECT_EQ(matches[6].rm_so, -1); EXPECT_EQ(matches[6].rm_eo, -1); - EXPECT_EQ(matches[7].rm_so, 18u); - EXPECT_EQ(matches[7].rm_eo, 19u); + EXPECT_EQ(matches[7].rm_so, 18); + EXPECT_EQ(matches[7].rm_eo, 19); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a"); @@ -673,19 +673,19 @@ TEST_CASE(simple_alternative) EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR); EXPECT_EQ(regexec(®ex, "test", num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 4u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 4); EXPECT_EQ(regexec(®ex, "hello", num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 5u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 5); EXPECT_EQ(regexec(®ex, "friends", num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 7u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 7); regfree(®ex); } @@ -702,7 +702,7 @@ TEST_CASE(alternative_match_groups) match_str = "test"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); EXPECT_EQ(matches[0].rm_so, 0); EXPECT_EQ(matches[0].rm_eo, 4); EXPECT_EQ(matches[1].rm_so, -1); @@ -715,11 +715,11 @@ TEST_CASE(alternative_match_groups) match_str = "testa"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 5u); - EXPECT_EQ(matches[1].rm_so, 4u); - EXPECT_EQ(matches[1].rm_eo, 5u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 5); + EXPECT_EQ(matches[1].rm_so, 4); + EXPECT_EQ(matches[1].rm_eo, 5); EXPECT_EQ(matches[2].rm_so, -1); EXPECT_EQ(matches[2].rm_eo, -1); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testa"); @@ -728,22 +728,22 @@ TEST_CASE(alternative_match_groups) match_str = "testb"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 5u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 5); EXPECT_EQ(matches[1].rm_so, -1); EXPECT_EQ(matches[1].rm_eo, -1); - EXPECT_EQ(matches[2].rm_so, 4u); - EXPECT_EQ(matches[2].rm_eo, 5u); + EXPECT_EQ(matches[2].rm_so, 4); + EXPECT_EQ(matches[2].rm_eo, 5); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testb"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), ""); EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b"); match_str = "hello friends"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 13u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 13); EXPECT_EQ(matches[1].rm_so, -1); EXPECT_EQ(matches[1].rm_eo, -1); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hello friends"); @@ -751,9 +751,9 @@ TEST_CASE(alternative_match_groups) match_str = "hello dear friends"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 18u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 18); EXPECT_EQ(matches[1].rm_so, -1); EXPECT_EQ(matches[1].rm_eo, -1); EXPECT_EQ(matches[2].rm_so, -1); @@ -767,9 +767,9 @@ TEST_CASE(alternative_match_groups) match_str = "hello my friends"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 16u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 16); EXPECT_EQ(matches[1].rm_so, -1); EXPECT_EQ(matches[1].rm_eo, -1); EXPECT_EQ(matches[2].rm_so, -1); @@ -783,13 +783,13 @@ TEST_CASE(alternative_match_groups) match_str = "testabc"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); EXPECT_EQ(matches[0].rm_so, -1); EXPECT_EQ(matches[0].rm_eo, -1); match_str = "hello test friends"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); EXPECT_EQ(matches[0].rm_so, -1); EXPECT_EQ(matches[0].rm_eo, -1); @@ -808,35 +808,35 @@ TEST_CASE(parens_qualifier_exact) match_str = "hello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); match_str = "hellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 15u); - EXPECT_EQ(matches[1].rm_so, 10u); - EXPECT_EQ(matches[1].rm_eo, 15u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 15); + EXPECT_EQ(matches[1].rm_so, 10); + EXPECT_EQ(matches[1].rm_eo, 15); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "hellohellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 15u); - EXPECT_EQ(matches[1].rm_so, 10u); - EXPECT_EQ(matches[1].rm_eo, 15u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 15); + EXPECT_EQ(matches[1].rm_so, 10); + EXPECT_EQ(matches[1].rm_eo, 15); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "test hellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 5u); - EXPECT_EQ(matches[0].rm_eo, 20u); - EXPECT_EQ(matches[1].rm_so, 15u); - EXPECT_EQ(matches[1].rm_eo, 20u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 5); + EXPECT_EQ(matches[0].rm_eo, 20); + EXPECT_EQ(matches[1].rm_so, 15); + EXPECT_EQ(matches[1].rm_eo, 20); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); @@ -855,46 +855,46 @@ TEST_CASE(parens_qualifier_minimum) match_str = "hello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); match_str = "hellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 15u); - EXPECT_EQ(matches[1].rm_so, 10u); - EXPECT_EQ(matches[1].rm_eo, 15u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 15); + EXPECT_EQ(matches[1].rm_so, 10); + EXPECT_EQ(matches[1].rm_eo, 15); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "hellohellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_SEARCH), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 20u); - EXPECT_EQ(matches[1].rm_so, 15u); - EXPECT_EQ(matches[1].rm_eo, 20u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 20); + EXPECT_EQ(matches[1].rm_so, 15); + EXPECT_EQ(matches[1].rm_eo, 20); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "test hellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 5u); - EXPECT_EQ(matches[0].rm_eo, 20u); - EXPECT_EQ(matches[1].rm_so, 15u); - EXPECT_EQ(matches[1].rm_eo, 20u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 5); + EXPECT_EQ(matches[0].rm_eo, 20); + EXPECT_EQ(matches[1].rm_so, 15); + EXPECT_EQ(matches[1].rm_eo, 20); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "test hellohellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 5u); - EXPECT_EQ(matches[0].rm_eo, 25u); - EXPECT_EQ(matches[1].rm_so, 20u); - EXPECT_EQ(matches[1].rm_eo, 25u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 5); + EXPECT_EQ(matches[0].rm_eo, 25); + EXPECT_EQ(matches[1].rm_so, 20); + EXPECT_EQ(matches[1].rm_eo, 25); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); @@ -913,45 +913,45 @@ TEST_CASE(parens_qualifier_maximum) match_str = "hello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH); - EXPECT_EQ(matches[0].rm_cnt, 0u); + EXPECT_EQ(matches[0].rm_cnt, 0); match_str = "hellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 15u); - EXPECT_EQ(matches[1].rm_so, 10u); - EXPECT_EQ(matches[1].rm_eo, 15u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 15); + EXPECT_EQ(matches[1].rm_so, 10); + EXPECT_EQ(matches[1].rm_eo, 15); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "hellohellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 0u); - EXPECT_EQ(matches[0].rm_eo, 15u); - EXPECT_EQ(matches[1].rm_so, 10u); - EXPECT_EQ(matches[1].rm_eo, 15u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 0); + EXPECT_EQ(matches[0].rm_eo, 15); + EXPECT_EQ(matches[1].rm_so, 10); + EXPECT_EQ(matches[1].rm_eo, 15); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "test hellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 5u); - EXPECT_EQ(matches[0].rm_eo, 20u); - EXPECT_EQ(matches[1].rm_so, 15u); - EXPECT_EQ(matches[1].rm_eo, 20u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 5); + EXPECT_EQ(matches[0].rm_eo, 20); + EXPECT_EQ(matches[1].rm_so, 15); + EXPECT_EQ(matches[1].rm_eo, 20); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); match_str = "test hellohellohellohello"; EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); - EXPECT_EQ(matches[0].rm_so, 5u); - EXPECT_EQ(matches[0].rm_eo, 20u); - EXPECT_EQ(matches[1].rm_so, 15u); - EXPECT_EQ(matches[1].rm_eo, 20u); + EXPECT_EQ(matches[0].rm_cnt, 1); + EXPECT_EQ(matches[0].rm_so, 5); + EXPECT_EQ(matches[0].rm_eo, 20); + EXPECT_EQ(matches[1].rm_so, 15); + EXPECT_EQ(matches[1].rm_eo, 20); EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello"); EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello"); @@ -970,7 +970,7 @@ TEST_CASE(char_qualifier_min_max) EXPECT_EQ(regexec(®ex, "cc", num_matches, matches, 0), REG_NOMATCH); EXPECT_EQ(regexec(®ex, "ccc", num_matches, matches, 0), REG_NOERR); EXPECT_EQ(regexec(®ex, "cccccccccccccccccccccccccccccc", num_matches, matches, 0), REG_NOERR); - EXPECT_EQ(matches[0].rm_cnt, 1u); + EXPECT_EQ(matches[0].rm_cnt, 1); EXPECT_EQ(regexec(®ex, "ccccccccccccccccccccccccccccccc", num_matches, matches, 0), REG_NOMATCH); EXPECT_EQ(regexec(®ex, "ccccccccccccccccccccccccccccccc", num_matches, matches, REG_GLOBAL), REG_NOERR); EXPECT_EQ(regexec(®ex, "cccccccccccccccccccccccccccccccc", num_matches, matches, 0), REG_NOMATCH);