Skip to content

Commit a3c2376

Browse files
authored
Fix mongo-c-driver version compatibility check tests (#1417)
1 parent 69ddf1a commit a3c2376

File tree

2 files changed

+31
-21
lines changed

2 files changed

+31
-21
lines changed

src/bsoncxx/test/private/bson_version.cpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,15 @@ TEST_CASE("bson version numbers", "[bsoncxx][test]") {
5555
CHECK(bson_get_major_version() == expect[0]);
5656

5757
CHECKED_IF(expect.size() > 1) {
58-
CHECK(bson_get_minor_version() >= expect[1]);
58+
auto const minor = bson_get_minor_version();
5959

60-
// Only when minor version number compares equal.
61-
CHECKED_IF(expect.size() > 2) {
62-
CHECK(bson_get_micro_version() >= expect[2]);
60+
CHECK(minor >= expect[1]);
61+
62+
// Only compare patch version number when minor version number compares equal.
63+
CHECKED_IF(minor == expect[1]) {
64+
CHECKED_IF(expect.size() > 2) {
65+
CHECK(bson_get_micro_version() >= expect[2]);
66+
}
6367
}
6468
}
6569
}
@@ -89,12 +93,14 @@ TEST_CASE(
8993
// Minor version number.
9094
CHECK(actual[1] >= expect[1]);
9195

92-
// Only when minor version number compares equal.
93-
CHECKED_IF(expect.size() > 2) {
94-
REQUIRE(actual.size() > 2);
96+
// Only compare patch version number when minor version number compares equal.
97+
CHECKED_IF(actual[1] == expect[1]) {
98+
CHECKED_IF(expect.size() > 2) {
99+
REQUIRE(actual.size() > 2);
95100

96-
// Patch version number.
97-
CHECK(actual[2] >= expect[2]);
101+
// Patch version number.
102+
CHECK(actual[2] >= expect[2]);
103+
}
98104
}
99105
}
100106
}

src/mongocxx/test/private/mongoc_version.cpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,20 @@ TEST_CASE("mongoc version numbers", "[mongocxx][test]") {
4040
CHECK(mongoc_get_major_version() == expect[0]);
4141

4242
CHECKED_IF(expect.size() > 1) {
43-
CHECK(bson_get_minor_version() >= expect[1]);
43+
auto const minor = mongoc_get_minor_version();
4444

45-
// Only when minor version number compares equal.
46-
CHECKED_IF(expect.size() > 2) {
47-
CHECK(bson_get_micro_version() >= expect[2]);
45+
CHECK(minor >= expect[1]);
46+
47+
// Only compare patch version number when minor version number compares equal.
48+
CHECKED_IF(minor == expect[1]) {
49+
CHECKED_IF(expect.size() > 2) {
50+
CHECK(mongoc_get_micro_version() >= expect[2]);
51+
}
4852
}
4953
}
5054
}
5155

52-
TEST_CASE(
53-
"mongoc version string"
54-
"[mongocxx][test]") {
56+
TEST_CASE("mongoc version string", "[mongocxx][test]") {
5557
auto const expect_str = bsoncxx::stdx::string_view{MONGOC_REQUIRED_VERSION()};
5658
auto const actual_str = bsoncxx::stdx::string_view{MONGOC_VERSION_S};
5759

@@ -74,12 +76,14 @@ TEST_CASE(
7476
// Minor version number.
7577
CHECK(actual[1] >= expect[1]);
7678

77-
// Only when minor version number compares equal.
78-
CHECKED_IF(expect.size() > 2) {
79-
REQUIRE(actual.size() > 2);
79+
// Only compare patch version number when minor version number compares equal.
80+
CHECKED_IF(actual[1] == expect[1]) {
81+
CHECKED_IF(expect.size() > 2) {
82+
REQUIRE(actual.size() > 2);
8083

81-
// Patch version number.
82-
CHECK(actual[2] >= expect[2]);
84+
// Patch version number.
85+
CHECK(actual[2] >= expect[2]);
86+
}
8387
}
8488
}
8589
}

0 commit comments

Comments
 (0)