Skip to content

Commit ae24c4c

Browse files
committed
PYTHON-1406 - Fix causal test failures
1 parent 47cab04 commit ae24c4c

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

test/test_session.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -651,11 +651,16 @@ def test_core(self):
651651
self.client.pymongo_test.command('doesntexist', session=sess)
652652
except:
653653
pass
654-
# operationTime was updated from a failed command
655-
self.assertNotEqual(op_time, sess.operation_time)
656654
failed = self.listener.results['failed'][0]
657-
self.assertEqual(
658-
sess.operation_time, failed.failure.get('operationTime'))
655+
failed_op_time = failed.failure.get('operationTime')
656+
# Some older builds of MongoDB 3.5 / 3.6 return None for
657+
# operationTime when a command fails. Make sure we don't
658+
# change operation_time to None.
659+
if failed_op_time is None:
660+
self.assertIsNotNone(sess.operation_time)
661+
else:
662+
self.assertEqual(
663+
sess.operation_time, failed_op_time)
659664

660665
with self.client.start_session() as sess2:
661666
self.assertIsNone(sess2.cluster_time)
@@ -715,9 +720,12 @@ def test_reads(self):
715720
lambda coll, session: coll.inline_map_reduce(
716721
'function() {}', 'function() {}', session=session))
717722
if not client_context.is_mongos:
723+
def scan(coll, session):
724+
cursors = coll.parallel_scan(1, session=session)
725+
for cur in cursors:
726+
list(cur)
718727
self._test_reads(
719-
lambda coll, session: list(
720-
coll.parallel_scan(1, session=session)))
728+
lambda coll, session: scan(coll, session=session))
721729

722730
self.assertRaises(
723731
ConfigurationError,

0 commit comments

Comments
 (0)