Hi, Sergey! thanks for fixes! LGTM On 09.12.2024 17:40, Sergey Kaplun wrote: > Hi, Sergey! > Thanks for the review! > > On 09.12.24, Sergey Bronnikov wrote: >> Hi, Sergey! >> >> thanks for the patch! >> >> LGTM after fix a comment below > Fixed the comment with a slightly modified patch of yours: > > =================================================================== > diff --git a/test/cmake/GetLibCVersion.cmake b/test/cmake/GetLibCVersion.cmake > index d87e8b70..521a6e45 100644 > --- a/test/cmake/GetLibCVersion.cmake > +++ b/test/cmake/GetLibCVersion.cmake > @@ -1,8 +1,12 @@ > # Get the libc version installed in the system. > macro(GetLibCVersion output) > + find_program(ECHO echo) > + if(NOT ECHO) > + message(FATAL_ERROR "`echo' is not found") > + endif() > # Try to directly parse the version. > execute_process( > - COMMAND echo "#include " > + COMMAND ${ECHO} "#include " > COMMAND ${CMAKE_C_COMPILER} -E -dM - > OUTPUT_VARIABLE LIB_C_INFO > ERROR_VARIABLE ERROR_MSG > @@ -31,6 +35,7 @@ macro(GetLibCVersion output) > > set(${output} "${GLIBC_MAJOR}.${GLIBC_MINOR}") > > + unset(ECHO) > unset(CMAKE_MATCH_1) > unset(GLIBC_MAJOR) > unset(GLIBC_MINOR) > =================================================================== > > Force-pushed the branch and updated the PR. > >> On 09.12.2024 13:16, Sergey Kaplun wrote: >>> The `strtod parsing` subtest in the checks >>> the results yielded by the `strtod()` via FFI call. In GLibc versions >>> before 2.19 it returns an incorrect result for "0x1p-2075" [1]. This >>> patch skips this test for a smaller version of the libc installed. >>> >>> [1]:https://sourceware.org/bugzilla/show_bug.cgi?id=16151 >>> --- > > >>> diff --git a/test/cmake/GetLibCVersion.cmake b/test/cmake/GetLibCVersion.cmake >>> new file mode 100644 >>> index 00000000..d87e8b70 >>> --- /dev/null >>> +++ b/test/cmake/GetLibCVersion.cmake >>> @@ -0,0 +1,41 @@ >>> +# Get the libc version installed in the system. >>> +macro(GetLibCVersion output) >>> + # Try to directly parse the version. >>> + execute_process( >>> + COMMAND echo "#include " >> I propose to replace "echo" with a variable set by `find_program()`: >> >> >> diff --git a/test/cmake/GetLibCVersion.cmake >> b/test/cmake/GetLibCVersion.cmake >> index d87e8b70..15a8b440 100644 >> --- a/test/cmake/GetLibCVersion.cmake >> +++ b/test/cmake/GetLibCVersion.cmake >> @@ -1,8 +1,14 @@ >>  # Get the libc version installed in the system. >>  macro(GetLibCVersion output) >> +  find_program(ECHO echo) >> +  if(NOT ECHO) >> +    message(FATAL_ERROR "`echo` is not found'") >> +    return() >> +  endif() >> + >>    # Try to directly parse the version. >>    execute_process( >> -    COMMAND echo "#include " >> +    COMMAND ${ECHO} "#include " >>      COMMAND ${CMAKE_C_COMPILER} -E -dM - >>      OUTPUT_VARIABLE LIB_C_INFO >>      ERROR_VARIABLE ERROR_MSG >> @@ -31,6 +37,7 @@ macro(GetLibCVersion output) >> >>    set(${output} "${GLIBC_MAJOR}.${GLIBC_MINOR}") >> >> +  unset(ECHO) >>    unset(CMAKE_MATCH_1) >>    unset(GLIBC_MAJOR) >>    unset(GLIBC_MINOR) >> >>> + COMMAND ${CMAKE_C_COMPILER} -E -dM - >>> + OUTPUT_VARIABLE LIB_C_INFO >>> + ERROR_VARIABLE ERROR_MSG >>> + OUTPUT_STRIP_TRAILING_WHITESPACE >>> + RESULT_VARIABLE RES >>> + ) >>> + > > >>> +endmacro()