From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id AD57F47D29C; Tue, 17 Dec 2024 14:42:07 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org AD57F47D29C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1734435727; bh=qp9tzm7l+RQyasHa25ZD+MkV14ktx9jMXRCVGKMeriU=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=ZWY7y08WeEsAUikMqWYgjiZjjdhJ6kVC13almFBblt5UO5V2SZAehbpiY6Scc6DK8 B/PAMu9HDa1OGMIY0HLCk2lBqnn6yrgMMC307cusHIl8AKr2GEK5TEWOS5ez7u8IR7 rTTAVRhxcts4+eBFg8aZk+5ZzpD+OSSlSzLEfSUs= Received: from send175.i.mail.ru (send175.i.mail.ru [95.163.59.14]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 9984447D29C for ; Tue, 17 Dec 2024 14:42:06 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 9984447D29C Received: by exim-smtp-84dbd655b7-6j879 with esmtpa (envelope-from ) id 1tNVxl-00000000FAr-29q9; Tue, 17 Dec 2024 14:42:06 +0300 Content-Type: multipart/alternative; boundary="------------464PW0Nny8GgtsNuNdVfb1iC" Message-ID: <0807ccb5-8d41-49a9-a57e-3ab9c6c705f7@tarantool.org> Date: Tue, 17 Dec 2024 14:42:04 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Sergey Kaplun Cc: Maksim Tiushev , tarantool-patches@dev.tarantool.org References: <7f8dea571105b6780b05d633df0d75b8c1a8a3c1.1733909411.git.skaplun@tarantool.org> In-Reply-To: X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD977EAE61095F37AC56DA83E944C60B7F01FF5E58BE572B7FA182A05F5380850402CC672BEA40F9B823DE06ABAFEAF6705CA436F2C0C3BED1C338BD3B16AF8E0BE2EB2DA79D556EF8B X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE728A881FD0F09D355EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637DC5FF0CF1FFF13268638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D89D5C76C7EABD569543D207E03C6A94D9413470077ACD7716CC7F00164DA146DAFE8445B8C89999728AA50765F7900637FD2911E685725BF8389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8D2DCF9CF1F528DBCF6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA73AA81AA40904B5D9A18204E546F3947C86A7C529F68B8E5CAD7EC71F1DB884274AD6D5ED66289B523666184CF4C3C14F6136E347CC761E07725E5C173C3A84C3F8A13C3983F94D3BBA3038C0950A5D36B5C8C57E37DE458B330BD67F2E7D9AF16D1867E19FE14079C09775C1D3CA48CFE478A468B35FE7671DD303D21008E298D5E8D9A59859A8B652D31B9D28593E5175ECD9A6C639B01B78DA827A17800CE7D489B3DD59F4BFD0731C566533BA786AA5CC5B56E945C8DA X-C1DE0DAB: 0D63561A33F958A515DB63B7A57BDBF85002B1117B3ED696FF6F7C311B6DBB33559C6C5561145D6F823CB91A9FED034534781492E4B8EEADD0953842B444AAC3BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CFBB25A294E872E2161235DA80DCFA8E580CA810FE2C347CF673F5B8598CA49F50BF40353A1B84A4500B0B9839AE4C716C96AB694D8B7F1E1C4EC6D43B52732CBB6B07219EFAFCFAB95F4332CA8FE04980913E6812662D5F2AB9AF64DB4688768036DF5FE9C0001AF333F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojrmbv0RPnqfRrNvF/tdgBTg== X-Mailru-Sender: C4F68CFF4024C8867DFDF7C7F2588458A15A243D07C41E76CFE9FA76EDA5B4B7C82BC7AE913D776FB482A3FB00137EE9645D15D82EE4B272BD6E4642A116CA93524AA66B5ACBE6721EF430B9A63E2A504198E0F3ECE9B5443453F38A29522196 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v5 luajit 2/3] cmake: run tests with Valgrind X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This is a multi-part message in MIME format. --------------464PW0Nny8GgtsNuNdVfb1iC Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello, Thanks for fixes! LGTM after fixing minor comments below. On 16.12.2024 19:40, Sergey Kaplun wrote: > Hi, Sergey! > Thansk for the review! > See my answers below, all patches are force-pushed to the branch. > The branch is rebased on master. > > On 13.12.24, Sergey Bronnikov wrote: > > | cmake: run tests with Valgrind > | > | This patch enables running tests with Valgrind. There is a > | `VALGRIND_OPTS` variable [1] that we can set -- it makes the usage of > | Valgrind more flexible -- we can define any necessary flags in the > | command line (not at the building stage). By default, the suppression > | files are set to (original suppression file in LuaJIT) and > | an additional one (maintained by us). > | > | Also, this patch disables the following tests when running with Valgrind > | due to failures. please replace dot with colon, because below the enumeration of disabled tests > | > | The test is > | disabled due to its time sensitivity (it is not run the expected amount > | of time with Valgrind). > | > | These tests from the tarantool-tests suite are disabled due to > | tarantool/tarantool#10803: > | - lj-726-profile-flush-close.test.lua > | - profilers/gh-5688-tool-cli-flag.test.lua > | - profilers/gh-7264-add-proto-trace-sysprof-default.test.lua > | - profilers/misclib-sysprof-lapi.test.lua > | > | Timed out due to running under Valgrind: > | - tarantool-c-tests/gh-8594-sysprof-ffunc-crash.c_test > | - tarantool-tests/gh-7745-oom-on-trace.test.lua > | - tarantool-tests/lj-1034-tabov-error-frame.test.lua > | > | [1]:https://valgrind.org/docs/manual/manual-core.html#manual-core.defopts > | > | Part of tarantool/tarantool#3705 > >>> --- >>> CMakeLists.txt | 5 +++++ >>> src/lj_extra.supp | 19 +++++++++++++++++++ >>> test/CMakeLists.txt | 19 +++++++++++++++++++ >>> test/tarantool-c-tests/CMakeLists.txt | 11 ++++++++++- >>> .../gh-8594-sysprof-ffunc-crash.test.c | 9 +++++++++ >>> test/tarantool-tests/CMakeLists.txt | 6 ++++++ >>> .../gh-7745-oom-on-trace.test.lua | 1 + >>> .../lj-1034-tabov-error-frame.test.lua | 1 + >>> .../lj-512-profiler-hook-finalizers.test.lua | 5 ++++- >>> .../lj-726-profile-flush-close.test.lua | 5 ++++- >>> .../profilers/gh-5688-tool-cli-flag.test.lua | 2 ++ >>> ...4-add-proto-trace-sysprof-default.test.lua | 2 ++ >>> .../profilers/misclib-sysprof-lapi.test.lua | 2 ++ >>> 13 files changed, 84 insertions(+), 3 deletions(-) >>> create mode 100644 src/lj_extra.supp >>> > Added the comment. > =================================================================== > diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt > index d9cab615..9685c494 100644 > --- a/test/CMakeLists.txt > +++ b/test/CMakeLists.txt > @@ -88,6 +88,8 @@ if(LUAJIT_USE_VALGRIND) > --suppressions=${LUAJIT_SOURCE_DIR}/lj.supp > --suppressions=${LUAJIT_SOURCE_DIR}/lj_extra.supp > ) > + # Set the exit code to non-zero to automatically detect > + # failing tests. because "when set to the default value (zero), the return value from Valgrind will always be the return value of the process being simulated.", I believe it is an important thing, and it's worth to add to comment. > set(LUAJIT_TEST_COMMAND > "${VALGRIND} --error-exitcode=1 " > "${LUAJIT_TEST_VALGRIND_SUPP} ${LUAJIT_TEST_COMMAND}") > =================================================================== > >>> + "${LUAJIT_TEST_VALGRIND_SUPP} ${LUAJIT_TEST_COMMAND}") >> With "list(APPEND BENCHMARK_CMAKE_FLAGS "AA" "BB")" you don't need >> trailing whitespaces. >> >> Please replace "set()" with "list(APPEND ... )" like above. > I suppose you mean `list(PREPEND ...)` [1] (since `APPEND` inserts > elements into the end of the list), but this is available only from > CMake version 3.15, while the minimum supported version is 2.8. So, > ignored for now. > > [1]:https://cmake.org/cmake/help/latest/command/list.html#prepend > >>> +endif() >>> + >>> separate_arguments(LUAJIT_TEST_COMMAND) >>> >>> set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") >>> diff --git a/test/tarantool-c-tests/CMakeLists.txt b/test/tarantool-c-tests/CMakeLists.txt >>> index 30d174bb..5f6c45da 100644 >>> --- a/test/tarantool-c-tests/CMakeLists.txt >>> +++ b/test/tarantool-c-tests/CMakeLists.txt >>> @@ -56,10 +56,19 @@ foreach(test_source ${tests}) >>> >>> # Generate CMake tests. >>> set(test_title "test/${TEST_SUITE_NAME}/${exe}${C_TEST_SUFFIX}") >>> + set(test_command ${CMAKE_CURRENT_BINARY_DIR}/${exe}${C_TEST_SUFFIX}) >>> + >>> + if(LUAJIT_USE_VALGRIND) >>> + set(test_command ${VALGRIND} --error-exitcode=1 ${LUAJIT_TEST_VALGRIND_SUPP} >> The same already defined in test/CMakeLists.txt, could you reuse already >> defined value? > Yes, good catch! > =================================================================== > diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt > index 9685c494..fcd697c9 100644 > --- a/test/CMakeLists.txt > +++ b/test/CMakeLists.txt > @@ -90,9 +90,10 @@ if(LUAJIT_USE_VALGRIND) > ) > # Set the exit code to non-zero to automatically detect > # failing tests. > + set(LUAJIT_TEST_VALGRIND_COMMAND > + ${VALGRIND} --error-exitcode=1 ${LUAJIT_TEST_VALGRIND_SUPP}) bad indentation > set(LUAJIT_TEST_COMMAND > - "${VALGRIND} --error-exitcode=1 " > - "${LUAJIT_TEST_VALGRIND_SUPP} ${LUAJIT_TEST_COMMAND}") > + "${LUAJIT_TEST_VALGRIND_COMMAND} ${LUAJIT_TEST_COMMAND}") bad indentation > endif() > > separate_arguments(LUAJIT_TEST_COMMAND) > diff --git a/test/tarantool-c-tests/CMakeLists.txt b/test/tarantool-c-tests/CMakeLists.txt > index 5f6c45da..c4a402d0 100644 > --- a/test/tarantool-c-tests/CMakeLists.txt > +++ b/test/tarantool-c-tests/CMakeLists.txt > @@ -59,9 +59,7 @@ foreach(test_source ${tests}) > set(test_command ${CMAKE_CURRENT_BINARY_DIR}/${exe}${C_TEST_SUFFIX}) > > if(LUAJIT_USE_VALGRIND) > - set(test_command ${VALGRIND} --error-exitcode=1 ${LUAJIT_TEST_VALGRIND_SUPP} > - ${test_command} > - ) > + set(test_command ${LUAJIT_TEST_VALGRIND_COMMAND} ${test_command}) > endif() > > add_test(NAME ${test_title} > =================================================================== > >>> + ${test_command} >>> + ) >>> + endif() >>> + >>> add_test(NAME ${test_title} >>> - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${exe}${C_TEST_SUFFIX} >>> + COMMAND ${test_command} >>> WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} >>> ) >>> + >>> set_tests_properties(${test_title} PROPERTIES >>> LABELS ${TEST_SUITE_NAME} >>> DEPENDS tarantool-c-tests-deps >>> diff --git a/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c b/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c >>> index cf1d815a..35108e77 100644 >>> --- a/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c >>> +++ b/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c >>> @@ -46,6 +46,8 @@ >>> * *https://github.com/tarantool/tarantool/issues/9387 >>> */ >>> >>> +#define UNUSED(x) ((void)(x)) >>> + >>> #define MESSAGE "Canary is alive" >>> #define LUACALL "local a = tostring('" MESSAGE "') return a" >>> >>> @@ -248,6 +250,12 @@ static int tracer(pid_t chpid) >>> >>> static int test_tostring_call(void *ctx) >>> { >>> +#if LUAJIT_USE_VALGRIND >>> + UNUSED(ctx); >>> + UNUSED(tracer); >>> + UNUSED(tracee); >>> + return skip("Disabled with Valgrind (Timeout)"); >>> +#else >>> pid_t chpid = fork(); >>> switch(chpid) { >>> case -1: >>> @@ -264,6 +272,7 @@ static int test_tostring_call(void *ctx) >>> default: >>> return tracer(chpid); >>> } >>> +#endif >> I propose to use a testsuite specific timeout for tarantool-c-tests >> >> and increase it's value instead of disabling tests. >> >> Hint: we can set increased timeout under option LUAJIT_USE_VALGRIND only. > The problem is that this test will run for too long, so it is just > easier to skip it. > Okay. >>> } >>> >>> #else /* LUAJIT_OS == LUAJIT_OS_LINUX && LUAJIT_TARGET == LUAJIT_ARCH_X64 */ > > --------------464PW0Nny8GgtsNuNdVfb1iC Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hello,

