Skip to content

Commit 07c834e

Browse files
committed
PYTHON-2218 Fix race in test_last_write_date
1 parent 7099e1b commit 07c834e

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

test/test_max_staleness.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,21 @@ def test_last_write_date(self):
122122
# From max-staleness-tests.rst, "Parse lastWriteDate".
123123
client = rs_or_single_client(heartbeatFrequencyMS=500)
124124
client.pymongo_test.test.insert_one({})
125-
time.sleep(2)
125+
# Wait for the server description to be updated.
126+
time.sleep(1)
126127
server = client._topology.select_server(writable_server_selector)
127-
last_write = server.description.last_write_date
128-
self.assertTrue(last_write)
128+
first = server.description.last_write_date
129+
self.assertTrue(first)
130+
# The first last_write_date may correspond to a internal server write,
131+
# sleep so that the next write does not occur within the same second.
132+
time.sleep(1)
129133
client.pymongo_test.test.insert_one({})
130-
time.sleep(2)
134+
# Wait for the server description to be updated.
135+
time.sleep(1)
131136
server = client._topology.select_server(writable_server_selector)
132-
self.assertGreater(server.description.last_write_date, last_write)
133-
self.assertLess(server.description.last_write_date, last_write + 10)
137+
second = server.description.last_write_date
138+
self.assertGreater(second, first)
139+
self.assertLess(second, first + 10)
134140

135141
@client_context.require_version_max(3, 3)
136142
def test_last_write_date_absent(self):

0 commit comments

Comments
 (0)