summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests/FileDownloadTest.cmake.in
blob: 4d5145badb37e9a722c25c89aa8418e7ecc4efb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
set(timeout 4)

if(NOT "@CMAKE_CURRENT_SOURCE_DIR@" MATCHES "^/")
  set(slash /)
endif()
set(url "file://${slash}@CMAKE_CURRENT_SOURCE_DIR@/FileDownloadInput.png")
set(dir "@CMAKE_CURRENT_BINARY_DIR@/downloads")

message(STATUS "FileDownload:1")
file(DOWNLOAD
  ${url}
  ${dir}/file1.png
  TIMEOUT ${timeout}
  )

message(STATUS "FileDownload:2")
file(DOWNLOAD
  ${url}
  ${dir}/file2.png
  TIMEOUT ${timeout}
  SHOW_PROGRESS
  )

# Two calls in a row, exactly the same arguments.
# Since downloaded file should exist already for 2nd call,
# the 2nd call will short-circuit and return early...
#
if(EXISTS ${dir}/file3.png)
  file(REMOVE ${dir}/file3.png)
endif()

message(STATUS "FileDownload:3")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  EXPECTED_MD5 dbd330d52f4dbd60115d4191904ded92
  )

message(STATUS "FileDownload:4")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_HASH SHA1=67eee17f79d9ac557284fc0b8ad19f25723fb578
  )

message(STATUS "FileDownload:5")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_HASH SHA224=ba283726bbb602776818b463943189afd91836cb7ee5dd6e2c7b5ae4
  )

message(STATUS "FileDownload:6")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_HASH SHA256=cf3334b1275071e1da6e8c396ccb72cf1b2388d8c937526f3af26230affb9423
  )

message(STATUS "FileDownload:7")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_HASH SHA384=43a5d13978d97c660db44481aee0604cb4ff6ca0775cd5c2cd68cd8000e107e507c4caf6c228941231041e282ffb8950
  )

message(STATUS "FileDownload:8")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_HASH SHA512=6984e0909a1018030ccaa418e3be1654223cdccff0fe6adc745f9aea7e377f178be53b9fc7d54a6f81c2b62ef9ddcd38ba1978fedf4c5e7139baaf355eefad5b
  )
message(STATUS "FileDownload:9")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_HASH MD5=dbd330d52f4dbd60115d4191904ded92
  )

message(STATUS "FileDownload:10")
file(DOWNLOAD
  ${url}
  ${dir}/file3.png
  TIMEOUT ${timeout}
  STATUS status
  EXPECTED_MD5 dbd330d52f4dbd60115d4191904ded92
  )
message(STATUS "${status}")

message(STATUS "FileDownload:11")
file(DOWNLOAD
  badhostname.png
  ${dir}/file11.png
  TIMEOUT ${timeout}
  STATUS status
  )
message(STATUS "${status}")
list(GET status 0 status_code)
if(NOT ${status_code} EQUAL 6)
  message(SEND_ERROR "error: expected status code 6 for bad host name, got: ${status_code}")
endif()