Thanks for fixes!

LGTM after fixing minor comments below.

On 16.12.2024 19:40, Sergey Kaplun wrote:
Hi, Sergey!
Thansk for the review!
See my answers below, all patches are force-pushed to the branch.
The branch is rebased on master.

On 13.12.24, Sergey Bronnikov wrote:

<snipped>
| cmake: run tests with Valgrind
|
| This patch enables running tests with Valgrind. There is a
| `VALGRIND_OPTS` variable [1] that we can set -- it makes the usage of
| Valgrind more flexible -- we can define any necessary flags in the
| command line (not at the building stage). By default, the suppression
| files are set to <src/lj.supp> (original suppression file in LuaJIT) and
| an additional one <src/lj_extra.supp> (maintained by us).
|
| Also, this patch disables the following tests when running with Valgrind
| due to failures.
please replace dot with colon, because below the enumeration of disabled tests
|
| The <tarantool-tests/lj-512-profiler-hook-finalizers.test.lua> test is
| disabled due to its time sensitivity (it is not run the expected amount
| of time with Valgrind).
|
| These tests from the tarantool-tests suite are disabled due to
| tarantool/tarantool#10803:
|   - lj-726-profile-flush-close.test.lua
|   - profilers/gh-5688-tool-cli-flag.test.lua
|   - profilers/gh-7264-add-proto-trace-sysprof-default.test.lua
|   - profilers/misclib-sysprof-lapi.test.lua
|
| Timed out due to running under Valgrind:
|   - tarantool-c-tests/gh-8594-sysprof-ffunc-crash.c_test
|   - tarantool-tests/gh-7745-oom-on-trace.test.lua
|   - tarantool-tests/lj-1034-tabov-error-frame.test.lua
|
| [1]: https://valgrind.org/docs/manual/manual-core.html#manual-core.defopts
|
| Part of tarantool/tarantool#3705

