Skip to content

Commit 86c0df0

Browse files
committed
Use catch_warnings to test warnings.
1 parent 327fdaa commit 86c0df0

File tree

4 files changed

+7
-22
lines changed

4 files changed

+7
-22
lines changed

test/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,8 @@
4444

4545

4646
def setup():
47-
# Make sure warnings are always raised, regardless of
48-
# python version.
4947
warnings.resetwarnings()
50-
warnings.simplefilter("always")
48+
warnings.simplefilter("ignore")
5149

5250

5351
def teardown():

test/test_collection.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -217,16 +217,10 @@ def test_ensure_index(self):
217217
def test_deprecated_ttl_index_kwarg(self):
218218
db = self.db
219219

220-
# In Python 2.6+ we could use the catch_warnings context
221-
# manager to test this warning nicely. As we can't do that
222-
# we must test raising errors before the ignore filter is applied.
223-
warnings.simplefilter("error", DeprecationWarning)
224-
try:
220+
with warnings.catch_warnings():
221+
warnings.simplefilter("error", DeprecationWarning)
225222
self.assertRaises(DeprecationWarning, lambda:
226223
db.test.ensure_index("goodbye", ttl=10))
227-
finally:
228-
warnings.resetwarnings()
229-
warnings.simplefilter("ignore")
230224

231225
self.assertEqual("goodbye_1",
232226
db.test.ensure_index("goodbye", ttl=10))

test/test_common.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import sys
1818
import uuid
19-
import warnings
2019

2120
sys.path[0:0] = [""]
2221

test/test_database.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -351,15 +351,12 @@ def test_authenticate_add_remove_user(self):
351351
"user", 'password', True, roles=['read'])
352352

353353
if version.at_least(self.client, (2, 5, 3, -1)):
354-
warnings.simplefilter("error", DeprecationWarning)
355-
try:
354+
with warnings.catch_warnings():
355+
warnings.simplefilter("error", DeprecationWarning)
356356
self.assertRaises(DeprecationWarning, db.add_user,
357357
"user", "password")
358358
self.assertRaises(DeprecationWarning, db.add_user,
359359
"user", "password", True)
360-
finally:
361-
warnings.resetwarnings()
362-
warnings.simplefilter("ignore")
363360

364361
self.assertRaises(ConfigurationError, db.add_user,
365362
"user", "password", digestPassword=True)
@@ -930,18 +927,15 @@ def test_command_response_without_ok(self):
930927
self.fail("_check_command_response didn't raise OperationFailure")
931928

932929
def test_command_read_pref_warning(self):
933-
warnings.simplefilter("error", UserWarning)
934-
try:
930+
with warnings.catch_warnings():
931+
warnings.simplefilter("error", UserWarning)
935932
self.assertRaises(UserWarning, self.client.pymongo_test.command,
936933
'ping', read_preference=ReadPreference.SECONDARY)
937934
try:
938935
self.client.pymongo_test.command(
939936
'dbStats', read_preference=ReadPreference.SECONDARY)
940937
except UserWarning:
941938
self.fail("Shouldn't have raised UserWarning.")
942-
finally:
943-
warnings.resetwarnings()
944-
warnings.simplefilter("ignore")
945939

946940
def test_command_max_time_ms(self):
947941
if not version.at_least(self.client, (2, 5, 3, -1)):

0 commit comments

Comments
 (0)