ó {G_Tc@sÏddlZddlZddlZddlZddlmZmZmZmZej dkrsej dƒ‚nedZ dej ej fZdejfd„ƒYZd „Zed krËeƒndS( iÿÿÿÿN(tTESTFNt run_unittesttunlinkt reap_childrentposixs pipes module only works on posixt2str %s %stSimplePipeTestscBs˜eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„ZRS(cCs%xttfD]}t|ƒq WdS(N(RtTESTFN2R(tselftf((s+/usr/local/lib/python2.7/test/test_pipes.pyttearDownscCswtjƒ}|jttjƒ|jtdƒ}|jdƒ|jƒttƒ}|j |j ƒdƒWdQXdS(Ntwshello world #1sHELLO WORLD #1( tpipestTemplatetappendt s_commandt STDIN_STDOUTtopenRtwritetcloset assertEqualtread(RttR ((s+/usr/local/lib/python2.7/test/test_pipes.pyttestSimplePipe1s   cCs‡ttdƒ}|jdƒWdQXtjƒ}|jtdtjƒ|jtt ƒtt ƒ}|j |j ƒdƒWdQXdS(NR shello world #2s < $IN > $OUTsHELLO WORLD #2( RRRR R RRtFILEIN_FILEOUTtcopyRRR(RR R((s+/usr/local/lib/python2.7/test/test_pipes.pyttestSimplePipe2s cCs}ttdƒ}|jdƒWdQXtjƒ}|jtdtjƒ|jtdƒ}|j|j ƒdƒWdQXdS(NR shello world #2s < $INtrsHELLO WORLD #2( RRRR R RRt FILEIN_STDOUTRR(RR R((s+/usr/local/lib/python2.7/test/test_pipes.pyttestSimplePipe3&s  c Cs›d}ttdƒ}|j|ƒWdQXttdƒ}|jdƒWdQXtjƒ}|jttƒttƒ}|j|jƒ|ƒWdQXdS(Nsempty pipeline test COPYR t( RRRRR R RRR(RtdR R((s+/usr/local/lib/python2.7/test/test_pipes.pyttestEmptyPipeline1.s cCsld}ttdƒ}|j|ƒWdQXtjƒ}|jtdƒ}|j|jƒ|ƒWdQXdS(Nsempty pipeline test READR R(RRRR R RR(RRR R((s+/usr/local/lib/python2.7/test/test_pipes.pyttestEmptyPipeline2:s  cCsid}tjƒ}|jtdƒ}|j|ƒWdQXttƒ}|j|jƒ|ƒWdQXdS(Nsempty pipeline test WRITER (R R RRRRR(RRRR ((s+/usr/local/lib/python2.7/test/test_pipes.pyttestEmptyPipeline3Cs  cCsÍtjtjd}d}|jtjdƒdƒ|jtj|ƒ|ƒ|jtjdƒdƒx/|D]'}|jtjd|ƒd|ƒqlWx/|D]'}|jtjd |ƒd |ƒqžWdS( Ns @%_-+=:,./s"`$\!Rs''stest file names'test file name's test%snames 'test%sname's test%s'name's'test%s'"'"'name'"'"''(tstringt ascii_letterstdigitsRR tquote(Rt safeunquotedtunsafetu((s+/usr/local/lib/python2.7/test/test_pipes.pyt testQuotingLs  cCsOtjƒ}|jt|ƒdƒ|jdtjƒ|jt|ƒdƒdS(Ns