---
  CMakeLists.txt                                |  5 +++++
  src/lj_extra.supp                             | 19 +++++++++++++++++++
  test/CMakeLists.txt                           | 19 +++++++++++++++++++
  test/tarantool-c-tests/CMakeLists.txt         | 11 ++++++++++-
  .../gh-8594-sysprof-ffunc-crash.test.c        |  9 +++++++++
  test/tarantool-tests/CMakeLists.txt           |  6 ++++++
  .../gh-7745-oom-on-trace.test.lua             |  1 +
  .../lj-1034-tabov-error-frame.test.lua        |  1 +
  .../lj-512-profiler-hook-finalizers.test.lua  |  5 ++++-
  .../lj-726-profile-flush-close.test.lua       |  5 ++++-
  .../profilers/gh-5688-tool-cli-flag.test.lua  |  2 ++
  ...4-add-proto-trace-sysprof-default.test.lua |  2 ++
  .../profilers/misclib-sysprof-lapi.test.lua   |  2 ++
  13 files changed, 84 insertions(+), 3 deletions(-)
  create mode 100644 src/lj_extra.supp


<snipped>

Added the comment.
===================================================================
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index d9cab615..9685c494 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -88,6 +88,8 @@ if(LUAJIT_USE_VALGRIND)
     --suppressions=${LUAJIT_SOURCE_DIR}/lj.supp
     --suppressions=${LUAJIT_SOURCE_DIR}/lj_extra.supp
   )
