After the next commit I will make in Distutils (that adds tests for bdist_rpm), the test coverage of this Python standard library package will be at 41%. This means that I have doubled the test coverage over the past few months, from 18% to 41%.

My goal is to double it again, and reach 80% in the next 6 months.

This also means I am just half an idiot now ! (since people who don’t have 100% code coverage are idiots ;)).

So does it make Distutils more robust ?

It would have probably made the latest Python 3 release looks better for this package, since we had a uncovered cmp() call left in Distutils by the time the release was made. In the meantime, as I said before, the “real” Distutils regression test suite is held by all the packages out there in the community, that are built and installed everyday.

Python trunk Distutils test coverage : 41%



Name Stmts Exec Cover -------------------------------------- __init__ 3 0 0% archive_util 77 61 79% bcppcompiler 185 0 0% ccompiler 453 211 46% cmd 180 134 74% config 73 59 80% core 93 50 53% cygwinccompiler 161 0 0% debug 3 3 100% dep_util 43 11 25% dir_util 109 76 69% dist 581 386 66% emxccompiler 118 0 0% errors 49 0 0% extension 97 28 28% fancy_getopt 233 126 54% file_util 124 77 62% filelist 161 102 63% log 46 21 45% msvc9compiler 408 0 0% msvccompiler 370 0 0% spawn 93 28 30% sysconfig 323 51 15% text_file 112 61 54% unixccompiler 160 64 40% util 255 157 61% version 68 62 91% versionpredicate 61 51 83% __init__ 3 3 100% bdist 61 35 57% bdist_dumb 57 47 82% bdist_msi 322 0 0% bdist_rpm 252 198 78% bdist_wininst 170 0 0% build 60 54 90% build_clib 90 0 0% build_ext 334 160 47% build_py 213 178 83% build_scripts 78 65 83% clean 35 0 0% config 185 0 0% install 251 156 62% install_data 44 0 0% install_egg_info 40 32 80% install_headers 25 0 0% install_lib 97 50 51% install_scripts 33 29 87% register 173 82 47% sdist 228 180 78% upload 112 38 33% -------------------------------------- TOTAL 7502 3126 41%



Python 2.5.4 Distutils test coverage : 18%

Name Stmts Exec Cover -------------------------------------- __init__ 3 0 0% archive_util 78 11 14% bcppcompiler 185 0 0% ccompiler 453 0 0% cmd 180 79 43% core 93 15 16% cygwinccompiler 160 0 0% debug 3 3 100% dep_util 43 4 9% dir_util 106 50 47% dist 578 342 59% emxccompiler 118 0 0% errors 49 0 0% extension 97 9 9% fancy_getopt 233 121 51% file_util 121 50 41% filelist 162 0 0% log 46 15 32% msvccompiler 365 0 0% mwerkscompiler 140 0 0% spawn 93 0 0% sysconfig 296 10 3% text_file 146 0 0% unixccompiler 159 0 0% util 235 69 29% version 68 48 70% versionpredicate 61 51 83% __init__ 3 3 100% bdist 59 0 0% bdist_dumb 57 0 0% bdist_msi 320 0 0% bdist_rpm 248 0 0% bdist_wininst 159 0 0% build 52 47 90% build_clib 90 0 0% build_ext 304 0 0% build_py 213 143 67% build_scripts 78 64 82% clean 35 0 0% config 185 0 0% install 220 120 54% install_data 44 0 0% install_egg_info 40 0 0% install_headers 26 0 0% install_lib 96 0 0% install_scripts 33 29 87% register 171 0 0% sdist 204 0 0% upload 118 0 0% -------------------------------------- TOTAL 7026 1283 18%