StringTest.cmake.in 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. set(MD5-BadArg1-RESULT 1)
  2. set(MD5-BadArg1-STDERR "string MD5 requires an output variable")
  3. set(MD5-BadArg2-RESULT 1)
  4. set(MD5-BadArg2-STDERR "string MD5 requires an output variable and an input string")
  5. set(MD5-BadArg4-RESULT 1)
  6. set(MD5-BadArg4-STDERR "string MD5 requires an output variable and an input string")
  7. set(MD5-Works-RESULT 0)
  8. set(MD5-Works-STDERR "10d20ddb981a6202b84aa1ce1cb7fce3")
  9. set(SHA1-Works-RESULT 0)
  10. set(SHA1-Works-STDERR "83f093e04289b21a9415f408ad50be8b57ad2f34")
  11. set(SHA224-Works-RESULT 0)
  12. set(SHA224-Works-STDERR "e995a7789922c4ef9279d94e763c8375934180a51baa7147bc48edf7")
  13. set(SHA256-Works-RESULT 0)
  14. set(SHA256-Works-STDERR "d1c5915d8b71150726a1eef75a29ec6bea8fd1bef6b7299ef8048760b0402025")
  15. set(SHA384-Works-RESULT 0)
  16. set(SHA384-Works-STDERR "1de9560b4e030e02051ea408200ffc55d70c97ac64ebf822461a5c786f495c36df43259b14483bc8d364f0106f4971ee")
  17. set(SHA512-Works-RESULT 0)
  18. set(SHA512-Works-STDERR "3982a1b4e651768bec70ab1fb97045cb7a659f4ba7203d501c52ab2e803071f9d5fd272022df15f27727fc67f8cd022e710e29010b2a9c0b467c111e2f6abf51")
  19. set(SHA3_224-Works-RESULT 0)
  20. set(SHA3_224-Works-STDERR "4272868085f4f25080681a7712509fd12e16dcda79bd356836dd2100")
  21. set(SHA3_256-Works-RESULT 0)
  22. set(SHA3_256-Works-STDERR "be0df472b6bd474417a166d12f2774f2ef5095e86f0a88ef4c78c703800cfc8a")
  23. set(SHA3_384-Works-RESULT 0)
  24. set(SHA3_384-Works-STDERR "935a17cc708443c1369549483656a4521af03a52e4f3b314566272017ccae03a2c5db838f6d4c156b1dc5c366182481b")
  25. set(SHA3_512-Works-RESULT 0)
  26. set(SHA3_512-Works-STDERR "471a85ed537e8f77f31412a089f22d836054ffa179599f87a5d7568927d8fa236b6793ded8a387d1de92398c967177bcc6361672a722bf736cb0f63a0956d5cf")
  27. set(TIMESTAMP-BadArg1-RESULT 1)
  28. set(TIMESTAMP-BadArg1-STDERR "string sub-command TIMESTAMP requires at least one argument")
  29. set(TIMESTAMP-BadArg2-RESULT 1)
  30. set(TIMESTAMP-BadArg2-STDERR "string TIMESTAMP sub-command does not recognize option UTF")
  31. set(TIMESTAMP-BadArg3-RESULT 1)
  32. set(TIMESTAMP-BadArg3-STDERR "string sub-command TIMESTAMP takes at most three arguments")
  33. set(TIMESTAMP-DefaultFormatLocal-RESULT 0)
  34. set(TIMESTAMP-DefaultFormatLocal-STDERR "~[0-9]*-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-6][0-9]~")
  35. set(TIMESTAMP-DefaultFormatUTC-RESULT 0)
  36. set(TIMESTAMP-DefaultFormatUTC-STDERR "~[0-9]*-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-6][0-9]Z~")
  37. set(TIMESTAMP-CustomFormatLocal-RESULT 0)
  38. set(TIMESTAMP-CustomFormatLocal-STDERR "~([0-5][0-9])|60~")
  39. set(TIMESTAMP-CustomFormatUTC-RESULT 0)
  40. set(TIMESTAMP-CustomFormatUTC-STDERR "~([0-5][0-9])|60~")
  41. set(TIMESTAMP-UnknownSpecifier-RESULT 0)
  42. set(TIMESTAMP-UnknownSpecifier-STDERR "~%g~")
  43. set(TIMESTAMP-IncompleteSpecifier-RESULT 0)
  44. set(TIMESTAMP-IncompleteSpecifier-STDERR "~foobar%~")
  45. set(TIMESTAMP-AllSpecifiers-RESULT 0)
  46. set(TIMESTAMP-AllSpecifiers-STDERR "~[0-9]+(;[0-9]+)*~")
  47. set(TIMESTAMP-MonthWeekNames-RESULT 0)
  48. set(TIMESTAMP-MonthWeekNames-STDERR "~[^%]+;[^%]+~")
  49. set(TIMESTAMP-UnixTime-RESULT 0)
  50. set(TIMESTAMP-UnixTime-STDERR "~[0-9]+~")
  51. include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake")
  52. check_cmake_test(String
  53. MD5-BadArg1
  54. MD5-BadArg2
  55. MD5-BadArg4
  56. MD5-Works
  57. SHA1-Works
  58. SHA224-Works
  59. SHA256-Works
  60. SHA384-Works
  61. SHA512-Works
  62. SHA3_224-Works
  63. SHA3_256-Works
  64. SHA3_384-Works
  65. SHA3_512-Works
  66. TIMESTAMP-BadArg1
  67. TIMESTAMP-BadArg2
  68. TIMESTAMP-BadArg3
  69. TIMESTAMP-DefaultFormatLocal
  70. TIMESTAMP-DefaultFormatUTC
  71. TIMESTAMP-CustomFormatLocal
  72. TIMESTAMP-CustomFormatUTC
  73. TIMESTAMP-UnknownSpecifier
  74. TIMESTAMP-IncompleteSpecifier
  75. TIMESTAMP-AllSpecifiers
  76. TIMESTAMP-MonthWeekNames
  77. TIMESTAMP-UnixTime
  78. )
  79. # Execute each test listed in StringTestScript.cmake:
  80. #
  81. set(scriptname "@CMAKE_CURRENT_SOURCE_DIR@/StringTestScript.cmake")
  82. set(number_of_tests_expected 70)
  83. include("@CMAKE_CURRENT_SOURCE_DIR@/ExecuteScriptTests.cmake")
  84. execute_all_script_tests(${scriptname} number_of_tests_executed)
  85. string(TIMESTAMP timestamp "[%Y-%m-%d %H:%M:%S] UTC %s" UTC)
  86. # And verify that number_of_tests_executed is at least as many as we know
  87. # about as of this writing...
  88. #
  89. message(STATUS "timestamp='${timestamp}'")
  90. message(STATUS "scriptname='${scriptname}'")
  91. message(STATUS "number_of_tests_executed='${number_of_tests_executed}'")
  92. message(STATUS "number_of_tests_expected='${number_of_tests_expected}'")
  93. if(NOT number_of_tests_executed EQUAL number_of_tests_expected)
  94. message(FATAL_ERROR "error: some test cases were skipped")
  95. endif()