tests: Additional checks and fix scope problems

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2022-07-05 02:22:28 +02:00
parent ad06e9cc75
commit d163a141e0
+69 -69
View File
@@ -3,44 +3,44 @@ include("../version.cmake")
function(test_generate)
cmake_parse_arguments(
PARSE_ARGV 1
_ARGS
_6edc8bbd
"COMPRESS;FAIL"
"MAJOR;MINOR;PATCH;TWEAK;PRERELEASE;BUILD"
""
)
set(ARGS "")
if(_ARGS_MAJOR)
set(ARGS "${ARGS} MAJOR \"${_ARGS_MAJOR}\"")
if(_6edc8bbd_MAJOR)
set(ARGS "${ARGS} MAJOR \"${_6edc8bbd_MAJOR}\"")
endif()
if(_ARGS_MINOR)
set(ARGS "${ARGS} MINOR \"${_ARGS_MINOR}\"")
if(_6edc8bbd_MINOR)
set(ARGS "${ARGS} MINOR \"${_6edc8bbd_MINOR}\"")
endif()
if(_ARGS_PATCH)
set(ARGS "${ARGS} PATCH \"${_ARGS_PATCH}\"")
if(_6edc8bbd_PATCH)
set(ARGS "${ARGS} PATCH \"${_6edc8bbd_PATCH}\"")
endif()
if(_ARGS_TWEAK)
set(ARGS "${ARGS} TWEAK \"${_ARGS_TWEAK}\"")
if(_6edc8bbd_TWEAK)
set(ARGS "${ARGS} TWEAK \"${_6edc8bbd_TWEAK}\"")
endif()
if(_ARGS_PRERELEASE)
set(ARGS "${ARGS} PRERELEASE \"${_ARGS_PRERELEASE}\"")
if(_6edc8bbd_PRERELEASE)
set(ARGS "${ARGS} PRERELEASE \"${_6edc8bbd_PRERELEASE}\"")
endif()
if(_ARGS_BUILD)
set(ARGS "${ARGS} BUILD \"${_ARGS_BUILD}\"")
if(_6edc8bbd_BUILD)
set(ARGS "${ARGS} BUILD \"${_6edc8bbd_BUILD}\"")
endif()
if(_ARGS_COMPRESS)
if(_6edc8bbd_COMPRESS)
set(ARGS "${ARGS} COMPRESS")
endif()
cmake_language(EVAL CODE "version(GENERATE _TEST ${ARGS})")
if(DEFINED _TEST_ERROR)
if(_ARGS_FAIL)
if(_TEST_ERROR)
if(_6edc8bbd_FAIL)
message(STATUS "PASSED: '${ARGV0}'.\n\t${_TEST_ERROR}")
else()
message(SEND_ERROR "FAILED: '${ARGV0}'.\n\t${_TEST_ERROR}")
endif()
else()
if((ARGV0 STREQUAL _TEST) AND (NOT _ARGS_FAIL))
if((ARGV0 STREQUAL _TEST) AND (NOT _6edc8bbd_FAIL))
message(STATUS "PASSED: '${ARGV0}'.")
else()
message(SEND_ERROR "FAILED: '${ARGV0}' != '${_TEST}'.")
@@ -51,7 +51,7 @@ endfunction()
function(test_parse)
cmake_parse_arguments(
PARSE_ARGV 1
_ARGS
_6edc8bbd
"FAIL"
"MAJOR;MINOR;PATCH;TWEAK;PRERELEASE;BUILD"
""
@@ -60,63 +60,63 @@ function(test_parse)
set(FAILED OFF)
set(MESSAGE "${_TEST_ERROR}")
if(NOT DEFINED _TEST_ERROR)
if(DEFINED _ARGS_MAJOR)
if(NOT DEFINED _TEST_MAJOR)
if(NOT _TEST_ERROR)
if(_6edc8bbd_MAJOR)
if(NOT _TEST_MAJOR)
set(MESSAGE "MAJOR component missing during parse.")
set(FAILED ON)
elseif(NOT (_TEST_MAJOR STREQUAL _ARGS_MAJOR))
set(MESSAGE "MAJOR component mismatch: '${_TEST_MAJOR}' != '${_ARGS_MAJOR}'")
elseif(NOT (_TEST_MAJOR STREQUAL _6edc8bbd_MAJOR))
set(MESSAGE "MAJOR component mismatch: '${_TEST_MAJOR}' != '${_6edc8bbd_MAJOR}'")
set(FAILED ON)
endif()
endif()
if(DEFINED _ARGS_MINOR)
if(NOT DEFINED _TEST_MINOR)
if(_6edc8bbd_MINOR)
if(NOT _TEST_MINOR)
set(MESSAGE "MINOR component missing during parse.")
set(FAILED ON)
elseif(NOT (_TEST_MINOR STREQUAL _ARGS_MINOR))
set(MESSAGE "MINOR component mismatch: '${_TEST_MINOR}' != '${_ARGS_MINOR}'")
elseif(NOT (_TEST_MINOR STREQUAL _6edc8bbd_MINOR))
set(MESSAGE "MINOR component mismatch: '${_TEST_MINOR}' != '${_6edc8bbd_MINOR}'")
set(FAILED ON)
endif()
endif()
if(DEFINED _ARGS_PATCH)
if(NOT DEFINED _TEST_PATCH)
if(_6edc8bbd_PATCH)
if(NOT _TEST_PATCH)
set(MESSAGE "PATCH component missing during parse.")
set(FAILED ON)
elseif(NOT (_TEST_PATCH STREQUAL _ARGS_PATCH))
set(MESSAGE "PATCH component mismatch: '${_TEST_PATCH}' != '${_ARGS_PATCH}'")
elseif(NOT (_TEST_PATCH STREQUAL _6edc8bbd_PATCH))
set(MESSAGE "PATCH component mismatch: '${_TEST_PATCH}' != '${_6edc8bbd_PATCH}'")
set(FAILED ON)
endif()
endif()
if(DEFINED _ARGS_TWEAK)
if(NOT DEFINED _TEST_TWEAK)
if(_6edc8bbd_TWEAK)
if(NOT _TEST_TWEAK)
set(MESSAGE "TWEAK component missing during parse.")
set(FAILED ON)
elseif(NOT (_TEST_TWEAK STREQUAL _ARGS_TWEAK))
set(MESSAGE "TWEAK component mismatch: '${_TEST_TWEAK}' != '${_ARGS_TWEAK}'")
elseif(NOT (_TEST_TWEAK STREQUAL _6edc8bbd_TWEAK))
set(MESSAGE "TWEAK component mismatch: '${_TEST_TWEAK}' != '${_6edc8bbd_TWEAK}'")
set(FAILED ON)
endif()
endif()
if(DEFINED _ARGS_PRERELEASE)
if(NOT DEFINED _TEST_PRERELEASE)
if(_6edc8bbd_PRERELEASE)
if(NOT _TEST_PRERELEASE)
set(MESSAGE "PRERELEASE component missing during parse.")
set(FAILED ON)
elseif(NOT (_TEST_PRERELEASE STREQUAL _ARGS_PRERELEASE))
set(MESSAGE "PRERELEASE component mismatch: '${_TEST_PRERELEASE}' != '${_ARGS_PRERELEASE}'")
elseif(NOT (_TEST_PRERELEASE STREQUAL _6edc8bbd_PRERELEASE))
set(MESSAGE "PRERELEASE component mismatch: '${_TEST_PRERELEASE}' != '${_6edc8bbd_PRERELEASE}'")
set(FAILED ON)
endif()
endif()
if(DEFINED _ARGS_BUILD)
if(NOT DEFINED _TEST_BUILD)
if(_6edc8bbd_BUILD)
if(NOT _TEST_BUILD)
set(MESSAGE "BUILD component missing during parse.")
set(FAILED ON)
elseif(NOT (_TEST_BUILD STREQUAL _ARGS_BUILD))
set(MESSAGE "BUILD component mismatch: '${_TEST_BUILD}' != '${_ARGS_BUILD}'")
elseif(NOT (_TEST_BUILD STREQUAL _6edc8bbd_BUILD))
set(MESSAGE "BUILD component mismatch: '${_TEST_BUILD}' != '${_6edc8bbd_BUILD}'")
set(FAILED ON)
endif()
endif()
@@ -125,13 +125,13 @@ function(test_parse)
endif()
if(FAILED)
if(_ARGS_FAIL)
if(_6edc8bbd_FAIL)
message(STATUS "PASSED: '${ARGV0}'.\n\t${MESSAGE}")
else()
message(SEND_ERROR "FAILED: '${ARGV0}'.\n\t${MESSAGE}")
endif()
else()
if(_ARGS_FAIL)
if(_6edc8bbd_FAIL)
message(SEND_ERROR "FAILED: '${ARGV0}'.")
else()
message(STATUS "PASSED: '${ARGV0}'.")
@@ -142,38 +142,38 @@ endfunction()
function(test_modify)
cmake_parse_arguments(
PARSE_ARGV 2
_ARGS
_6edc8bbd
"FAIL;COMPRESS"
"MAJOR;MINOR;PATCH;TWEAK;PRERELEASE;BUILD"
""
)
set(ARGS "")
if(_ARGS_MAJOR)
set(ARGS "${ARGS} MAJOR \"${_ARGS_MAJOR}\"")
if(_6edc8bbd_MAJOR)
set(ARGS "${ARGS} MAJOR \"${_6edc8bbd_MAJOR}\"")
endif()
if(_ARGS_MINOR)
set(ARGS "${ARGS} MINOR \"${_ARGS_MINOR}\"")
if(_6edc8bbd_MINOR)
set(ARGS "${ARGS} MINOR \"${_6edc8bbd_MINOR}\"")
endif()
if(_ARGS_PATCH)
set(ARGS "${ARGS} PATCH \"${_ARGS_PATCH}\"")
if(_6edc8bbd_PATCH)
set(ARGS "${ARGS} PATCH \"${_6edc8bbd_PATCH}\"")
endif()
if(_ARGS_TWEAK)
set(ARGS "${ARGS} TWEAK \"${_ARGS_TWEAK}\"")
if(_6edc8bbd_TWEAK)
set(ARGS "${ARGS} TWEAK \"${_6edc8bbd_TWEAK}\"")
endif()
if(_ARGS_PRERELEASE)
set(ARGS "${ARGS} PRERELEASE \"${_ARGS_PRERELEASE}\"")
if(_6edc8bbd_PRERELEASE)
set(ARGS "${ARGS} PRERELEASE \"${_6edc8bbd_PRERELEASE}\"")
endif()
if(_ARGS_BUILD)
set(ARGS "${ARGS} BUILD \"${_ARGS_BUILD}\"")
if(_6edc8bbd_BUILD)
set(ARGS "${ARGS} BUILD \"${_6edc8bbd_BUILD}\"")
endif()
if(_ARGS_COMPRESS)
if(_6edc8bbd_COMPRESS)
set(ARGS "${ARGS} COMPRESS")
endif()
cmake_language(EVAL CODE "version(MODIFY _TEST \"${ARGV1}\" ${ARGS})")
set(FAILED OFF)
if(DEFINED _TEST_ERROR)
if(_TEST_ERROR)
set(MESSAGE "${_TEST_ERROR}")
set(FAILED ON)
else()
@@ -183,16 +183,16 @@ function(test_modify)
endif()
if(FAILED)
if(_ARGS_FAIL)
message(STATUS "PASSED: '${ARGV0}'.\n\t${MESSAGE}")
if(_6edc8bbd_FAIL)
message(STATUS "PASSED: '${ARGV0}' != '${_TEST}'.\n\t${MESSAGE}")
else()
message(SEND_ERROR "FAILED: '${ARGV0}' != '${_TEST}'.\n\t${MESSAGE}")
endif()
else()
if(_ARGS_FAIL)
message(SEND_ERROR "FAILED: '${ARGV0}' != '${_TEST}'.\n\t${MESSAGE}")
if(_6edc8bbd_FAIL)
message(SEND_ERROR "FAILED: '${ARGV0}' == '${_TEST}'.\n\t${MESSAGE}")
else()
message(STATUS "PASSED: '${ARGV0}'.")
message(STATUS "PASSED: '${ARGV0}' == '${_TEST}'.")
endif()
endif()
endfunction()
@@ -200,7 +200,7 @@ endfunction()
function(test_compare)
cmake_parse_arguments(
PARSE_ARGV 3
_ARGS
_6edc8bbd
"FAIL"
"RESULT"
""
@@ -208,7 +208,7 @@ function(test_compare)
version(COMPARE _TEST "${ARGV0}" "${ARGV2}")
set(FAILED OFF)
if(DEFINED _TEST_ERROR)
if(_TEST_ERROR)
set(MESSAGE "${_TEST_ERROR}")
set(FAILED ON)
else()
@@ -219,13 +219,13 @@ function(test_compare)
endif()
if(FAILED)
if(_ARGS_FAIL)
if(_6edc8bbd_FAIL)
message(STATUS "PASSED: '${ARGV0}' '${ARGV1}' '${ARGV2}'.\n\t${MESSAGE}")
else()
message(SEND_ERROR "FAILED: '${ARGV0}' '${ARGV1}' '${ARGV2}'.\n\t${MESSAGE}")
endif()
else()
if(_ARGS_FAIL)
if(_6edc8bbd_FAIL)
message(SEND_ERROR "FAILED: '${ARGV0}' '${ARGV1}' '${ARGV2}'.\n\t${MESSAGE}")
else()
message(STATUS "PASSED: '${ARGV0}' '${ARGV1}' '${ARGV2}'.")