From fc556fadfb73ee7d5ee739837e48fe3638808986 Mon Sep 17 00:00:00 2001 From: PengZheng Date: Thu, 28 Mar 2024 23:54:25 +0800 Subject: [PATCH] gh-674: Fix broken version range test cases. --- libs/utils/gtest/src/VersionRangeTestSuite.cc | 52 ++++--------------- libs/utils/gtest/src/VersionTestSuite.cc | 1 - libs/utils/src/version.c | 1 + 3 files changed, 10 insertions(+), 44 deletions(-) diff --git a/libs/utils/gtest/src/VersionRangeTestSuite.cc b/libs/utils/gtest/src/VersionRangeTestSuite.cc index 857f3c6e0..517fc94f2 100644 --- a/libs/utils/gtest/src/VersionRangeTestSuite.cc +++ b/libs/utils/gtest/src/VersionRangeTestSuite.cc @@ -65,17 +65,8 @@ TEST_F(VersionRangeTestSuite, IsInRangeTest) { celix_version_t* version = celix_version_create(1, 2, 3, nullptr); { - celix_version_t* low = (celix_version_t*) calloc(1, sizeof(*low)); - low->major = 1; - low->minor = 2; - low->micro = 3; - low->qualifier = nullptr; - - celix_version_t* high = (celix_version_t*) calloc(1, sizeof(*high)); - high->major = 1; - high->minor = 2; - high->micro = 3; - high->qualifier = nullptr; + celix_version_t* low = celix_version_create(1, 2, 3, nullptr); + celix_version_t* high = celix_version_create(1, 2, 3, nullptr); celix_version_range_t* range = celix_versionRange_createVersionRange(low, true, high, true); EXPECT_TRUE(range != nullptr); @@ -84,11 +75,7 @@ TEST_F(VersionRangeTestSuite, IsInRangeTest) { } { - celix_version_t* low = (celix_version_t*) calloc(1, sizeof(*low)); - low->major = 1; - low->minor = 2; - low->micro = 3; - + celix_version_t* low = celix_version_create(1, 2, 3, nullptr); celix_version_range_t* range = celix_versionRange_createVersionRange(low, true, nullptr, true); EXPECT_TRUE(range != nullptr); EXPECT_TRUE(celix_versionRange_isInRange(range, version)); @@ -96,15 +83,8 @@ TEST_F(VersionRangeTestSuite, IsInRangeTest) { } { - celix_version_t* low = (celix_version_t*) calloc(1, sizeof(*low)); - low->major = 1; - low->minor = 2; - low->micro = 3; - - celix_version_t* high = (celix_version_t*) calloc(1, sizeof(*high)); - high->major = 1; - high->minor = 2; - high->micro = 3; + celix_version_t* low = celix_version_create(1, 2, 3, nullptr); + celix_version_t* high = celix_version_create(1, 2, 3, nullptr); celix_version_range_t* range = celix_versionRange_createVersionRange(low, false, high, true); EXPECT_TRUE(range != nullptr); @@ -114,15 +94,8 @@ TEST_F(VersionRangeTestSuite, IsInRangeTest) { } { - celix_version_t* low = (celix_version_t*) calloc(1, sizeof(*low)); - low->major = 1; - low->minor = 2; - low->micro = 3; - - celix_version_t* high = (celix_version_t*) calloc(1, sizeof(*high)); - high->major = 1; - high->minor = 2; - high->micro = 3; + celix_version_t* low = celix_version_create(1, 2, 3, nullptr); + celix_version_t* high = celix_version_create(1, 2, 3, nullptr); celix_version_range_t* range = celix_versionRange_createVersionRange(low, true, high, false); EXPECT_TRUE(range != nullptr); @@ -132,15 +105,8 @@ TEST_F(VersionRangeTestSuite, IsInRangeTest) { } { - celix_version_t* low = (celix_version_t*) calloc(1, sizeof(*low)); - low->major = 1; - low->minor = 2; - low->micro = 3; - - celix_version_t* high = (celix_version_t*) calloc(1, sizeof(*high)); - high->major = 1; - high->minor = 2; - high->micro = 3; + celix_version_t* low = celix_version_create(1, 2, 3, nullptr); + celix_version_t* high = celix_version_create(1, 2, 3, nullptr); celix_version_range_t* range = celix_versionRange_createVersionRange(low, false, high, false); EXPECT_TRUE(range != nullptr); diff --git a/libs/utils/gtest/src/VersionTestSuite.cc b/libs/utils/gtest/src/VersionTestSuite.cc index c3d9118c5..736561e80 100644 --- a/libs/utils/gtest/src/VersionTestSuite.cc +++ b/libs/utils/gtest/src/VersionTestSuite.cc @@ -143,7 +143,6 @@ TEST_F(VersionTestSuite, CompareTest) { EXPECT_TRUE(result > 0); celix_version_destroy(compare); - // Compare against a lower version compare = celix_version_create(1, 2, 3, nullptr); EXPECT_TRUE(compare != nullptr); result = celix_version_compareTo(version, compare); diff --git a/libs/utils/src/version.c b/libs/utils/src/version.c index 50aff1be7..15fd89b32 100644 --- a/libs/utils/src/version.c +++ b/libs/utils/src/version.c @@ -185,6 +185,7 @@ int celix_version_compareTo(const celix_version_t* version, const celix_version_ if (res != 0) { result = res; } else { + // by class invariant qualifier is never null result = strcmp(version->qualifier, compare->qualifier); } }