FileDownloadTest.cmake.in 2.4 KB

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