From: Douglas Bagnall Date: Thu, 8 Aug 2024 23:20:38 +0000 (+1200) Subject: s4:drs:test:getncchanges: add a timeout failure X-Git-Tag: tdb-1.4.13~1276 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4b4a7c3fd465267c43d9586ab79ca8f84c0cad24;p=thirdparty%2Fsamba.git s4:drs:test:getncchanges: add a timeout failure In the next commit we are going to add tests in which the client modifies the highwatermark in a way that resets replication (on Samba only). After that we'll fix it. If we leave the test in an eternal loop, the commit history will not be bisectable, so we are temporarily going to turn long waits into failures. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15701 Signed-off-by: Douglas Bagnall Reviewed-by: Jennifer Sutton --- diff --git a/source4/torture/drs/python/getncchanges.py b/source4/torture/drs/python/getncchanges.py index 6b5456a66a8..f7b1fe8eeff 100644 --- a/source4/torture/drs/python/getncchanges.py +++ b/source4/torture/drs/python/getncchanges.py @@ -33,6 +33,7 @@ import samba.tests import ldb from ldb import SCOPE_BASE import random +import time from samba.dcerpc import drsuapi, misc from samba import WERRORError @@ -57,6 +58,7 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase): self.default_conn = DcConnection(self, self.ldb_dc2, self.dnsname_dc2) self.set_dc_connection(self.default_conn) + self.start_time = time.time() def init_test_state(self): self.rxd_dn_list = [] @@ -358,6 +360,9 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase): def replication_complete(self): """Returns True if the current/last replication cycle is complete""" + now = time.time() + if now - self.start_time > 30: + self.fail("we seem to be in an eternal loop") if self.last_ctr is None or self.last_ctr.more_data: return False