StringTest.cmake.in 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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-TimeZone-RESULT 0)
  48. set(TIMESTAMP-TimeZone-STDERR "~[-,+][0-9][0-9][0-9][0-9]~")
  49. set(TIMESTAMP-MonthWeekNames-RESULT 0)
  50. set(TIMESTAMP-MonthWeekNames-STDERR "~[^%]+;[^%]+~")
  51. set(TIMESTAMP-UnixTime-RESULT 0)
  52. set(TIMESTAMP-UnixTime-STDERR "~[0-9]+~")
  53. include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake")
  54. check_cmake_test(String
  55. MD5-BadArg1
  56. MD5-BadArg2
  57. MD5-BadArg4
  58. MD5-Works
  59. SHA1-Works
  60. SHA224-Works
  61. SHA256-Works
  62. SHA384-Works
  63. SHA512-Works
  64. SHA3_224-Works
  65. SHA3_256-Works
  66. SHA3_384-Works
  67. SHA3_512-Works
  68. TIMESTAMP-BadArg1
  69. TIMESTAMP-BadArg2
  70. TIMESTAMP-BadArg3
  71. TIMESTAMP-DefaultFormatLocal
  72. TIMESTAMP-DefaultFormatUTC
  73. TIMESTAMP-CustomFormatLocal
  74. TIMESTAMP-CustomFormatUTC
  75. TIMESTAMP-UnknownSpecifier
  76. TIMESTAMP-IncompleteSpecifier
  77. TIMESTAMP-AllSpecifiers
  78. TIMESTAMP-MonthWeekNames
  79. TIMESTAMP-TimeZone
  80. TIMESTAMP-UnixTime
  81. )
  82. # Execute each test listed in StringTestScript.cmake:
  83. #
  84. set(scriptname "@CMAKE_CURRENT_SOURCE_DIR@/StringTestScript.cmake")
  85. set(number_of_tests_expected 72)
  86. include("@CMAKE_CURRENT_SOURCE_DIR@/ExecuteScriptTests.cmake")
  87. execute_all_script_tests(${scriptname} number_of_tests_executed)
  88. string(TIMESTAMP timestamp "[%Y-%m-%d %H:%M:%S] UTC %s" UTC)
  89. # And verify that number_of_tests_executed is at least as many as we know
  90. # about as of this writing...
  91. #
  92. message(STATUS "timestamp='${timestamp}'")
  93. message(STATUS "scriptname='${scriptname}'")
  94. message(STATUS "number_of_tests_executed='${number_of_tests_executed}'")
  95. message(STATUS "number_of_tests_expected='${number_of_tests_expected}'")
  96. if(NOT number_of_tests_executed EQUAL number_of_tests_expected)
  97. message(FATAL_ERROR "error: some test cases were skipped")
  98. endif()