FileDownloadTest.cmake.in 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. set(timeout 4)
  2. if(NOT "@CMAKE_CURRENT_SOURCE_DIR@" MATCHES "^/")
  3. set(slash /)
  4. endif()
  5. set(url "file://${slash}@CMAKE_CURRENT_SOURCE_DIR@/FileDownloadInput.png")
  6. set(dir "@CMAKE_CURRENT_BINARY_DIR@/downloads")
  7. message(STATUS "FileDownload:1")
  8. file(DOWNLOAD
  9. ${url}
  10. ${dir}/file1.png
  11. TIMEOUT ${timeout}
  12. )
  13. message(STATUS "FileDownload:2")
  14. file(DOWNLOAD
  15. ${url}
  16. ${dir}/file2.png
  17. TIMEOUT ${timeout}
  18. SHOW_PROGRESS
  19. )
  20. # Two calls in a row, exactly the same arguments.
  21. # Since downloaded file should exist already for 2nd call,
  22. # the 2nd call will short-circuit and return early...
  23. #
  24. if(EXISTS ${dir}/file3.png)
  25. file(REMOVE ${dir}/file3.png)
  26. endif()
  27. message(STATUS "FileDownload:3")
  28. file(DOWNLOAD
  29. ${url}
  30. ${dir}/file3.png
  31. TIMEOUT ${timeout}
  32. EXPECTED_MD5 dbd330d52f4dbd60115d4191904ded92
  33. )
  34. message(STATUS "FileDownload:4")
  35. file(DOWNLOAD
  36. ${url}
  37. ${dir}/file3.png
  38. TIMEOUT ${timeout}
  39. STATUS status
  40. EXPECTED_HASH SHA1=67eee17f79d9ac557284fc0b8ad19f25723fb578
  41. )
  42. message(STATUS "FileDownload:5")
  43. file(DOWNLOAD
  44. ${url}
  45. ${dir}/file3.png
  46. TIMEOUT ${timeout}
  47. STATUS status
  48. EXPECTED_HASH SHA224=ba283726bbb602776818b463943189afd91836cb7ee5dd6e2c7b5ae4
  49. )
  50. message(STATUS "FileDownload:6")
  51. file(DOWNLOAD
  52. ${url}
  53. ${dir}/file3.png
  54. TIMEOUT ${timeout}
  55. STATUS status
  56. EXPECTED_HASH SHA256=cf3334b1275071e1da6e8c396ccb72cf1b2388d8c937526f3af26230affb9423
  57. )
  58. message(STATUS "FileDownload:7")
  59. file(DOWNLOAD
  60. ${url}
  61. ${dir}/file3.png
  62. TIMEOUT ${timeout}
  63. STATUS status
  64. EXPECTED_HASH SHA384=43a5d13978d97c660db44481aee0604cb4ff6ca0775cd5c2cd68cd8000e107e507c4caf6c228941231041e282ffb8950
  65. )
  66. message(STATUS "FileDownload:8")
  67. file(DOWNLOAD
  68. ${url}
  69. ${dir}/file3.png
  70. TIMEOUT ${timeout}
  71. STATUS status
  72. EXPECTED_HASH SHA512=6984e0909a1018030ccaa418e3be1654223cdccff0fe6adc745f9aea7e377f178be53b9fc7d54a6f81c2b62ef9ddcd38ba1978fedf4c5e7139baaf355eefad5b
  73. )
  74. message(STATUS "FileDownload:9")
  75. file(DOWNLOAD
  76. ${url}
  77. ${dir}/file3.png
  78. TIMEOUT ${timeout}
  79. STATUS status
  80. EXPECTED_HASH MD5=dbd330d52f4dbd60115d4191904ded92
  81. )
  82. message(STATUS "FileDownload:10")
  83. file(DOWNLOAD
  84. ${url}
  85. ${dir}/file3.png
  86. TIMEOUT ${timeout}
  87. STATUS status
  88. EXPECTED_MD5 dbd330d52f4dbd60115d4191904ded92
  89. )
  90. message(STATUS "${status}")
  91. message(STATUS "FileDownload:11")
  92. file(DOWNLOAD
  93. badhostname.png
  94. ${dir}/file11.png
  95. TIMEOUT ${timeout}
  96. STATUS status
  97. )
  98. message(STATUS "${status}")
  99. list(GET status 0 status_code)
  100. if(NOT ${status_code} EQUAL 6)
  101. message(SEND_ERROR "error: expected status code 6 for bad host name, got: ${status_code}")
  102. endif()