]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3163] relax time-senstitive tests in dhcpsrv
authorAndrei Pavel <andrei@isc.org>
Mon, 29 Apr 2024 09:42:04 +0000 (12:42 +0300)
committerAndrei Pavel <andrei@isc.org>
Wed, 1 May 2024 10:23:17 +0000 (13:23 +0300)
src/lib/dhcpsrv/testutils/test_utils.cc

index 2608698de0a975f7cb820b1837191aeab44e007d..4cf0b2a5ff8122ba7356ae58ba97ed5aa001f61f 100644 (file)
@@ -5,12 +5,14 @@
 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 #include <config.h>
-#include "test_utils.h"
+
 #include <asiolink/io_address.h>
+#include <dhcpsrv/testutils/test_utils.h>
+#include <testutils/gtest_utils.h>
+
 #include <gtest/gtest.h>
-#include <sstream>
-#include <sys/types.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 #include <unistd.h>
 
 using namespace std;
@@ -50,8 +52,12 @@ detailCompareLease(const Lease4Ptr& first, const Lease4Ptr& second) {
         // else here would mean that both leases do not have client_id_
         // which makes them equal in that regard. It is ok.
     }
-    EXPECT_EQ(first->valid_lft_, second->valid_lft_);
-    EXPECT_EQ(first->cltt_, second->cltt_);
+
+    // Since the initial time values were set, one second could have ticked,
+    // so allow one second of margin error.
+    EXPECT_EQ_MARGIN(first->valid_lft_, second->valid_lft_, 1);
+    EXPECT_EQ_MARGIN(first->cltt_, second->cltt_, 1);
+
     EXPECT_EQ(first->subnet_id_, second->subnet_id_);
     EXPECT_EQ(first->pool_id_, second->pool_id_);
     EXPECT_EQ(first->fqdn_fwd_, second->fqdn_fwd_);
@@ -83,9 +89,13 @@ detailCompareLease(const Lease6Ptr& first, const Lease6Ptr& second) {
     ASSERT_TRUE(first->duid_);
     ASSERT_TRUE(second->duid_);
     EXPECT_TRUE(*first->duid_ == *second->duid_);
-    EXPECT_EQ(first->preferred_lft_, second->preferred_lft_);
-    EXPECT_EQ(first->valid_lft_, second->valid_lft_);
-    EXPECT_EQ(first->cltt_, second->cltt_);
+
+    // Since the initial time values were set, one second could have ticked,
+    // so allow one second of margin error.
+    EXPECT_EQ_MARGIN(first->preferred_lft_, second->preferred_lft_, 1);
+    EXPECT_EQ_MARGIN(first->valid_lft_, second->valid_lft_, 1);
+    EXPECT_EQ_MARGIN(first->cltt_, second->cltt_, 1);
+
     EXPECT_EQ(first->subnet_id_, second->subnet_id_);
     EXPECT_EQ(first->pool_id_, second->pool_id_);
     EXPECT_EQ(first->fqdn_fwd_, second->fqdn_fwd_);