From 495d0da36bf0a8eaf92a3dfb901dae632b83a50a Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Tue, 26 Sep 2023 14:45:32 -0400 Subject: Tests: Use real directory in TestsWorkingDirectory --- Tests/TestsWorkingDirectory/CMakeLists.txt | 14 ++++++++------ Tests/TestsWorkingDirectory/subdir/CMakeLists.txt | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/Tests/TestsWorkingDirectory/CMakeLists.txt b/Tests/TestsWorkingDirectory/CMakeLists.txt index f77370c..c7b58a9 100644 --- a/Tests/TestsWorkingDirectory/CMakeLists.txt +++ b/Tests/TestsWorkingDirectory/CMakeLists.txt @@ -7,30 +7,32 @@ enable_testing() set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin") -add_test(NAME WorkingDirectory0 COMMAND WorkingDirectory "${CMAKE_BINARY_DIR}") +file(REAL_PATH "${CMAKE_BINARY_DIR}" _real_binary_dir) -add_test(NAME WorkingDirectory1 COMMAND WorkingDirectory "${CMAKE_BINARY_DIR}") +add_test(NAME WorkingDirectory0 COMMAND WorkingDirectory "${_real_binary_dir}") + +add_test(NAME WorkingDirectory1 COMMAND WorkingDirectory "${_real_binary_dir}") set_tests_properties(WorkingDirectory1 PROPERTIES WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" ) -string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${CMAKE_BINARY_DIR}") +string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${_real_binary_dir}") add_test(NAME WorkingDirectory2 COMMAND WorkingDirectory "${_parent_dir}") set_tests_properties(WorkingDirectory2 PROPERTIES WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/.." ) -set(_default_cwd "${CMAKE_BINARY_DIR}") +set(_default_cwd "${_real_binary_dir}") # FIXME: How to deal with /debug, /release, etc. with VS or Xcode? if(${CMAKE_GENERATOR} MATCHES "Makefiles") add_test(WorkingDirectory3 ${EXECUTABLE_OUTPUT_PATH}/WorkingDirectory ${_default_cwd}) endif() -add_test(NAME WorkingDirectory4 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND WorkingDirectory ${CMAKE_BINARY_DIR}) +add_test(NAME WorkingDirectory4 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND WorkingDirectory ${_real_binary_dir}) -string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${CMAKE_BINARY_DIR}") +string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${_real_binary_dir}") add_test(NAME WorkingDirectory5 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/.. COMMAND WorkingDirectory ${_parent_dir}) diff --git a/Tests/TestsWorkingDirectory/subdir/CMakeLists.txt b/Tests/TestsWorkingDirectory/subdir/CMakeLists.txt index c16b1db..a7f32b8 100644 --- a/Tests/TestsWorkingDirectory/subdir/CMakeLists.txt +++ b/Tests/TestsWorkingDirectory/subdir/CMakeLists.txt @@ -1,27 +1,29 @@ -add_test(NAME WorkingDirectory-Subdir0 COMMAND WorkingDirectory "${CMAKE_CURRENT_BINARY_DIR}") +file(REAL_PATH "${CMAKE_CURRENT_BINARY_DIR}" _real_current_binary_dir) -add_test(NAME WorkingDirectory-Subdir1 COMMAND WorkingDirectory "${CMAKE_CURRENT_BINARY_DIR}") +add_test(NAME WorkingDirectory-Subdir0 COMMAND WorkingDirectory "${_real_current_binary_dir}") + +add_test(NAME WorkingDirectory-Subdir1 COMMAND WorkingDirectory "${_real_current_binary_dir}") set_tests_properties(WorkingDirectory-Subdir1 PROPERTIES WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" ) -string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${CMAKE_CURRENT_BINARY_DIR}") +string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${_real_current_binary_dir}") add_test(NAME WorkingDirectory-Subdir2 COMMAND WorkingDirectory "${_parent_dir}") set_tests_properties(WorkingDirectory-Subdir2 PROPERTIES WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/.." ) -set(_default_cwd "${CMAKE_CURRENT_BINARY_DIR}") +set(_default_cwd "${_real_current_binary_dir}") # FIXME: How to deal with /debug, /release, etc. with VS or Xcode? if(${CMAKE_GENERATOR} MATCHES "Makefiles") add_test(WorkingDirectory-Subdir3 ${EXECUTABLE_OUTPUT_PATH}/WorkingDirectory ${_default_cwd}) endif() -add_test(NAME WorkingDirectory-Subdir4 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND WorkingDirectory ${CMAKE_CURRENT_BINARY_DIR}) +add_test(NAME WorkingDirectory-Subdir4 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND WorkingDirectory ${_real_current_binary_dir}) -string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${CMAKE_CURRENT_BINARY_DIR}") +string(REGEX REPLACE "/[^/]*$" "" _parent_dir "${_real_current_binary_dir}") add_test(NAME WorkingDirectory-Subdir5 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.. COMMAND WorkingDirectory ${_parent_dir}) -- cgit v0.12