commit 2cf1a85f1083e8661b51aacdb45ff8c89ff55c27 from: Sergey Bronnikov date: Tue Sep 17 13:35:17 2024 UTC test: cleanup workdirs in TAP tests [TO SQUASH] NO_CHANGELOG=internal NO_DOC=internal NO_TEST=internal commit - c1098b5de7f4e6bfeab6b24855e09a1a45fed521 commit + 2cf1a85f1083e8661b51aacdb45ff8c89ff55c27 blob - 95270a87ac546c7abec3eea1935187f909d69b76 blob + 7ce7c32c35bb72ca909a8414aea142a55d05521c --- CMakeLists.txt +++ CMakeLists.txt @@ -83,6 +83,7 @@ function(_add_test_suite_target target) set(noValues) set(singleValues LABELS) set(multiValues DEPENDS) + set(multiValues TARANTOOL_WORKDIRS_PATH) # FIXME: if we update to CMake >= 3.5, can remove this line. include(CMakeParseArguments) @@ -94,7 +95,17 @@ function(_add_test_suite_target target) set(_DEPS_TARGET ${target}-deps) - add_custom_target(${_DEPS_TARGET} DEPENDS ${ARG_DEPENDS}) + if (ARG_TARANTOOL_WORKDIRS_PATH) + set(_CLEANUP_WORKDIR_TARGET "${target}-cleanup") + set(_CLEANUP_WORKDIR_MASK "${ARG_TARANTOOL_WORKDIRS_PATH}/*-workdir/*") + add_custom_target(${_CLEANUP_WORKDIR_TARGET} + # XXX: `remove_directory` is deprecated since version 3.17, + # use `rm` instead, it was introduced in 3.17. + COMMAND ${CMAKE_COMMAND} -E remove_directory "${_CLEANUP_WORKDIR_MASK}" + ) + endif() + + add_custom_target(${_DEPS_TARGET} DEPENDS ${ARG_DEPENDS} ${_CLEANUP_WORKDIR_TARGET}) add_test(NAME ${_DEPS_TARGET} COMMAND ${CMAKE_COMMAND} blob - e76a7111ea6f4c65f655091f735fab50726d3ae5 blob + f384e60b10d8fb905ae9e73082fb548f63b1af31 --- test/app-tap/CMakeLists.txt +++ test/app-tap/CMakeLists.txt @@ -28,6 +28,7 @@ set(TARANTOOL_BIN $) _add_test_suite_target(${TEST_SUITE_NAME} LABELS ${TEST_SUITE_NAME} DEPENDS tarantool module_api + TARANTOOL_WORKDIRS_PATH "${CMAKE_CURRENT_BINARY_DIR}" ) file(GLOB tests ${CMAKE_CURRENT_SOURCE_DIR} *.test.lua) @@ -45,7 +46,7 @@ foreach(test_path ${tests}) ${test_path} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") file(MAKE_DIRECTORY ${work_dir}) set_tests_properties(${test_title} PROPERTIES ENVIRONMENT "LUA_PATH=${LUA_PATH};LUA_CPATH=${LUA_CPATH};TT_WORK_DIR=${work_dir};" blob - a23f8605867c09ad97ca6edb2d19461f40e47065 blob + 6f0c7fc52b7148e54ce4a6efe3039dfc6d0ad74f --- test/box-tap/CMakeLists.txt +++ test/box-tap/CMakeLists.txt @@ -8,6 +8,7 @@ set(TARANTOOL_BIN $) _add_test_suite_target(${TEST_SUITE_NAME} LABELS ${TEST_SUITE_NAME} DEPENDS tarantool check_merge_source + TARANTOOL_WORKDIRS_PATH "${CMAKE_CURRENT_BINARY_DIR}" ) file(GLOB tests ${CMAKE_CURRENT_SOURCE_DIR} *.test.lua) @@ -25,7 +26,7 @@ foreach(test_path ${tests}) ${test_path} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") file(MAKE_DIRECTORY ${work_dir}) set_tests_properties(${test_title} PROPERTIES ENVIRONMENT "TT_WORK_DIR=${work_dir};BUILDDIR=${PROJECT_BINARY_DIR};" blob - 9cb0f6c5f240e7635760a4dd058f193c906c00ea blob + f51d6f371a64feffe5c87ae7f814ce56dbda233b --- test/engine-tap/CMakeLists.txt +++ test/engine-tap/CMakeLists.txt @@ -11,6 +11,7 @@ set(TARANTOOL_BIN $) _add_test_suite_target(${TEST_SUITE_NAME} LABELS ${TEST_SUITE_NAME} DEPENDS tarantool + TARANTOOL_WORKDIRS_PATH "${CMAKE_CURRENT_BINARY_DIR}" ) file(GLOB tests ${CMAKE_CURRENT_SOURCE_DIR} *.test.lua) @@ -28,7 +29,7 @@ foreach(test_path ${tests}) ${test_path} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") file(MAKE_DIRECTORY ${work_dir}) set_tests_properties(${test_title} PROPERTIES ENVIRONMENT "LUA_PATH=${LUA_PATH};TT_WORK_DIR=${work_dir};" blob - 1b42709a3048795a679755758383dfc884d23807 blob + 93d2c843bb157f7d7c4753681b15dc6e35bb7823 --- test/sql-tap/CMakeLists.txt +++ test/sql-tap/CMakeLists.txt @@ -30,6 +30,7 @@ set(TARANTOOL_BIN $) _add_test_suite_target(${TEST_SUITE_NAME} LABELS ${TEST_SUITE_NAME} DEPENDS tarantool gh-5938-wrong-string-length gh-6024-funcs-return-bin gh-2579-custom-aggregate sql_uuid decimal + TARANTOOL_WORKDIRS_PATH "${CMAKE_CURRENT_BINARY_DIR}" ) file(GLOB tests ${CMAKE_CURRENT_SOURCE_DIR} *.test.lua) @@ -47,7 +48,7 @@ foreach(test_path ${tests}) ${test_path} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") file(MAKE_DIRECTORY ${work_dir}) set_tests_properties(${test_title} PROPERTIES ENVIRONMENT "LUA_PATH=${LUA_PATH};LUA_CPATH=${LUA_CPATH};BUILDDIR=${CMAKE_CURRENT_BINARY_DIR};TT_WORK_DIR=${work_dir};"