+  # Set the exit code to non-zero to automatically detect
+  # failing tests.
because "when set to the default value (zero),
the return value from Valgrind will always be the return value of the
process being simulated.", I believe it is an important thing, and it's worth to add to comment.
   set(LUAJIT_TEST_COMMAND
     "${VALGRIND} --error-exitcode=1 "
     "${LUAJIT_TEST_VALGRIND_SUPP} ${LUAJIT_TEST_COMMAND}")
===================================================================


        
+    "${LUAJIT_TEST_VALGRIND_SUPP} ${LUAJIT_TEST_COMMAND}")
With "list(APPEND BENCHMARK_CMAKE_FLAGS "AA" "BB")" you don't need 
trailing whitespaces.

Please replace "set()" with "list(APPEND ... )" like above.
I suppose you mean `list(PREPEND ...)` [1] (since `APPEND` inserts
elements into the end of the list), but this is available only from
CMake version 3.15, while the minimum supported version is 2.8. So,
ignored for now.

[1]: https://cmake.org/cmake/help/latest/command/list.html#prepend


        
+endif()
+
  separate_arguments(LUAJIT_TEST_COMMAND)
  
  set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
diff --git a/test/tarantool-c-tests/CMakeLists.txt b/test/tarantool-c-tests/CMakeLists.txt
index 30d174bb..5f6c45da 100644
--- a/test/tarantool-c-tests/CMakeLists.txt
+++ b/test/tarantool-c-tests/CMakeLists.txt
@@ -56,10 +56,19 @@ foreach(test_source ${tests})
  
    # Generate CMake tests.
    set(test_title "test/${TEST_SUITE_NAME}/${exe}${C_TEST_SUFFIX}")
