summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-11-17 22:38:31 (GMT)
committerBrad King <brad.king@kitware.com>2022-11-18 14:01:44 (GMT)
commit9dda7c276cb2b46f422c1b36e9d4c5aa09c2ff35 (patch)
tree5f37fea60643c7086f69aae7e4635b0a1f4efead /Tests
parentd6af54c4733a11c345322665fbea0fbe9b0fd2d4 (diff)
downloadCMake-9dda7c276cb2b46f422c1b36e9d4c5aa09c2ff35.zip
CMake-9dda7c276cb2b46f422c1b36e9d4c5aa09c2ff35.tar.gz
CMake-9dda7c276cb2b46f422c1b36e9d4c5aa09c2ff35.tar.bz2
Tests: Factor out common helper in RunCMake.file-DOWNLOAD cases
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/common.cmake15
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/hash-mismatch-stderr.txt6
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/hash-mismatch.cmake10
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/hash-mismatch.txt0
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/input.pngbin0 -> 194 bytes
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/no-save-hash-stderr.txt3
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/no-save-hash.cmake13
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/unused-argument-stderr.txt3
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/unused-argument.cmake11
-rw-r--r--Tests/RunCMake/file-DOWNLOAD/unused-argument.txt0
10 files changed, 34 insertions, 27 deletions
diff --git a/Tests/RunCMake/file-DOWNLOAD/common.cmake b/Tests/RunCMake/file-DOWNLOAD/common.cmake
new file mode 100644
index 0000000..6aa2fe6
--- /dev/null
+++ b/Tests/RunCMake/file-DOWNLOAD/common.cmake
@@ -0,0 +1,15 @@
+if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" MATCHES "^/")
+ set(slash /)
+endif()
+set(url "file://${slash}${CMAKE_CURRENT_SOURCE_DIR}/input.png")
+set(file ${CMAKE_CURRENT_BINARY_DIR}/output.png)
+
+function(file_download)
+ file(DOWNLOAD "${url}"
+ ${file} # leave unquoted
+ TIMEOUT 30
+ STATUS status
+ ${ARGN}
+ )
+ message(STATUS "status='${status}'")
+endfunction()
diff --git a/Tests/RunCMake/file-DOWNLOAD/hash-mismatch-stderr.txt b/Tests/RunCMake/file-DOWNLOAD/hash-mismatch-stderr.txt
index 80112bf..6682794 100644
--- a/Tests/RunCMake/file-DOWNLOAD/hash-mismatch-stderr.txt
+++ b/Tests/RunCMake/file-DOWNLOAD/hash-mismatch-stderr.txt
@@ -1,11 +1,11 @@
^CMake Error at hash-mismatch.cmake:[0-9]+ \(file\):
file DOWNLOAD HASH mismatch
- for file: \[.*/Tests/RunCMake/file-DOWNLOAD/hash-mismatch-build/hash-mismatch.txt\]
+ for file: \[.*/Tests/RunCMake/file-DOWNLOAD/hash-mismatch-build/output.png\]
expected hash: \[0123456789abcdef0123456789abcdef01234567\]
- actual hash: \[da39a3ee5e6b4b0d3255bfef95601890afd80709\]
+ actual hash: \[67eee17f79d9ac557284fc0b8ad19f25723fb578\]
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)
+
-status='1;HASH mismatch: expected: 0123456789abcdef0123456789abcdef01234567 actual: da39a3ee5e6b4b0d3255bfef95601890afd80709'$
+status='1;HASH mismatch: expected: 0123456789abcdef0123456789abcdef01234567 actual: 67eee17f79d9ac557284fc0b8ad19f25723fb578'$
diff --git a/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.cmake b/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.cmake
index 6b51d4e..e3f91e3 100644
--- a/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.cmake
+++ b/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.cmake
@@ -1,10 +1,8 @@
-if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" MATCHES "^/")
- set(slash /)
-endif()
-file(DOWNLOAD
- "file://${slash}${CMAKE_CURRENT_SOURCE_DIR}/hash-mismatch.txt"
- ${CMAKE_CURRENT_BINARY_DIR}/hash-mismatch.txt
+include(common.cmake)
+
+file(DOWNLOAD ${url} ${file}
EXPECTED_HASH SHA1=0123456789abcdef0123456789abcdef01234567
+ TIMEOUT 30
STATUS status
)
message("status='${status}'")
diff --git a/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.txt b/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.txt
deleted file mode 100644
index e69de29..0000000
--- a/Tests/RunCMake/file-DOWNLOAD/hash-mismatch.txt
+++ /dev/null
diff --git a/Tests/RunCMake/file-DOWNLOAD/input.png b/Tests/RunCMake/file-DOWNLOAD/input.png
new file mode 100644
index 0000000..9ab565a
--- /dev/null
+++ b/Tests/RunCMake/file-DOWNLOAD/input.png
Binary files differ
diff --git a/Tests/RunCMake/file-DOWNLOAD/no-save-hash-stderr.txt b/Tests/RunCMake/file-DOWNLOAD/no-save-hash-stderr.txt
index 9e38cc3..8f2f885 100644
--- a/Tests/RunCMake/file-DOWNLOAD/no-save-hash-stderr.txt
+++ b/Tests/RunCMake/file-DOWNLOAD/no-save-hash-stderr.txt
@@ -1,4 +1,5 @@
-^CMake Error at no-save-hash\.cmake:[0-9]+ \(file\):
+^CMake Error at common\.cmake:[0-9]+ \(file\):
file DOWNLOAD cannot calculate hash if file is not saved\.
Call Stack \(most recent call first\):
+ no-save-hash.cmake:[0-9]+ \(file_download\)
CMakeLists\.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/file-DOWNLOAD/no-save-hash.cmake b/Tests/RunCMake/file-DOWNLOAD/no-save-hash.cmake
index 3a001f3..7fdc397 100644
--- a/Tests/RunCMake/file-DOWNLOAD/no-save-hash.cmake
+++ b/Tests/RunCMake/file-DOWNLOAD/no-save-hash.cmake
@@ -1,8 +1,5 @@
-if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" MATCHES "^/")
- set(slash /)
-endif()
-file(DOWNLOAD
- "file://${slash}${CMAKE_CURRENT_SOURCE_DIR}/no-save-md5.txt"
- EXPECTED_HASH MD5=55555555555555555555555555555555
- STATUS status
- )
+include(common.cmake)
+
+# Test downloading without saving to a file.
+set(file "")
+file_download(EXPECTED_HASH MD5=55555555555555555555555555555555)
diff --git a/Tests/RunCMake/file-DOWNLOAD/unused-argument-stderr.txt b/Tests/RunCMake/file-DOWNLOAD/unused-argument-stderr.txt
index d5fb3a6..f7cfc4f 100644
--- a/Tests/RunCMake/file-DOWNLOAD/unused-argument-stderr.txt
+++ b/Tests/RunCMake/file-DOWNLOAD/unused-argument-stderr.txt
@@ -1,5 +1,6 @@
-^CMake Warning \(dev\) at unused-argument.cmake:[0-9]+ \(file\):
+^CMake Warning \(dev\) at common.cmake:[0-9]+ \(file\):
Unexpected argument: JUNK
Call Stack \(most recent call first\):
+ unused-argument.cmake:[0-9]+ \(file_download\)
CMakeLists.txt:[0-9]+ \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.$
diff --git a/Tests/RunCMake/file-DOWNLOAD/unused-argument.cmake b/Tests/RunCMake/file-DOWNLOAD/unused-argument.cmake
index b97f1de..6f7f597 100644
--- a/Tests/RunCMake/file-DOWNLOAD/unused-argument.cmake
+++ b/Tests/RunCMake/file-DOWNLOAD/unused-argument.cmake
@@ -1,8 +1,3 @@
-if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" MATCHES "^/")
- set(slash /)
-endif()
-file(DOWNLOAD
- "file://${slash}${CMAKE_CURRENT_SOURCE_DIR}/unused-argument.txt"
- "${CMAKE_CURRENT_BINARY_DIR}/unused-argument.txt"
- JUNK
- )
+include(common.cmake)
+
+file_download(JUNK)
diff --git a/Tests/RunCMake/file-DOWNLOAD/unused-argument.txt b/Tests/RunCMake/file-DOWNLOAD/unused-argument.txt
deleted file mode 100644
index e69de29..0000000
--- a/Tests/RunCMake/file-DOWNLOAD/unused-argument.txt
+++ /dev/null