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%