PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  aNc@sdZddlZddlTdefdYZddddZedkrddlZddl m Z ee Z d e j Z d Zd ed kstd edkste jde jeje ndS(s WSGI Test Server This builds upon paste.util.baseserver to customize it for regressions where using raw_interactive won't do. iN(t*tWSGIRegressionServercBsVeZdZdZdZdZdZdZdZdZ dd Z RS( sN A threaded WSGIServer for use in regression testing. To use this module, call serve(application, regression=True), and then call server.accept() to let it handle one request. When finished, use server.stop() to shutdown the server. Note that all pending requests are processed before the server shuts down. i cOsEtj|||g|_g|_|j|_|jjddS(Ni(t WSGIServert__init__tstoppingtpendingtdefaulttimeoutttimeouttsockett settimeout(tselftargstkwargs((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyRs    cCs0ddlm}|d|j}|jdS(Ni(tThreadttarget(t threadingR t serve_pendingtstart(R R tthread((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyt serve_forever scCs&|jr"tj|j|_ndS(N(Rttimetexpires(R ((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyt reset_expires$s cOs.tj||||jj|jdS(N(Rt close_requestRtpopR(R R R ((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyR's cCsx|jxg|j s |jrstj}||jkrM|jrMdGHPn|jrc|jntjdq WdS(Ns0 WARNING: WSGIRegressionServer timeout exceeded g?(RRRRRRthandle_requesttsleep(R tnow((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyR+s    cCs|jjtdS(s/ stop the server (called from tester's thread) N(RtappendtTrue(R ((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pytstop7sicCs=|j stgt|D]}|jjt^qdS(s6 accept another request (called from tester's thread) N(RtAssertionErrortrangeRRR(R tcounttx((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pytaccept:s( t__name__t __module__t__doc__RRRRRRRR#(((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyRs     cCs/t||||}d|jGH|j|S(Nsserving on %s:%s(Rtserver_addressR(t applicationthosttportthandlertserver((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pytserve?s  t__main__(t dump_environs http://%s:%scCs=tjdddl}|jdtjt|jS(Niii(R,R#Rtsetdefaulttimeoutturllibturlopentbaseuritread(tpathR((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pytfetchKs   sPATH_INFO: /foos/foosPATH_INFO: /wombles/womblei(R&Rtpaste.httpserverRRtNoneR-R$R1t paste.wsgilibR/R,R'R3R6RR#RR2(((s:/usr/lib/python2.7/site-packages/paste/debug/testserver.pyt s  /