Tests: Add cases for cmSystemTools::VersionCompare

This commit is contained in:
David Gobbi
2023-02-20 10:24:45 -07:00
committed by Brad King
parent d18806e673
commit 7e730d8f7f

View File

@@ -35,6 +35,35 @@ int testSystemTools(int /*unused*/, char* /*unused*/[])
cmAssert(cmSystemTools::UpperCase(str) == strupper,
"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");