From ac1cda4f41b68500b43ca13144702718816fca0a Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Thu, 18 Nov 2021 11:12:27 +0100
Subject: [PATCH] Fix tests for better use of semantic versioning

---
 test/test_ccaosdb.cpp    | 10 ++++++++--
 test/test_connection.cpp | 11 +++++++++--
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/test/test_ccaosdb.cpp b/test/test_ccaosdb.cpp
index 9066337..347b869 100644
--- a/test/test_ccaosdb.cpp
+++ b/test/test_ccaosdb.cpp
@@ -103,11 +103,17 @@ TEST_F(test_ccaosdb, connection_ssl_authentication_success) {
 
   auto major = caosdb_constants_COMPATIBLE_SERVER_VERSION_MAJOR();
   auto minor = caosdb_constants_COMPATIBLE_SERVER_VERSION_MINOR();
+  auto patch = caosdb_constants_COMPATIBLE_SERVER_VERSION_PATCH();
   const auto *const pre_release = caosdb_constants_COMPATIBLE_SERVER_VERSION_PRE_RELEASE();
 
   EXPECT_EQ(major, version_info.major);
-  EXPECT_EQ(minor, version_info.minor);
-  EXPECT_STREQ(pre_release, version_info.pre_release);
+  EXPECT_LE(minor, version_info.minor);
+  if (minor == version_info.minor) {
+    EXPECT_LE(patch, version_info.patch);
+  }
+  if (strcmp(pre_release, "") != 0) {
+    EXPECT_STREQ(pre_release, version_info.pre_release);
+  }
 }
 
 TEST_F(test_ccaosdb, test_count_query) {
diff --git a/test/test_connection.cpp b/test/test_connection.cpp
index 6e0839e..c3686a9 100644
--- a/test/test_connection.cpp
+++ b/test/test_connection.cpp
@@ -111,12 +111,19 @@ TEST(test_connection, connection_ssl_authentication_success) {
 
   auto major = caosdb::COMPATIBLE_SERVER_VERSION_MAJOR;
   auto minor = caosdb::COMPATIBLE_SERVER_VERSION_MINOR;
+  auto patch = caosdb::COMPATIBLE_SERVER_VERSION_PATCH;
   const auto pre_release = std::string(caosdb::COMPATIBLE_SERVER_VERSION_PRE_RELEASE);
 
   const auto &v_info = connection->RetrieveVersionInfo();
+
   EXPECT_EQ(major, v_info.GetMajor());
-  EXPECT_EQ(minor, v_info.GetMinor());
-  EXPECT_EQ(pre_release, v_info.GetPreRelease());
+  EXPECT_LE(minor, v_info.GetMinor());
+  if (minor == v_info.GetMinor()) {
+    EXPECT_LE(patch, v_info.GetPatch());
+  }
+  if (!pre_release.empty()) {
+    EXPECT_EQ(pre_release, v_info.GetPreRelease());
+  }
 }
 
 } // namespace caosdb::connection
-- 
GitLab