diff options
author | David Gobbi <david.gobbi@gmail.com> | 2023-02-20 17:24:45 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-02-20 17:54:04 (GMT) |
commit | 7e730d8f7f7af927a52cd1b7668c64b4c82daa4a (patch) | |
tree | 5725da9bff07e1105eade4a5c53b56cfd2f4bd63 /Tests | |
parent | d18806e67336d96a9a22b860246de3f1c518ce40 (diff) | |
download | CMake-7e730d8f7f7af927a52cd1b7668c64b4c82daa4a.zip CMake-7e730d8f7f7af927a52cd1b7668c64b4c82daa4a.tar.gz CMake-7e730d8f7f7af927a52cd1b7668c64b4c82daa4a.tar.bz2 |
Tests: Add cases for cmSystemTools::VersionCompare
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeLib/testSystemTools.cxx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Tests/CMakeLib/testSystemTools.cxx b/Tests/CMakeLib/testSystemTools.cxx index 754205e..1d5db1c 100644 --- a/Tests/CMakeLib/testSystemTools.cxx +++ b/Tests/CMakeLib/testSystemTools.cxx @@ -36,6 +36,35 @@ int testSystemTools(int /*unused*/, char* /*unused*/[]) "cmSystemTools::UpperCase"); // ---------------------------------------------------------------------- + // Test cmSystemTools::VersionCompare + cmAssert(cmSystemTools::VersionCompareEqual("", ""), + "VersionCompareEqual empty string"); + cmAssert(!cmSystemTools::VersionCompareGreater("", ""), + "VersionCompareGreater empty string"); + cmAssert(cmSystemTools::VersionCompareEqual("1", "1a"), + "VersionCompareEqual letters"); + cmAssert(!cmSystemTools::VersionCompareGreater("1", "1a"), + "VersionCompareGreater letters"); + cmAssert(cmSystemTools::VersionCompareEqual("001", "1"), + "VersionCompareEqual leading zeros equal"); + cmAssert(!cmSystemTools::VersionCompareGreater("001", "1"), + "VersionCompareGreater leading zeros equal"); + cmAssert(!cmSystemTools::VersionCompareEqual("002", "1"), + "VersionCompareEqual leading zeros greater"); + cmAssert(cmSystemTools::VersionCompareGreater("002", "1"), + "VersionCompareGreater leading zeros greater"); + cmAssert(!cmSystemTools::VersionCompareEqual("6.2.1", "6.3.1"), + "VersionCompareEqual components less"); + cmAssert(!cmSystemTools::VersionCompareGreater("6.2.1", "6.3.1"), + "VersionCompareGreater components less"); + cmAssert(!cmSystemTools::VersionCompareEqual("6.2.1", "6.2"), + "VersionCompareEqual different length"); + cmAssert(cmSystemTools::VersionCompareGreater("6.2.1", "6.2"), + "VersionCompareGreater different length"); + cmAssert(cmSystemTools::VersionCompareGreater("3.141592653", "3.14159265"), + "VersionCompareGreater more digits"); + + // ---------------------------------------------------------------------- // Test cmSystemTools::strverscmp cmAssert(cmSystemTools::strverscmp("", "") == 0, "strverscmp empty string"); cmAssert(cmSystemTools::strverscmp("abc", "") > 0, |