m  and statements that are missed with !. With the -d option, make the copies in that directory. Without the -d option, make each copy in the same directory as the original. -o dir,dir2,... Omit reporting or annotating files when their filename path starts with a directory listed in the omit list. e.g. python coverage.py -i -r -o c:\python23,lib\enthought\traits Coverage data is saved in the file .coverage by default. Set the COVERAGE_FILE environment variable to save it somewhere else.s 2.6.20060823N(s gethostnametStatementFindingAstVisitorcBstZdZdZeZZdZeZZdZ dZ dZ e Z Z ZZZZZZZdZdZeZd Zd d Zd Zd ZdZdZdZdZdZ dZ!RS(NcCs;tiii|||_||_||_d|_dS(Ni( tcompilertvisitort ASTVisitort__init__tselft statementstexcludedt suite_spotstexcluding_suite(RRRR((t./Users/classic/dev/sqlalchemy/test/coverage.pyRZs    cCs5|i|x!|iD]}|i|qWdS(N(RtrecordNodeLinetnodet getChildNodestntdispatch(RR R((R t doRecursiveas  cCsUt|do.|io$|i|i|i|in|i||idS(Nt decorators(thasattrR RRRtrecordAndDispatchtcodetdoSuite(RR ((R tdoCodehscCsa|i}xQ|iD]C}|i|}|o|ot||}q|p|}qW|S(N(R tlinenoR RRt getFirstLinetftmin(RR RRR((R Rqs  cCs<|i}x,|iD]}t||i|}qW|S(N(R RR RtmaxRt getLastLine(RR RR((R R|s   cCs|i|i|dS(N(Rt recordLineRR (RR ((R t doStatementscCs|i|iS(N(RRR R(RR ((R R scCs|o||ijo|i|d}n|iod|i|R?(((R RNstcoveragecBstZdZdZhZhZhZhZdZdZ ddZ ddZ ddZ edZed Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZ ddZ!dZ"dZ#dZ$dZ%dZ&d Z'd!Z(d"d#dgd$Z)e*i+d%Z,e*i+d&Z-dd#gd'Z.dd(Z/RS()Ns .coveraget COVERAGE_FILEcCs|to tdnd|_d|_d|_d|_g|_g|_ t i i t i i t it i i|_dS(Ns!Only one coverage object allowed.iti(t the_coverageRNRtusecacheR*tcachet exclude_retnestingtcstacktxstacktostpathtnormcasetabspathtcurdirtsept relative_dir(R((R R s       cCsa|djoMd|i|ii|if}| i|o(| i|o|d||fqqWqW| idp| idp | id}| idp| idp|}|p|dn| o"| o|dd i| n|i| id|id!| ido|in| idol| p|d"n| t_ |idk}tiiti d#tid#:sRQit:it=s=You can't specify the '%s' and '%s' options at the same time.s7You must specify at least one of -e, -x, -c, -r, or -a.sUnexpected arguments: %st s)#pragma[: ]+[nN][oO] [cC][oO][vV][eE][rR]sNothing to do.it,t omit_prefixes(,tgetoptRjRtsettingstoptmaptstringtjointmaptkeyst short_optstvaluest long_optstargvtoptionstargsRpR6RtgetR5tjt args_neededtactiont get_readyR!RmRhtstartt__main__RYRZtdirnametexecfilet__dict__Rlt cexecutedt ignore_errorst show_missingt directorytomitR*tsplitRnRk(RRRjRRRRRRwRRyRR6RxR5RRpR~RRR((R t command_line)sv i $      /&      cCs,||_|o|i o ||_ndS(N(RSRt cache_fileRTt cache_default(RRSR((R t use_cache~s cCs|iol|i oatii|i|i|_|o.|idt dt ti 7_n|i nh|_ dS(Nt.(RRSRTRYtenvironRt cache_envRt parallel_modet gethostnametstrtgetpidtrestoretanalysis_cache(RR((R Rs .cCsh|i||idjo8ti|ittdoti|iqUn|id7_dS(Nitsettracei( RRRRVRhRR0Rt threading(RR((R Rs  cCsU|id8_|idjo2tidttdotidqQndS(NiiR(RRVRhRR*RR(R((R tstops  cCs\h|_h|_h|_|io*tii|ioti|ind|_ dS(NRQ( RRbRRRTRYRZtexiststremoveRU(R((R Rms     cCs8|io|id7_n|id|d7_dS(Nt|t(t)(RRUtre(RR((R R!s cCs*|ii|i|ii|idS(N(RRWtappendRbRXRU(R((R tbegin_recursivescCs(|ii|_|ii|_dS(N(RRWtpopRbRXRU(R((R t end_recursivescCs^|ioP|ioF|it|id}dk}|i|i||indS(Ntwb( RRSRTtcanonicalize_filenamestopentmarshaltdumpRtclose(RRTR((R tsaves   cCsVh|_h|_|ipttii|io|i |i|_ndS(N( RRbRRStAssertionErrorRYRZRRTt restore_file(R((R Rs   cCsfyTt|d}dk}|i|}|it|ti o|SnhSWn hSnXdS(Ntrb( Rt file_nameRTRtloadRRt isinstancettypestDictType(RRRTRR((R Rs  cCstii|i\}}x_ti|D]N}|i |pq+ntii ||}|i |}|i|q+WdS(N(RYRZRRRTt cache_dirtlocaltlistdirtfilet startswithR{t full_pathRRt merge_data(RRRRRR((R RlscCs\xU|iD]G\}}|ii|o|i|i||q ||i|RRRYRZR(RR((R t morf_names cCsWg}xJ|D]B}x9|D]$}|i|i|oPqqW|i|q W|S(sp Return list of morfs where the morf name does not begin with any one of the omit_prefixes. N( tfiltered_morfstmorfsRRvtprefixRRRR(RRRvRRR((R tfilter_by_prefixs cCst|i||i|S(N(tcmpRRtxty(RR R ((R tmorf_name_comparesiic Cst|tip |g}n|i||}|i|it dgt t t |i |}d|}|d}|dd} |d}|o| d} |d}n|p ti}n|| IJ|d t | IJd }d }x&|D]}|i |}y|i|\}}}}} t |}|t |}|d jod ||} nd } |||| f}|o|| f}n|||IJ||}||}Wqt#j o q|p4ti%d d !\} } |||| | fIJqqXqWt |d jor|d t | IJ|d jod ||} nd } d||| f}|o|d}n|||IJndS(Nis %%- %ds s%s: %stNames Stmts Exec Covers% 6d % 6d % 5d%%s Missings %st-if100.0iitTOTALRQ(RQ((RRRtListTypeRR RvRR RR|R3Rtmax_nametfmt_nametfmt_errtheadert fmt_coverageRRRhtstdoutttotal_statementsttotal_executedRtnameRRRRtreadableRRtpcRtKeyboardInterruptRtexc_infoRtmsg(RRRRRRvRRRRRRRRRRRRRRRRRRR((R Rnsb (         # s\s*(#|$)s\s*else\s*:\s*(#|$)c Cs|i||}xv|D]n} y;|i| \}}} }}|i ||| ||Wqt j o q|pqqXqWdS(N(RR RRvRRRRRRRt annotate_fileRRR( RRRRRvRRRRRR((R RkscCst|d} |o)tii|tii|d} n |d} t| d}d} d}d}d} x| i} | djoPn| d} x3|t|jo||| jo|d}qWx3|t|jo||| jo|d}qW|t|jo8||| jo'|t|jp||| j} n|ii| o|idn|ii| o|t|jo$|t|jo|idqq|t|jp|t|jo|id qq||||jo|idqq|id nD| |jo|id n&| o|id n|id|i| qsW| i|idS( NRs,coverRaiiRQs s! s> s- (RRRRRYRZR{Rt dest_filetdestRR5RtcoveredtreadlineR`R3RRRtblank_retmatchtwritetelse_reRR(RRRRRRR5R"RRR!RR#R`((R R sT     $$$'&&   (0R>R?RRRbRRRRR0R*RjRRtFalseRRRRmR!RRRRRRlRRRRRRRRRRRRRR R RnRRR%R(RkR (((R ROsT    U               # #      7 cOsti||S(N(RRRRtkw(RR*((R R3scOsti||S(N(RRRRR*(RR*((R R4scOsti||S(N(RRRRR*(RR*((R R5scOsti||S(N(RRRmRR*(RR*((R Rm6scOsti||S(N(RRRRR*(RR*((R R7scOsti||S(N(RRRRR*(RR*((R R8scOsti||S(N(RRR!RR*(RR*((R R!9scOsti||S(N(RRRRR*(RR*((R R:scOsti||S(N(RRRRR*(RR*((R R;scOsti||S(N(RRRnRR*(RR*((R Rn<scOsti||S(N(RRRkRR*(RR*((R Rk=scOsti||S(N(RRR RR*(RR*((R R >sRi((Rgt __version__Rtcompiler.visitorRYRRzRhRRtsocketRRRRR*RRt ExceptionRNRORRRRmRRR!RRRnRkR tatexittregisterRt ImportErrortexitfuncR>RR(RRkR/RmR!RRRR RNRR+RzRRhRRORnRRRRRRRY((R t?7sH         A