Skip to content

Commit da778c5

Browse files
committed
PYTHON-2150 Fix ObjectId test on 32-bit platforms
1 parent 04c3a48 commit da778c5

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

test/test_objectid.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,14 @@ def generate_objectid_with_timestamp(timestamp):
189189

190190
for tstamp, exp_datetime_args in TEST_DATA.items():
191191
oid = generate_objectid_with_timestamp(tstamp)
192-
self.assertEqual(
193-
oid.generation_time,
194-
datetime.datetime(*exp_datetime_args, tzinfo=utc))
192+
if tstamp > 0x7FFFFFFF and sys.maxsize < 2**32:
193+
# 32-bit platforms will overflow in datetime.fromtimestamp.
194+
with self.assertRaises((OverflowError, ValueError)):
195+
oid.generation_time
196+
else:
197+
self.assertEqual(
198+
oid.generation_time,
199+
datetime.datetime(*exp_datetime_args, tzinfo=utc))
195200

196201
def test_random_regenerated_on_pid_change(self):
197202
# Test that change of pid triggers new random number generation.

0 commit comments

Comments
 (0)