+  set(test_command ${CMAKE_CURRENT_BINARY_DIR}/${exe}${C_TEST_SUFFIX})
+
+  if(LUAJIT_USE_VALGRIND)
+    set(test_command ${VALGRIND} --error-exitcode=1 ${LUAJIT_TEST_VALGRIND_SUPP}
The same already defined in test/CMakeLists.txt, could you reuse already 
defined value?
Yes, good catch!
===================================================================
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 9685c494..fcd697c9 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -90,9 +90,10 @@ if(LUAJIT_USE_VALGRIND)
   )
   # Set the exit code to non-zero to automatically detect
   # failing tests.
+  set(LUAJIT_TEST_VALGRIND_COMMAND
+    ${VALGRIND} --error-exitcode=1 ${LUAJIT_TEST_VALGRIND_SUPP})
bad indentation
   set(LUAJIT_TEST_COMMAND
-    "${VALGRIND} --error-exitcode=1 "
-    "${LUAJIT_TEST_VALGRIND_SUPP} ${LUAJIT_TEST_COMMAND}")
+    "${LUAJIT_TEST_VALGRIND_COMMAND} ${LUAJIT_TEST_COMMAND}")
bad indentation
 endif()
 
 separate_arguments(LUAJIT_TEST_COMMAND)
diff --git a/test/tarantool-c-tests/CMakeLists.txt b/test/tarantool-c-tests/CMakeLists.txt
index 5f6c45da..c4a402d0 100644
--- a/test/tarantool-c-tests/CMakeLists.txt
+++ b/test/tarantool-c-tests/CMakeLists.txt
@@ -59,9 +59,7 @@ foreach(test_source ${tests})
   set(test_command ${CMAKE_CURRENT_BINARY_DIR}/${exe}${C_TEST_SUFFIX})
 
   if(LUAJIT_USE_VALGRIND)
-    set(test_command ${VALGRIND} --error-exitcode=1 ${LUAJIT_TEST_VALGRIND_SUPP}
-      ${test_command}
-    )
+    set(test_command ${LUAJIT_TEST_VALGRIND_COMMAND} ${test_command})
   endif()
 
   add_test(NAME ${test_title}
===================================================================

+      ${test_command}
+    )
+  endif()
+
    add_test(NAME ${test_title}
-    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${exe}${C_TEST_SUFFIX}
+    COMMAND ${test_command}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
    )
+
    set_tests_properties(${test_title} PROPERTIES
      LABELS ${TEST_SUITE_NAME}
      DEPENDS tarantool-c-tests-deps
diff --git a/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c b/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c
index cf1d815a..35108e77 100644
--- a/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c
+++ b/test/tarantool-c-tests/gh-8594-sysprof-ffunc-crash.test.c
@@ -46,6 +46,8 @@
   * *https://github.com/tarantool/tarantool/issues/9387
   */
  
+#define UNUSED(x) ((void)(x))
+
  #define MESSAGE "Canary is alive"
  #define LUACALL "local a = tostring('" MESSAGE "') return a"
  
@@ -248,6 +250,12 @@ static int tracer(pid_t chpid)
  
  static int test_tostring_call(void *ctx)
  {
+#if LUAJIT_USE_VALGRIND
+	UNUSED(ctx);
+	UNUSED(tracer);
+	UNUSED(tracee);
+	return skip("Disabled with Valgrind (Timeout)");
+#else
  	pid_t chpid = fork();
  	switch(chpid) {
  	case -1:
@@ -264,6 +272,7 @@ static int test_tostring_call(void *ctx)
  	default:
  		return tracer(chpid);
  	}
+#endif
I propose to use a testsuite specific timeout for tarantool-c-tests

and increase it's value instead of disabling tests.

Hint: we can set increased timeout under option LUAJIT_USE_VALGRIND only.
The problem is that this test will run for too long, so it is just
easier to skip it.

Okay.


        
  }
  
  #else /* LUAJIT_OS == LUAJIT_OS_LINUX && LUAJIT_TARGET == LUAJIT_ARCH_X64 */
<snipped>

--------------464PW0Nny8GgtsNuNdVfb1iC--