mò %U²Ic@sJdkZdkZdkZdkZdklZdZedZeeddƒZ eeddƒZ dZ dfd„ƒYZ d fd „ƒYZ d e fd „ƒYZd e fd„ƒYZdfd„ƒYZdfd„ƒYZdfd„ƒYZdeifd„ƒYZdefd„ƒYZd„Zedjo eƒndS(N(s test_supportsHdef get_name(): return __name__ def get_file(): return __file__ sreloaded = True stexecs !!!_test_!!!t ImportTrackercBs#tZdZd„Zed„ZRS(s,Importer that only tracks attempted imports.cCs g|_dS(N(tselftimports(R((t2/data/zmath/lib/python2.4/test/test_importhooks.pyt__init__scCs|ii|ƒdS(N(RRtappendtfullnametNone(RRtpath((Rt find_modules(t__name__t __module__t__doc__RRR (((RRs  t TestImportercBsƒtZhdeef<deef<deef<deef<deef(RRRtispkgtcodetsyst setdefaulttimpt new_moduletmodt __class__R t__file__t __loader__Rt__path__t__dict__(RRRRR((Rt load_module<s  ( R R tFalsettest_cotTrueRRRRRR R#(((RR"s Q   t MetaImportercBstZd„ZRS(NcCsgS(N((R((RRHs(R R R(((RR'Gst PathImportercBstZd„ZRS(NcCs |igS(N(RR (R((RRLs(R R R(((RR(Kst ImportBlockercBs,tZdZd„Zed„Zd„ZRS(s‘Place an ImportBlocker instance on sys.meta_path and you can be sure the modules you specified can't be imported, even if it's a builtin.cGsti|ƒ|_dS(N(tdicttfromkeyst namestoblockR(RR,((RRTscCs||ijo|SndS(N(RRR,R(RRR ((RR VscCs td‚dS(Ns I dare you(R(RR((RR#Zs(R R R RRR R#(((RR)Ps   t ImpWrappercBs tZdd„Zdd„ZRS(NcCs8|dj otii|ƒ o t‚n||_dS(N(R RtostisdirRR(RR ((RR`s! cCs§|idƒd}||jo|idjodSn|idjo d}n |ig}yti||ƒ\}}}Wnt j o dSnXt |||ƒS(Nt.iÿÿÿÿ( RtsplittsubnameRR RRR tfiletfilenametstuffRt ImpLoader(RRR R4R5R2R3((RR es   (R R RRR (((RR-^s R6cBstZd„Zd„ZRS(NcCs||_||_||_dS(N(R3RR4R5(RR3R4R5((RRvs  cCsIti||i|i|iƒ}|io|iiƒn||_ |S(N( RR#RRR3R4R5RtcloseR (RRR((RR#{s !  (R R RR#(((RR6ts tImportHooksBaseTestCasecBstZd„Zd„ZRS(NcCsZti|_ti|_ti|_tiiƒtƒ|_tii d|iƒdS(Ni( RR Rt meta_patht path_hookstpath_importer_cachetclearRttrackertinsert(R((RtsetUp…s      cCsm|iti(|iti(|iti(tiiƒx2|iiD]$}|ti joti |=qAqAWdS(N( RR RR9R:R;R<R=RRR(RR((RttearDowns     (R R R?R@(((RR8ƒs tImportHooksTestCasecBs8tZdd„Zd„Zd„Zd„Zd„ZRS(NcCsNdk}dk}dk}dk}|i|iƒdƒ|i|iƒdƒ|i|iiƒdƒ|i|iiiƒdƒ|oY|i|i |ƒ|i|i |ƒ|i|ii |ƒ|i|iii |ƒnt t ft id