[Tarantool-patches] [PATCH v2 luajit 7/7] test: set LD_PRELOAD only when necessary
Sergey Bronnikov
sergeyb at tarantool.org
Tue Sep 24 17:13:06 MSK 2024
Hi, Sergey,
On 24.09.2024 13:29, Sergey Kaplun wrote:
> This patch sets LD_PRELOAD for ASan build for the required tests instead
> of all tests.
>
> Follows up tarantool/tarantool#9898
probably follows up these commits as well:
commit 9f1137bcc890c28c5de24497624553574d371007 "cmake: replace prove
with CTest"
commit abe1e0aca3ad01f89f9d184c2a82949314814d04 "ci: execute LuaJIT
tests with GCC 10 and ASAN"
LGTM
> ---
> test/tarantool-tests/CMakeLists.txt | 33 ++++++++++++++++-------------
> 1 file changed, 18 insertions(+), 15 deletions(-)
>
> diff --git a/test/tarantool-tests/CMakeLists.txt b/test/tarantool-tests/CMakeLists.txt
> index a1aee3a2..74086ca4 100644
> --- a/test/tarantool-tests/CMakeLists.txt
> +++ b/test/tarantool-tests/CMakeLists.txt
> @@ -82,21 +82,6 @@ make_lua_path(LUA_PATH
>
> set(LUA_TEST_SUFFIX .test.lua)
>
> -# Some tests use `LD_PRELOAD` to mock system calls (like
> -# <lj-802-panic-at-mcode-protfail.test.lua> overwrites
> -# `mprotect()`. When compiling with ASan support under GCC, it is
> -# required that the ASan library go first in the `LD_PRELOAD`
> -# list. Set it manually. The test will append it to the executed
> -# process.
> -if(LUAJIT_USE_ASAN AND CMAKE_C_COMPILER_ID STREQUAL "GNU")
> - # FIXME: We should set this environment variable only
> - # for the corresponding tests to avoid warnings from
> - # the GNU libc and other libc implementations.
> - # Seehttps://github.com/tarantool/tarantool/issues/9898.
> - LibRealPath(LIB_ASAN libasan.so)
> - list(APPEND LUA_TEST_ENV_MORE LD_PRELOAD=${LIB_ASAN})
> -endif()
> -
> # FIXME: This is needed for disabling some flaky tests (like
> # profilers), until LuaJIT/LuaJIT#606 will not be resolved.
> if(LUAJIT_ENABLE_TABLE_BUMP)
> @@ -163,3 +148,21 @@ foreach(test_path ${tests})
> endforeach()
> endif()
> endforeach()
> +
> +# Some tests use `LD_PRELOAD` to mock system calls (like
> +# <lj-802-panic-at-mcode-protfail.test.lua> overwrites
> +# `mprotect()`). When compiling with ASan support under GCC, it is
> +# required that the ASan library go first in the `LD_PRELOAD`
> +# list. Set it manually. The test will append it to the executed
> +# process.
> +if(LUAJIT_USE_ASAN AND CMAKE_C_COMPILER_ID STREQUAL "GNU")
> + LibRealPath(LIB_ASAN libasan.so)
> + AppendTestEnvVar(
> + "test/${TEST_SUITE_NAME}/lj-522-fix-dlerror-return-null.test.lua"
> + LD_PRELOAD ${LIB_ASAN}
> + )
> + AppendTestEnvVar(
> + "test/${TEST_SUITE_NAME}/lj-802-panic-at-mcode-protfail.test.lua"
> + LD_PRELOAD ${LIB_ASAN}
> + )
> +endif()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20240924/2cb2e6e1/attachment.htm>
More information about the Tarantool-patches
mailing list