diff options
Diffstat (limited to 'tests/ECMSetupVersionTest/old_version_file_exact')
| -rw-r--r-- | tests/ECMSetupVersionTest/old_version_file_exact/CMakeLists.txt | 81 | 
1 files changed, 26 insertions, 55 deletions
| diff --git a/tests/ECMSetupVersionTest/old_version_file_exact/CMakeLists.txt b/tests/ECMSetupVersionTest/old_version_file_exact/CMakeLists.txt index 999a6cd8..3a212fed 100644 --- a/tests/ECMSetupVersionTest/old_version_file_exact/CMakeLists.txt +++ b/tests/ECMSetupVersionTest/old_version_file_exact/CMakeLists.txt @@ -10,73 +10,44 @@ ecm_setup_version(2.3.4      PACKAGE_VERSION_FILE FooVersion.cmake COMPATIBILITY ExactVersion  ) -macro(strcheck var val) -    if(NOT ${var} STREQUAL "${val}") -        message(FATAL_ERROR "${var} was ${${var}} instead of ${val}") -    endif() -endmacro() -macro(numcheck var val) -    if(NOT ${var} EQUAL "${val}") -        message(FATAL_ERROR "${var} was ${${var}} instead of ${val}") -    endif() -endmacro() -macro(boolcheck var val) -    if(${val} AND NOT ${var}) -        message(FATAL_ERROR "${var} was FALSE") -    elseif(${var} AND NOT ${val}) -        message(FATAL_ERROR "${var} was TRUE") -    endif() -endmacro() +include(../../test_helpers.cmake) +include(../version_helpers.cmake) -macro(find_foo major minor patch) -    unset(PACKAGE_VERSION) -    unset(PACKAGE_VERSION_COMPATIBLE) -    unset(PACKAGE_VERSION_EXACT) -    set(PACKAGE_FIND_VERSION "${major}.${minor}.${patch}") -    set(PACKAGE_FIND_VERSION_MAJOR "${major}") -    set(PACKAGE_FIND_VERSION_MINOR "${minor}") -    set(PACKAGE_FIND_VERSION_PATCH "${patch}") -    set(PACKAGE_FIND_VERSION_TWEAK) -    include("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake") -    strcheck(PACKAGE_VERSION "2.3.4") +macro(find_foo version) +    test_version_file("${CMAKE_CURRENT_BINARY_DIR}/FooVersion.cmake" "${version}") +    assert_var_str_value(PACKAGE_VERSION "2.3.4")  endmacro() -strcheck(PROJECT_VERSION "2.3.4") -strcheck(PROJECT_VERSION_STRING "2.3.4") -numcheck(PROJECT_VERSION_MAJOR 2) -numcheck(PROJECT_VERSION_MINOR 3) -numcheck(PROJECT_VERSION_PATCH 4) - -strcheck(Foo_VERSION "2.3.4") -strcheck(Foo_VERSION_STRING "2.3.4") -numcheck(Foo_VERSION_MAJOR 2) -numcheck(Foo_VERSION_MINOR 3) -numcheck(Foo_VERSION_PATCH 4) -numcheck(Foo_SOVERSION 2) +standard_version_var_checks(Foo 2.3.4)  # too old - fails -find_foo(3 1 1) -boolcheck(PACKAGE_VERSION_COMPATIBLE FALSE) -boolcheck(PACKAGE_VERSION_EXACT FALSE) +find_foo("3.1.1") +assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED) +assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)  # wrong major version - fails -find_foo(1 1 1) -boolcheck(PACKAGE_VERSION_COMPATIBLE FALSE) -boolcheck(PACKAGE_VERSION_EXACT FALSE) +find_foo("1.1.1") +assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED) +assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)  # wrong minor - fails -find_foo(2 1 1) -boolcheck(PACKAGE_VERSION_COMPATIBLE FALSE) -boolcheck(PACKAGE_VERSION_EXACT FALSE) +find_foo("2.1.1") +assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED) +assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)  # wrong patch - fails -find_foo(2 3 1) -boolcheck(PACKAGE_VERSION_COMPATIBLE FALSE) -boolcheck(PACKAGE_VERSION_EXACT FALSE) +find_foo("2.3.1") +assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE FALSE ALLOW_UNDEFINED) +assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED) + +# tweak doesn't matter (but prevents P_V_EXACT being set) - succeeds +find_foo("2.3.4.3") +assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE) +assert_var_bool_value(PACKAGE_VERSION_EXACT FALSE ALLOW_UNDEFINED)  # exact - succeeds -find_foo(2 3 4) -boolcheck(PACKAGE_VERSION_COMPATIBLE TRUE) -boolcheck(PACKAGE_VERSION_EXACT TRUE) +find_foo("2.3.4") +assert_var_bool_value(PACKAGE_VERSION_COMPATIBLE TRUE) +assert_var_bool_value(PACKAGE_VERSION_EXACT TRUE)  add_executable(dummy main.c) | 
