summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-06-26 12:39:14 (GMT)
committerKitware Robot <kwrobot@kitware.com>2024-06-26 12:39:31 (GMT)
commit1736e377404dcd3d111dbf0cf44d147c7886f94f (patch)
tree7fad4105d73100ace0b084b7e3bd7894180c75ac /Tests
parentad6d51c6777d7701e86eab1452c15a459bfa55f6 (diff)
parent95323c90a1a7599272d4e2a074d3ab4c856095cd (diff)
downloadCMake-1736e377404dcd3d111dbf0cf44d147c7886f94f.zip
CMake-1736e377404dcd3d111dbf0cf44d147c7886f94f.tar.gz
CMake-1736e377404dcd3d111dbf0cf44d147c7886f94f.tar.bz2
Merge topic 'issue-26041-filemakedirectory-result-optional-argument'
95323c90a1 file(MAKE_DIRECTORY): Add optional RESULT keyword to capture failure. Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9604
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/CMakeLists.txt1
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL-stdout.txt3
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL.cmake9
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS-stdout.txt1
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS.cmake7
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL-stdout.txt3
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL.cmake3
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS-stdout.txt1
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS.cmake2
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-result.txt (renamed from Tests/RunCMake/file/MAKE_DIRECTORY-fail-result.txt)0
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-stderr.txt9
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL.cmake (renamed from Tests/RunCMake/file/MAKE_DIRECTORY-fail.cmake)0
-rw-r--r--Tests/RunCMake/file-MAKE_DIRECTORY/RunCMakeTest.cmake7
-rw-r--r--Tests/RunCMake/file/MAKE_DIRECTORY-fail-stderr.txt9
-rw-r--r--Tests/RunCMake/file/RunCMakeTest.cmake2
16 files changed, 49 insertions, 11 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 213c18d..4977359 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -588,6 +588,7 @@ foreach(var
endif()
endforeach()
add_RunCMake_test(file-DOWNLOAD)
+add_RunCMake_test(file-MAKE_DIRECTORY)
add_RunCMake_test(file-RPATH
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-DCMake_TEST_ELF_LARGE=${CMake_TEST_ELF_LARGE}
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/CMakeLists.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/CMakeLists.txt
new file mode 100644
index 0000000..93ee9df
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.5)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL-stdout.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL-stdout.txt
new file mode 100644
index 0000000..63d46fd
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL-stdout.txt
@@ -0,0 +1,3 @@
+^-- Result=Failed to create directory: [^
+]*/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL-build/file/directory0 Error: [^
+]*$
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL.cmake b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL.cmake
new file mode 100644
index 0000000..0cfccbf
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-FAIL.cmake
@@ -0,0 +1,9 @@
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/file" "")
+
+file(MAKE_DIRECTORY
+ "${CMAKE_CURRENT_BINARY_DIR}/file/directory0"
+ "${CMAKE_CURRENT_BINARY_DIR}/file/directory1"
+ "${CMAKE_CURRENT_BINARY_DIR}/file/directory2"
+ RESULT resultVal
+)
+message(STATUS "Result=${resultVal}")
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS-stdout.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS-stdout.txt
new file mode 100644
index 0000000..09df4f9
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS-stdout.txt
@@ -0,0 +1 @@
+^-- Result=0
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS.cmake b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS.cmake
new file mode 100644
index 0000000..e0781ce
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-many-dirs-SUCCESS.cmake
@@ -0,0 +1,7 @@
+file(MAKE_DIRECTORY
+ "${CMAKE_CURRENT_BINARY_DIR}/file/directory0"
+ "${CMAKE_CURRENT_BINARY_DIR}/file/directory1"
+ "${CMAKE_CURRENT_BINARY_DIR}/file/directory2"
+ RESULT resultVal
+)
+message(STATUS "Result=${resultVal}")
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL-stdout.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL-stdout.txt
new file mode 100644
index 0000000..5d16178
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL-stdout.txt
@@ -0,0 +1,3 @@
+^-- Result=Failed to create directory: [^
+]*/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL-build/file/directory Error: [^
+]*$
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL.cmake b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL.cmake
new file mode 100644
index 0000000..0287d67
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-FAIL.cmake
@@ -0,0 +1,3 @@
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/file" "")
+file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/file/directory" RESULT resultVal)
+message(STATUS "Result=${resultVal}")
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS-stdout.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS-stdout.txt
new file mode 100644
index 0000000..09df4f9
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS-stdout.txt
@@ -0,0 +1 @@
+^-- Result=0
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS.cmake b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS.cmake
new file mode 100644
index 0000000..3005b83
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-Result-one-dir-SUCCESS.cmake
@@ -0,0 +1,2 @@
+file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/file/directory" RESULT resultVal)
+message(STATUS "Result=${resultVal}")
diff --git a/Tests/RunCMake/file/MAKE_DIRECTORY-fail-result.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-result.txt
index d00491f..d00491f 100644
--- a/Tests/RunCMake/file/MAKE_DIRECTORY-fail-result.txt
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-result.txt
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-stderr.txt b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-stderr.txt
new file mode 100644
index 0000000..2bc275c
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-stderr.txt
@@ -0,0 +1,9 @@
+^CMake Error at [^
+]*/MAKE_DIRECTORY-one-dir-FAIL.cmake:[0-9]+ \(file\):
+ file failed to create directory:
+
+ [^
+]*/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL-build/file/directory
+
+ because: [^
+]+$
diff --git a/Tests/RunCMake/file/MAKE_DIRECTORY-fail.cmake b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL.cmake
index 57a68e5..57a68e5 100644
--- a/Tests/RunCMake/file/MAKE_DIRECTORY-fail.cmake
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/MAKE_DIRECTORY-one-dir-FAIL.cmake
diff --git a/Tests/RunCMake/file-MAKE_DIRECTORY/RunCMakeTest.cmake b/Tests/RunCMake/file-MAKE_DIRECTORY/RunCMakeTest.cmake
new file mode 100644
index 0000000..1eacd90
--- /dev/null
+++ b/Tests/RunCMake/file-MAKE_DIRECTORY/RunCMakeTest.cmake
@@ -0,0 +1,7 @@
+include(RunCMake)
+
+run_cmake_script(MAKE_DIRECTORY-one-dir-FAIL)
+run_cmake_script(MAKE_DIRECTORY-Result-one-dir-FAIL)
+run_cmake_script(MAKE_DIRECTORY-Result-one-dir-SUCCESS)
+run_cmake_script(MAKE_DIRECTORY-Result-many-dirs-FAIL)
+run_cmake_script(MAKE_DIRECTORY-Result-many-dirs-SUCCESS)
diff --git a/Tests/RunCMake/file/MAKE_DIRECTORY-fail-stderr.txt b/Tests/RunCMake/file/MAKE_DIRECTORY-fail-stderr.txt
deleted file mode 100644
index 95fccdf..0000000
--- a/Tests/RunCMake/file/MAKE_DIRECTORY-fail-stderr.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-^CMake Error at [^
-]*/MAKE_DIRECTORY-fail.cmake:[0-9]+ \(file\):
- file failed to create directory:
-
- [^
-]*/Tests/RunCMake/file/MAKE_DIRECTORY-fail-build/file/directory
-
- because: [^
-]+$
diff --git a/Tests/RunCMake/file/RunCMakeTest.cmake b/Tests/RunCMake/file/RunCMakeTest.cmake
index be8ee7c..524636d 100644
--- a/Tests/RunCMake/file/RunCMakeTest.cmake
+++ b/Tests/RunCMake/file/RunCMakeTest.cmake
@@ -62,8 +62,6 @@ run_cmake_script(COPY_FILE-arg-unknown)
run_cmake_script(COPY_FILE-input-missing)
run_cmake_script(COPY_FILE-output-missing)
-run_cmake_script(MAKE_DIRECTORY-fail)
-
run_cmake_script(RENAME-file-replace)
run_cmake_script(RENAME-file-to-file)
run_cmake_script(RENAME-file-to-dir-capture)