Skip to content

Commit 098406c

Browse files
authored
Merge pull request #4390 from jdufresne/resource-warning
Fix ResourceWarning emitted during tests
2 parents c56f5ba + 1671f6b commit 098406c

5 files changed

Lines changed: 24 additions & 24 deletions

File tree

.ci/test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
python -m pytest -v -x --cov PIL --cov Tests --cov-report term Tests
5+
python -m pytest -v -x -W always --cov PIL --cov Tests --cov-report term Tests
66

77
# Docs
88
if [ "$TRAVIS_PYTHON_VERSION" == "3.8" ] && [ "$TRAVIS_CPU_ARCH" == "amd64" ]; then

.github/workflows/test-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ jobs:
335335
rem Add libraqm.dll (copied to INCLIB) to PATH.
336336
path %INCLIB%;%PATH%
337337
cd /D %GITHUB_WORKSPACE%
338-
%PYTHON%\python.exe -m pytest -vx --cov PIL --cov Tests --cov-report term --cov-report xml Tests
338+
%PYTHON%\python.exe -m pytest -vx -W always --cov PIL --cov Tests --cov-report term --cov-report xml Tests
339339
shell: cmd
340340

341341
- name: Prepare to upload errors

Tests/test_file_jpeg.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -644,11 +644,11 @@ def test_invalid_exif(self):
644644

645645
def test_invalid_exif_x_resolution(self):
646646
# When no x or y resolution is defined in EXIF
647-
im = Image.open("Tests/images/invalid-exif-without-x-resolution.jpg")
647+
with Image.open("Tests/images/invalid-exif-without-x-resolution.jpg") as im:
648648

649-
# This should return the default, and not a ValueError or
650-
# OSError for an unidentified image.
651-
self.assertEqual(im.info.get("dpi"), (72, 72))
649+
# This should return the default, and not a ValueError or
650+
# OSError for an unidentified image.
651+
self.assertEqual(im.info.get("dpi"), (72, 72))
652652

653653
def test_ifd_offset_exif(self):
654654
# Arrange

Tests/test_file_tiff_metadata.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,9 @@ def test_ifd_unsigned_rational(self):
232232
out = self.tempfile("temp.tiff")
233233
im.save(out, tiffinfo=info, compression="raw")
234234

235-
reloaded = Image.open(out)
236-
self.assertEqual(max_long, reloaded.tag_v2[41493].numerator)
237-
self.assertEqual(1, reloaded.tag_v2[41493].denominator)
235+
with Image.open(out) as reloaded:
236+
self.assertEqual(max_long, reloaded.tag_v2[41493].numerator)
237+
self.assertEqual(1, reloaded.tag_v2[41493].denominator)
238238

239239
# out of bounds of 4 byte unsigned long
240240
numerator = max_long + 1
@@ -244,9 +244,9 @@ def test_ifd_unsigned_rational(self):
244244
out = self.tempfile("temp.tiff")
245245
im.save(out, tiffinfo=info, compression="raw")
246246

247-
reloaded = Image.open(out)
248-
self.assertEqual(max_long, reloaded.tag_v2[41493].numerator)
249-
self.assertEqual(1, reloaded.tag_v2[41493].denominator)
247+
with Image.open(out) as reloaded:
248+
self.assertEqual(max_long, reloaded.tag_v2[41493].numerator)
249+
self.assertEqual(1, reloaded.tag_v2[41493].denominator)
250250

251251
def test_ifd_signed_rational(self):
252252
im = hopper()
@@ -261,9 +261,9 @@ def test_ifd_signed_rational(self):
261261
out = self.tempfile("temp.tiff")
262262
im.save(out, tiffinfo=info, compression="raw")
263263

264-
reloaded = Image.open(out)
265-
self.assertEqual(numerator, reloaded.tag_v2[37380].numerator)
266-
self.assertEqual(denominator, reloaded.tag_v2[37380].denominator)
264+
with Image.open(out) as reloaded:
265+
self.assertEqual(numerator, reloaded.tag_v2[37380].numerator)
266+
self.assertEqual(denominator, reloaded.tag_v2[37380].denominator)
267267

268268
numerator = -(2 ** 31)
269269
denominator = 2 ** 31 - 1
@@ -273,9 +273,9 @@ def test_ifd_signed_rational(self):
273273
out = self.tempfile("temp.tiff")
274274
im.save(out, tiffinfo=info, compression="raw")
275275

276-
reloaded = Image.open(out)
277-
self.assertEqual(numerator, reloaded.tag_v2[37380].numerator)
278-
self.assertEqual(denominator, reloaded.tag_v2[37380].denominator)
276+
with Image.open(out) as reloaded:
277+
self.assertEqual(numerator, reloaded.tag_v2[37380].numerator)
278+
self.assertEqual(denominator, reloaded.tag_v2[37380].denominator)
279279

280280
# out of bounds of 4 byte signed long
281281
numerator = -(2 ** 31) - 1
@@ -286,9 +286,9 @@ def test_ifd_signed_rational(self):
286286
out = self.tempfile("temp.tiff")
287287
im.save(out, tiffinfo=info, compression="raw")
288288

289-
reloaded = Image.open(out)
290-
self.assertEqual(2 ** 31 - 1, reloaded.tag_v2[37380].numerator)
291-
self.assertEqual(-1, reloaded.tag_v2[37380].denominator)
289+
with Image.open(out) as reloaded:
290+
self.assertEqual(2 ** 31 - 1, reloaded.tag_v2[37380].numerator)
291+
self.assertEqual(-1, reloaded.tag_v2[37380].denominator)
292292

293293
def test_ifd_signed_long(self):
294294
im = hopper()
@@ -299,8 +299,8 @@ def test_ifd_signed_long(self):
299299
out = self.tempfile("temp.tiff")
300300
im.save(out, tiffinfo=info, compression="raw")
301301

302-
reloaded = Image.open(out)
303-
self.assertEqual(reloaded.tag_v2[37000], -60000)
302+
with Image.open(out) as reloaded:
303+
self.assertEqual(reloaded.tag_v2[37000], -60000)
304304

305305
def test_empty_values(self):
306306
data = io.BytesIO(

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ commands =
1414
{envpython} setup.py clean
1515
{envpython} setup.py build_ext --inplace
1616
{envpython} selftest.py
17-
{envpython} -m pytest {posargs}
17+
{envpython} -m pytest -W always {posargs}
1818
deps =
1919
cffi
2020
numpy

0 commit comments

Comments
 (0)