a 5êdgXã@s˜ddlZddlZddlZddlZddlZddlmZmZmZm Z ej dkrTe  d¡‚edZ dej ejfZGdd„dejƒZd d „Zed kr”eƒdS) éN)ÚTESTFNÚ run_unittestÚunlinkÚ reap_childrenÚposixz pipes module only works on posixÚ2ztr %s %sc@s„eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS) ÚSimplePipeTestscCsttfD] }t|ƒqdS©N)rÚTESTFN2r)ÚselfÚf©r ú+/usr/local/lib/python3.9/test/test_pipes.pyÚtearDowns zSimplePipeTests.tearDowncCs t d¡dur| d¡t ¡}| ttj¡| t d¡}|  d¡Wdƒn1sZ0Ytt ƒ }|  |  ¡d¡Wdƒn1s’0YdS)NÚtrútr is not availableÚwzhello world #1zHELLO WORLD #1) ÚshutilÚwhichÚskipTestÚpipesÚTemplateÚappendÚ s_commandÚ STDIN_STDOUTÚopenrÚwriteÚ assertEqualÚread)r Útr r r rÚtestSimplePipe1s ( zSimplePipeTests.testSimplePipe1cCs®t d¡dur| d¡ttdƒ}| d¡Wdƒn1sB0Yt ¡}| t dtj ¡|  tt ¡tt ƒ }|  | ¡d¡Wdƒn1s 0YdS)Nrrrúhello world #2z < $IN > $OUTúHELLO WORLD #2)rrrrrrrrrrÚFILEIN_FILEOUTÚcopyr rr©r r rr r rÚtestSimplePipe2s  (  zSimplePipeTests.testSimplePipe2cCsžt d¡dur| d¡ttdƒ}| d¡Wdƒn1sB0Yt ¡}| t dtj ¡| td¡}z|  |  ¡d¡W|  ¡n |  ¡0dS)Nrrrr!z < $INÚrr")rrrrrrrrrrÚ FILEIN_STDOUTrrÚcloser%r r rÚtestSimplePipe3*s  ( zSimplePipeTests.testSimplePipe3cCs¼d}ttdƒ}| |¡Wdƒn1s.0Yttdƒ}| d¡Wdƒn1sb0Yt ¡}| tt¡ttƒ }| | ¡|¡Wdƒn1s®0YdS)Nzempty pipeline test COPYrÚ) rrrr rrr$rr©r Údr rr r rÚtestEmptyPipeline17s ( (  z"SimplePipeTests.testEmptyPipeline1cCsxd}ttdƒ}| |¡Wdƒn1s.0Yt ¡}| td¡}z| | ¡|¡W| ¡n | ¡0dS)Nzempty pipeline test READrr')rrrrrrrr)r,r r rÚtestEmptyPipeline2Cs ( z"SimplePipeTests.testEmptyPipeline2cCs~d}t ¡}| td¡}| |¡Wdƒn1s80Yttƒ }| | ¡|¡Wdƒn1sp0YdS)Nzempty pipeline test WRITEr)rrrrrrr)r r-rr r r rÚtestEmptyPipeline3Os ( z"SimplePipeTests.testEmptyPipeline3cCs:t ¡}| t|ƒd¡| dtj¡| t|ƒd¡dS)Nz