New submission from Jon Dufresne: When using unittest, I'll frequently enable -Wall to help catch code smells and potential bugs.
One feature of this, I'm told when files aren't explicitly closed with an error like: "ResourceWarning: unclosed file <...>". I've noticed this warning is generated for an unclosed tempfile.TemporaryFile (good), but not for an unclosed tempfile.NamedTemporaryFile (possible bug). I've verified this on Python 3.5 and 3.6. Example test: ``` import tempfile import unittest class MyTest(unittest.TestCase): def test_temporary_file(self): tempfile.TemporaryFile() def test_named_temporary_file(self): tempfile.NamedTemporaryFile() ``` Actual output: ``` $ Python-3.6.0b4/python --version Python 3.6.0b4 $ Python-3.6.0b4/python -Wall -m unittest -v test test_named_temporary_file (test.MyTest) ... ok test_temporary_file (test.MyTest) ... /home/jon/test.py:7: ResourceWarning: unclosed file <_io.BufferedRandom name=3> tempfile.TemporaryFile() ok ---------------------------------------------------------------------- Ran 2 tests in 0.004s OK ``` Expected: I expect both tests to generate a ResourceWarning, as neither test explicitly closes the file. ---------- components: Library (Lib) messages: 282352 nosy: jdufresne priority: normal severity: normal status: open title: NamedTemporaryFile does not generate a ResourceWarning for unclosed files (unlike TemporaryFile) type: behavior versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28867> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com