commit 3f8b5847222d645c9c2102a377a65841348b0b37 from: Sergey Bronnikov date: Tue Sep 17 13:35:17 2024 UTC cmake: cleanup work dir in TAP tests [TO SQUASH] NO_CHANGELOG=internal NO_DOC=internal NO_TEST=internal commit - 2cf1a85f1083e8661b51aacdb45ff8c89ff55c27 commit + 3f8b5847222d645c9c2102a377a65841348b0b37 blob - 7ce7c32c35bb72ca909a8414aea142a55d05521c blob + 866417f0393626f038aedb36b2ca3bf131863dd7 --- CMakeLists.txt +++ CMakeLists.txt @@ -28,6 +28,7 @@ find_program(LD ld) find_program(CTAGS ctags) find_program(LUACHECK luacheck ENV PATH) find_program(PYTHON python) +find_program(RM rm) include (CTest) enable_testing() @@ -83,7 +84,6 @@ 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) @@ -95,17 +95,7 @@ function(_add_test_suite_target target) set(_DEPS_TARGET ${target}-deps) - 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_custom_target(${_DEPS_TARGET} DEPENDS ${ARG_DEPENDS}) add_test(NAME ${_DEPS_TARGET} COMMAND ${CMAKE_COMMAND} blob - f384e60b10d8fb905ae9e73082fb548f63b1af31 blob + 945331958f43113c2d1eed659922feefa4ae1aad --- test/app-tap/CMakeLists.txt +++ test/app-tap/CMakeLists.txt @@ -28,7 +28,6 @@ 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) @@ -41,13 +40,13 @@ foreach(test_path ${tests}) continue() endif() set(test_title "test/${TEST_SUITE_NAME}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") + file(MAKE_DIRECTORY ${work_dir}) + set(TEST_CMD "${RM} -f ${work_dir}/* && ${TARANTOOL_BIN} ${test_path}") add_test(NAME ${test_title} - COMMAND ${TARANTOOL_BIN} - ${test_path} + COMMAND ${BASH} -c "${TEST_CMD}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - 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};" LABELS "${TEST_SUITE_NAME};tap;integration" blob - 6f0c7fc52b7148e54ce4a6efe3039dfc6d0ad74f blob + b8d7bf4366aa95c295650f6b7469eff808236d37 --- test/box-tap/CMakeLists.txt +++ test/box-tap/CMakeLists.txt @@ -8,7 +8,6 @@ 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) @@ -21,13 +20,13 @@ foreach(test_path ${tests}) continue() endif() set(test_title "test/${TEST_SUITE_NAME}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") + file(MAKE_DIRECTORY ${work_dir}) + set(TEST_CMD "${RM} -f ${work_dir}/* && ${TARANTOOL_BIN} ${test_path}") add_test(NAME ${test_title} - COMMAND ${TARANTOOL_BIN} - ${test_path} + COMMAND ${BASH} -c "${TEST_CMD}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - 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};" LABELS "${TEST_SUITE_NAME};tap;integration" blob - f51d6f371a64feffe5c87ae7f814ce56dbda233b blob + a1cd089ae4a77679e7f7aed246f269deb0c8ff28 --- test/engine-tap/CMakeLists.txt +++ test/engine-tap/CMakeLists.txt @@ -11,7 +11,6 @@ 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) @@ -24,13 +23,13 @@ foreach(test_path ${tests}) continue() endif() set(test_title "test/${TEST_SUITE_NAME}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") + file(MAKE_DIRECTORY ${work_dir}) + set(TEST_CMD "${RM} -f ${work_dir}/* && ${TARANTOOL_BIN} ${test_path}") add_test(NAME ${test_title} - COMMAND ${TARANTOOL_BIN} - ${test_path} + COMMAND ${BASH} -c "${TEST_CMD}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - 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};" LABELS "${TEST_SUITE_NAME};tap;integration" blob - 93d2c843bb157f7d7c4753681b15dc6e35bb7823 blob + f4aceb641e2810c02d87323445bea22efa105289 --- test/sql-tap/CMakeLists.txt +++ test/sql-tap/CMakeLists.txt @@ -30,7 +30,6 @@ 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) @@ -43,13 +42,13 @@ foreach(test_path ${tests}) continue() endif() set(test_title "test/${TEST_SUITE_NAME}/${test_name}") + set(work_dir "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-workdir") + file(MAKE_DIRECTORY ${work_dir}) + set(TEST_CMD "${RM} -f ${work_dir}/* && ${TARANTOOL_BIN} ${test_path}") add_test(NAME ${test_title} - COMMAND ${TARANTOOL_BIN} - ${test_path} + COMMAND ${BASH} -c "${TEST_CMD}" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - 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};" LABELS "${TEST_SUITE_NAME};tap;integration"