-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Address resource warnings because of open file handles #529
Conversation
Saving the graphics context to the PS and SVG backends raises resource warnings because the file handler is not closed by the save method. This is a trivial fix by using open as a context manager modified: kiva/ps.py modified: kiva/svg.py
Codecov Report
@@ Coverage Diff @@
## master #529 +/- ##
=======================================
Coverage 35.16% 35.16%
=======================================
Files 210 210
Lines 17840 17840
Branches 2454 2454
=======================================
Hits 6274 6274
Misses 11161 11161
Partials 405 405
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Note that the GL tests still have this problem:
home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmp7nfmc1i8/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_circle_clip (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpg1f78hpl/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_circle_fill (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpp13utc14/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_line (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmp61yj939u/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_quarter_circle (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpih3jrfhr/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_rect (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmp0h8fty3k/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_rectangle (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpnk4i1tug/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_star_clip (kiva.tests.test_gl_drawing.TestGLDrawing) ... skipped 'gl graphics context does not support star_clip (#164)'
test_star_eof_fill (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpdr6zooxm/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_star_fill (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpl7q3qpkr/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
ok
test_text (kiva.tests.test_gl_drawing.TestGLDrawing) ... /home/travis/.edm/envs/enable-test-3.6-pyqt/lib/python3.6/site-packages/kiva/tests/test_gl_drawing.py:55: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmp5l_oqzlg/rendered.png'>
buffer.get_color_buffer().save(filename, encoder=PNGImageEncoder())
modified: kiva/tests/test_gl_drawing.py
@jwiggins addressed your comment about the resource warnings from |
Saving the graphics context to the PS and SVG backends raises resource warnings because the file handler is not closed by the save method. This PR fixes the issue by using open as a context manager.
For example, the resource warnings look like this on master -