[Tarantool-patches] [PATCH luajit 2/3][v4] test: update CMake macro LibRealPath

Sergey Kaplun skaplun at tarantool.org
Thu Mar 21 18:00:40 MSK 2024


Hi, Sergey!
Thanks for the patch!
Please consider the several minor suggestions below.

On 21.03.24, Sergey Bronnikov wrote:
> From: Sergey Bronnikov <sergeyb at tarantool.org>
> 
> The patch updates CMake macro LibRealPath:

Typo: s/CMake/the CMake/

> 
> - Replace CMAKE_CXX_COMPILER with CMAKE_C_COMPILER,

Nit: This line isn't filled enough.

>   because LuaJIT doesn't require CXX compiler and thus

Typo: s/compiler/compiler,/

>   it can be unavailable on a build system.
> - Add a check for a code returned by a command with compiler.

Typo: s/compiler/the compiler/

> - Add a check for a value returned by compiler, the value equal to

Typo: s/compiler, the/the compiler. A/

>   passed one means that library was not found in a system.

Typo: s/passed one/a passed one/
Typo: s/library/the library/
Typo: s/a system/the system/

> ---
>  test/LuaJIT-tests/CMakeLists.txt | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/test/LuaJIT-tests/CMakeLists.txt b/test/LuaJIT-tests/CMakeLists.txt
> index a0fb5440..f744abfe 100644
> --- a/test/LuaJIT-tests/CMakeLists.txt
> +++ b/test/LuaJIT-tests/CMakeLists.txt
> @@ -33,12 +33,27 @@ if(LUAJIT_USE_ASAN)
>    # https://github.com/google/sanitizers/issues/934.
>    macro(LibRealPath output lib)
>      execute_process(
> -      COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=${lib}
> +      # CMAKE_C_COMPILER is used because it has the same behaviour
> +      # as CMAKE_CXX_COMPILER, but CMAKE_CXX_COMPILER is not required

Nit: Comment length is more than 66 symbols.

> +      # for building LuaJIT and can be missed in GH Actions.
> +      COMMAND ${CMAKE_C_COMPILER} -print-file-name=${lib}
>        OUTPUT_VARIABLE LIB_LINK
>        OUTPUT_STRIP_TRAILING_WHITESPACE
> +      RESULT_VARIABLE RES
>      )
> +    # GCC and Clang returns a passed filename,
> +    # when library was not found.

Nit: Something strange with comment width. You can use more space from
the first line.

> +    if (${LIB_LINK} STREQUAL ${lib})

I suppose, it should be:

| if (LIB_LINK STREQUAL ${lib})

Or we may get the following error if the `LIB_LINK` isn't defined:

| cc: error: unrecognized command-line option '-not-an-option=libstdc++.so'
| cc: fatal error: no input files
| compilation terminated.
| CMake Error at test/LuaJIT-tests/CMakeLists.txt:42 (if):
|   if given arguments:

> +      message(FATAL_ERROR "Library '${lib}' is not found")
> +    endif()
> +    if (NOT RES EQUAL 0)
> +      message(FATAL_ERROR "Executing '${CMAKE_C_COMPILER} \
> +                           -print-file-name=${lib}' has failed")

Please reformat this code like the following to be consistent with the
rest of the code base:

| message(FATAL_ERROR
|   "Executing '${CMAKE_C_COMPILER} -print-file-name=${lib}' has failed"
| )


> +    endif()
> +
>      # Fortunately, we are not interested in macOS here, so we can
> -    # use realpath.
> +    # use realpath. Beware, builtin commands always returns

Typo: s/builtin/built-in/
Typo: s/returns/return/

Also, why do you call it "built-in comands"? Maybe just name it
`realpath`.

> +    # an exit code equal to 0, we cannot check is it failed or not.

Typo: s/, we/, so we/
Typo: s/is it failed/if it is failed/

>      execute_process(
>        COMMAND realpath ${LIB_LINK}
>        OUTPUT_VARIABLE ${output}
> -- 
> 2.34.1
> 

-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list