diff options
author | Alex Merry <alex.merry@kde.org> | 2014-12-28 16:32:13 +0000 |
---|---|---|
committer | Alex Merry <alex.merry@kde.org> | 2014-12-28 17:30:11 +0000 |
commit | f8af407eba5c5ea45be2c6351cf41a7cb44fed21 (patch) | |
tree | 0c3326caf677883ec00e292312213acefe366877 /tests/ECMSetupVersionTest/old_version_file_exact | |
parent | 351fe45dba7ac04ec2779b7d761ac55a58f89945 (diff) | |
download | extra-cmake-modules-f8af407eba5c5ea45be2c6351cf41a7cb44fed21.tar.gz extra-cmake-modules-f8af407eba5c5ea45be2c6351cf41a7cb44fed21.tar.bz2 |
Improve version file tests.
Mostly just refatoring to have less duplicated code.
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) |