[Python-Dev] "if __name__ == '__main__'" at the bottom of python unittest files
Terry Reedy
tjreedy at udel.edu
Wed May 1 06:24:59 EDT 2019
On 5/1/2019 2:13 AM, Chris Withers wrote:
> On 01/05/2019 06:12, Terry Reedy wrote:
>> Such blocks should be excluded from coverage by the default
>> .coveragerc file. Mine came with
>>
>> exclude_lines =
>> # Don't complain if non-runnable code isn't run:
>> if 0:
>> if __name__ == .__main__.:
>> if DEBUG:
I am fairly sure these are the original lines. I added more to my
personal copy to exclude some things specific to idlelib files. Idlelib
files also have the same statement as the mock files. It is very handy
for development.
> Which .coveragerc are you referring to?
The file in the directory that contains Ned's coverage package.
At least that is where it is for me.
> There isn't one in the cpython repo
Since /coverage is not in the Python repo either, I would not expect it
to be.
> and a current release of coverage.py doesn't appear to exclude
> these lines for me:
> https://circleci.com/gh/testing-cabal/mock/20
>
> (line 44 in mock/tests/testsentinel.py)
I consider this a problem in the circleci coverage setup, not in the
mock files. A faulty exclude-lines section leads to a faulty coverage
calculation. Ned made it user-editable for a reason.
--
Terry Jan Reedy
More information about the Python-Dev
mailing list