[python-committers] Codecov and PR
Ethan Furman
ethan at stoneleaf.us
Wed Apr 26 11:21:34 EDT 2017
More information about the python-committers mailing list
Wed Apr 26 11:21:34 EDT 2017
- Previous message (by thread): [python-committers] Codecov and PR
- Next message (by thread): [python-committers] Codecov and PR
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 04/25/2017 10:15 PM, INADA Naoki wrote: > This is one examples I merged "untested line of code". > https://github.com/python/cpython/pull/162/files#diff-0ad86c44e7866421ecaa5ad2c0edb0e2R552 > > + file_object = builtins.open(f, 'wb') > + try: > + self.initfp(file_object) > + except: > + file_object.close() > + raise > > `self.initfp()` is very unlikely raise exceptions. But MemoryError, > KeyboardInterrupt or > other rare exceptions may be happen. > Test didn't cover this except clause. But I merged it because: > > * this code is simple enough. > * I can write test for it with mocking `self.initfp()` to raise > exception. But such test code > have significant maintenance cost. I don't think this except clause > is important enough > to maintain such code. I'm curious as to the maintenance cost -- surely it's write once, forget until you have to change that method again? How often are we changing that method? > If I remove the except clause, all lines are tested, but there is > (very unlikely) > leaking unclosed file. Which are "broken"? Definitely the (unlikely) leaking of a file, possibly the untested closing of an otherwise leaked file. > Coverage is very nice information to find code which should be tested, > but not tested. > But I don't think "all code should be tested". All code should be tested. Doesn't mean we can, but that should be the goal. > It may make hard to improve Python. Adding missing tests _is_ improving Python. -- ~Ethan~
- Previous message (by thread): [python-committers] Codecov and PR
- Next message (by thread): [python-committers] Codecov and PR
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the python-committers mailing list