ó {G_Tc@s ddlZddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z m Z ddlm Z m Z mZmZmZmZddlZddlZddlmZddlmZmZmZedZy"ddlZddlZeZWnek r=e ZnXyddl!Z!Wnek rge"Z!nXyddl#Z#eZ$Wnek re dƒZ$nXd ej%fd „ƒYZ&d ej%fd „ƒYZ'd ej%fd„ƒYZ(d„Z)e*dkre)ƒndS(iÿÿÿÿN(t splitdrive(tfind_executabletspawn(t _make_tarballt _make_zipfilet make_archivetregister_archive_formattunregister_archive_formattget_archive_formats(t test_support(tTESTFNtcheck_warningstcaptured_stdoutt2tzipt TestShutilcBsveZd„Zd„Zdd„Zd„Zd„Zeje e dƒdƒej e j d d kd ƒej e e d ƒoŽe jƒd kd ƒd„ƒƒƒZd„Zd„Zd„Zd„Ze e dƒrîd„Zd„Zneje e dƒdƒd„ƒZeje e dƒdƒd„ƒZeje e dƒofe edƒofe edƒdƒd„ƒZejedƒd „ƒZd!„Zd"„Zejed#ƒejed$ƒoÏed%ƒd&ƒd'„ƒƒZejed#ƒeje d(ƒd)„ƒƒZ!d*„Z"ejed#ƒd+„ƒZ#ejed#ƒeje$d,ƒd-„ƒƒZ%d.„Z&d/„Z'RS(0cCs tt|ƒjƒg|_dS(N(tsuperRtsetUpttempdirs(tself((s,/usr/local/lib/python2.7/test/test_shutil.pyR,scCsOtt|ƒjƒx5|jrJ|jjƒ}tj|tjdkƒqWdS(Ntnttcygwin(sntscygwin( RRttearDownRtpoptshutiltrmtreetostname(Rtd((s,/usr/local/lib/python2.7/test/test_shutil.pyR0s txxxcCs\t|ttfƒr*tjj|Œ}nt|dƒ}z|j|ƒWd|jƒXdS(sWWrites a file in the given path. path can be a string or a sequence. twN( t isinstancetlistttupleRtpathtjointopentwritetclose(RR"tcontenttf((s,/usr/local/lib/python2.7/test/test_shutil.pyt write_file6s cCs tjƒ}|jj|ƒ|S(sjCreate a temporary directory that will be cleaned up. Returns the path of the directory. (ttempfiletmkdtempRtappend(RR((s,/usr/local/lib/python2.7/test/test_shutil.pyR+Ds cCs&tjƒ}|jttj|ƒdS(N(R*tmktempt assertRaisestOSErrorRR(Rtfilename((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_rmtree_errorsLs tchmodsrequires os.chmod()iRs2This test can't be run on Cygwin (issue #1071513).tgeteuidis9This test can't be run reliably as root (issue #1076467).cCsúd|_tjtƒtjjtdƒ|_t|jdƒ}|jƒtj tƒj }tj |jƒj }tj |jt j ƒtj tt j ƒt jtd|jƒ|j|jddƒtj t|ƒtj |j|ƒt jtƒdS(NitaRtonerroris1Expected call to onerror function did not happen.(t errorStateRtmkdirR R"R#t childpathR$R&tstattst_modeR2tS_IREADRRtcheck_args_to_onerrort assertEqual(RR(t old_dir_modetold_child_mode((s,/usr/local/lib/python2.7/test/test_shutil.pyt test_on_errorQs   cCsÊ|jdkr€|tjkr4|j||jƒn&|j|tjdƒ|j|tƒ|jt |dt ƒƒd|_nF|j|tj ƒ|j|tƒ|jt |dt ƒƒd|_dS(Nis+func must be either os.remove or os.listdirii( R6RtremoveR=R8tassertIstlistdirR t assertTruet issubclassR/trmdir(Rtfunctargtexc((s,/usr/local/lib/python2.7/test/test_shutil.pyR<ns  cCsLtjƒ\}}tj|ƒjƒ|jttj|ƒtj |ƒdS(N( R*tmkstempRtfdopenR&R.R/RRRA(RthandleR"((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_rmtree_dont_delete_fileˆsc CsFd„}d„}tjƒ}tjjtjƒdƒ}|tjj|dƒdƒtjtjj|dƒƒ|tjj|ddƒdƒzètj||ƒ|jtjj tjj|dƒƒƒ|jtjj tjj|dƒƒƒ|jtjj tjj|ddƒƒƒ|tjj|dƒƒ}|j |dƒ|tjj|ddƒƒ}|j |dƒWdx~tjj|dƒtjj|dƒtjj|ddƒtjj|ddƒfD](}tjj |ƒrÐtj |ƒqÐqÐWxB|tjj|ƒfD](}tjj |ƒrtj|ƒqqWXdS(NcSs*t|dƒ}|j|ƒ|jƒdS(NR(R$R%R&(R"tdataR(((s,/usr/local/lib/python2.7/test/test_shutil.pyt write_datas cSs&t|ƒ}|jƒ}|jƒ|S(N(R$treadR&(R"R(RN((s,/usr/local/lib/python2.7/test/test_shutil.pyt read_data•s   t destinationstest.txtt123ttest_dirt456(R*R+RR"R#R7RtcopytreeRDtisfiletisdirR=texistsRAtdirnameR(RRORQtsrc_dirtdst_dirtactualR"((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_copytree_simples8   (( c CsTd„}d„}tjj}tjj}tjƒ}zð|tjƒdƒ}|||dƒdƒ|||dƒdƒtj||dƒƒ|||ddƒdƒtj||d ƒƒ|||d dƒdƒtj||d d ƒƒtj||d d ƒƒ|||d d dƒdƒ|||d d d ƒdƒz‚tjd d ƒ}tj ||d|ƒ|j |||dƒƒƒ|j |||dƒƒ ƒ|j |||d ƒƒ ƒWdtjj|ƒrétj |ƒnXz‰tjd dƒ}tj ||d|ƒ|j |||dƒƒ ƒ|j |||d d ƒƒ ƒ|j |||d d ƒƒ ƒWdtjj|ƒr˜tj |ƒnXzfd„}tj ||d|ƒ|j |||d d d ƒƒ ƒ|j |||d d ƒƒ ƒWdtjj|ƒr$tj |ƒnXWdtj |ƒtj tjj |ƒƒXdS(NcSs*t|dƒ}|j|ƒ|jƒdS(NR(R$R%R&(R"RNR(((s,/usr/local/lib/python2.7/test/test_shutil.pyRO¾s cSs&t|ƒ}|jƒ}|jƒ|S(N(R$RPR&(R"R(RN((s,/usr/local/lib/python2.7/test/test_shutil.pyRQÃs   RRstest.txtRSstest.tmpRTRUt test_dir2tsubdirtsubdir2stest.pys*.tmptignoressubdir*cSs”g}x‡|D]}tjj||ƒ}tjj|ƒr`|jƒddkr`|j|ƒq tjj|ƒddkr |j|ƒq q W|S(NiÿÿÿÿR`s.py(RR"R#RXtsplitR,tsplitext(tsrctnamestresRR"((s,/usr/local/lib/python2.7/test/test_shutil.pyt_filterós ( RR"R#RYR*R+R7Rtignore_patternsRVRDRRZ( RRORQR#RYR[R\tpatternsRh((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_copytree_with_exclude¼sV     ! $ $ tsymlinkcCs\tjtƒtjjtdƒ}tjjtdƒ}zøt|dƒ}|jdƒ|jƒtj||ƒ|j t j t j ||ƒt|dƒ}|j |jƒdƒWdQXtj|ƒtjd|ƒ|j t j t j ||ƒt|dƒ}|j |jƒdƒWdQXtj|ƒWdyt jtƒWntk rVnXXdS(NtcheesetshopRtcheddartr(RR7R R"R#R$R%R&tlinkR.RtErrortcopyfileR=RPRARlRR/(RRetdstR(((s,/usr/local/lib/python2.7/test/test_shutil.pyt'test_dont_copy_file_onto_link_to_itselfs*     cCs‰tjtƒzatjjtdƒ}tjjtdƒ}tj|ƒtj||ƒ|jttj |ƒWdtj tdt ƒXdS(NRmRnt ignore_errors( RR7R R"R#RlR.R/RRtTrue(RReRt((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_rmtree_on_symlink,s  tmkfifosrequires os.mkfifo()cCs^tjtƒz<|jtjtjttƒ|jtjtjttƒWdtj tƒXdS(N( RRyR R.RtSpecialFileErrorRstTESTFN2t__file__RA(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_copyfile_named_pipe9s   cCstjtƒzÌtjjtdƒ}tj|ƒtjj|dƒ}tj|ƒytjttƒWn`tj k rÊ}|j d}|j t |ƒdƒ|d\}}}|j d||ƒnX|j dƒWdtjtdtƒtjtdtƒXdS(NR`tmypipeiis`%s` is a named pipes$shutil.Error should have been raisedRv(RR7R R"R#RyRRVR{RrtargsR=tlentfailRRw(RR`tpipeteterrorsReRtt error_msg((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_copytree_named_pipeDs     tchflagst EOPNOTSUPPtENOTSUPs)requires os.chflags, EOPNOTSUPP & ENOTSUPcCsë|jƒ}tjj|dƒ}tjj|dƒ}|j|dƒ|j|dƒd„}tj}zrx9tjtjfD]%}||ƒt_t j ||ƒq~W|tjtjƒt_|j t t j ||ƒWd|t_XdS(Ntfile1tfile2Rcstƒ‰‡‡fd†}|S(Ncsˆˆ_ˆ‚dS(N(terrno(R"tflags(terrtex(s,/usr/local/lib/python2.7/test/test_shutil.pyt_chflags_raisergs (R/(RŽR((RŽRs,/usr/local/lib/python2.7/test/test_shutil.pytmake_chflags_raiserds ( R+RR"R#R)R‡RŒRˆR‰RtcopystatR.R/(RttmpdirRŠR‹R‘t old_chflagsRŽ((s,/usr/local/lib/python2.7/test/test_shutil.pyt-test_copystat_handles_harmless_chflags_errorsYs   s requires zlibcCs´|jƒ}|j|dgdƒ|j|dgdƒtjtjj|dƒƒ|j|ddgdƒ|jƒ}tj|ƒtjt |ƒdt |ƒdkdƒtjj|dƒ}tj ƒ}tj |ƒzt t |ƒd d ƒWdtj |ƒX|d }|j tjj|ƒƒtjj|dƒ}tj ƒ}tj |ƒz!t t |ƒd d d dƒWdtj |ƒX|d }|j tjj|ƒƒdS(NRŠRR‹tsubtfile3is)source and target should be on same drivetarchiveit.s.tar.gztcompresss.tar(R+R)RR7R"R#RFtunittestt skipUnlessRtgetcwdtchdirRRDRYtNone(RR“ttmpdir2t base_nametold_dirttarball((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_make_tarballvs2   #     ! cCsEtj|ƒ}z$|jƒ}|jƒt|ƒSWd|jƒXdS(N(ttarfileR$tgetnamestsortR!R&(RR"ttarRf((s,/usr/local/lib/python2.7/test/test_shutil.pyt_tarinfožs   cCsÙ|jƒ}tjj|dƒ}tj|ƒ|j|dgdƒ|j|dgdƒtjtjj|dƒƒ|j|ddgdƒtjtjj|dƒƒ|jƒ}tjj|dƒ}|||fS( NtdistRŠRR‹R–R—tsub2R˜(R+RR"R#R7R)(RR“RªR R¡((s,/usr/local/lib/python2.7/test/test_shutil.pyt _create_files§s   s Requires zlibR¨tgzipsNeed the tar command to runc Cs4|jƒ\}}}tjƒ}tj|ƒzt|dƒWdtj|ƒX|d}|jtjj|ƒƒtjj|dƒ}ddddg}dddg}tjƒ}tj|ƒz*t ƒ} t |ƒt |ƒWdQXWdtj|ƒX|jtjj|ƒƒ|j |j |ƒ|j |ƒƒtjj|d ƒ}tjƒ}tj|ƒzt|dd dƒWdtj|ƒX|d }|jtjj|ƒƒtjj|d ƒ}tjƒ}tj|ƒzt|dd dd tƒWdtj|ƒX|d }|jtjj|ƒƒdS( NRªs.tar.gzsarchive2.tar.gzR¨s-cfs archive2.tarR­s-f9R˜Ršs.tartdry_run(R¬RRRžRRDR"RYR#R RR=R©RŸRw( RR“R R¡R¢R£ttarball2ttar_cmdtgzip_cmdts((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_tarfile_vs_tarµsH       "      sNeed zip support to runcCsš|jƒ}|j|dgdƒ|j|dgdƒ|jƒ}tj|ƒtjj|dƒ}t||ƒ|d}|jtjj|ƒƒdS(NRŠRR‹R˜s.zip( R+R)RRFR"R#RRDRY(RR“R R¡R£((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_make_zipfileìs     cCs;|jƒ}tjj|dƒ}|jtt|dƒdS(NR˜R(R+RR"R#R.t ValueErrorR(RR“R¡((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_make_archiveÿs c CsItr/tjdƒd}tjdƒd}n d}}|jƒ\}}}tjj|j ƒdƒ}t |d||d|d|ƒ}|j tjj |ƒƒt |d||ƒ}|j tjj |ƒƒt |d||d|d|ƒ}|j tjj |ƒƒt |d||dddd ƒ}|j tjj |ƒƒdS( NitrootR˜RtownertgroupR¨t kjhkjhkjgtoihohoh( tUID_GID_SUPPORTtgrptgetgrgidtpwdtgetpwuidR¬RR"R#R+RRDRY(RR¹R¸tbase_dirtroot_dirR¡Rg((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_make_archive_owner_groups"  sRequires grp and pwd supportc Cs|jƒ\}}}tjƒ}tj|ƒtjdƒd}tjdƒd}z%t|dddd|d|ƒ}Wdtj|ƒX|j tj j |ƒƒt j|ƒ}zAx:|jƒD],} |j| jdƒ|j| jdƒqÂWWd|jƒXdS(NiRªRšR¸R¹(R¬RRRžR½R¾R¿RÀRRŸRDR"RYR¥R$t getmembersR=tuidtgidR&( RR“R R¡R¢R¹R¸t archive_nameR˜tmember((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_tarfile_root_owners   cCs…tjƒ}d„}td|gdƒzKytddd|jƒƒWntk r[nX|jtjƒ|ƒWdtdƒXdS(Nc_s tƒ‚dS(N(t RuntimeError(Rtkw((s,/usr/local/lib/python2.7/test/test_shutil.pyt_breaks;sRsxxx fileRÂ(RRRRR+t ExceptionR=R(Rt current_dirRÌ((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_make_archive_cwd9s   c Csß|jttddƒ|jttdd„dƒ|jttdd„d d gƒtdd„d gdƒgtƒD]\}}|^qw}|jd|ƒtdƒgtƒD]\}}|^q³}|jd|ƒdS( NRicSstS(N(tx(((s,/usr/local/lib/python2.7/test/test_shutil.pytKscSstS(N(RÐ(((s,/usr/local/lib/python2.7/test/test_shutil.pyRÑMsiicSstS(N(RÐ(((s,/usr/local/lib/python2.7/test/test_shutil.pyRÑPssxxx file(ii(iii(ii(R.t TypeErrorRRtassertInRt assertNotIn(RRtparamstformats((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_register_archive_formatHs " "((t__name__t __module__RRR)R+R1R›RœthasattrRtskipIftsystplatformR3R@R<RMR^RkRuRxR}R†RŒR•tzlibR¤R©R¬RR³t ZIP_SUPPORTR´R¶RÃR¼RÉRÏR×(((s,/usr/local/lib/python2.7/test/test_shutil.pyR*sJ     $   - Q  $ $ ( 5  tTestMovecBsÂeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zejejjd ƒd„ƒZd„Zd„Zd„Zd„ZRS(cCsãd}tjƒ|_tjƒ|_tjj|j|ƒ|_tjj|j|ƒ|_y@tjdtjj t ƒƒ|_ tjj|j |ƒ|_ Wnt k r¶d|_ nXt|jdƒ}|jdƒWdQXdS(Ntfootdirtwbtspam(R*R+R[R\RR"R#tsrc_filetdst_fileRZR|t dir_other_fst file_other_fsR/RŸR$R%(RR0R(((s,/usr/local/lib/python2.7/test/test_shutil.pyR[s   cCsKxD|j|j|jfD]*}y|r8tj|ƒnWqqXqWdS(N(R[R\RçRR(RR((s,/usr/local/lib/python2.7/test/test_shutil.pyRms cCst|dƒ}|jƒ}WdQXtj||ƒt|dƒ}|j||jƒƒWdQX|jtjj|ƒƒdS(Ntrb( R$RPRtmoveR=t assertFalseRR"RY(RReRttreal_dstR(tcontents((s,/usr/local/lib/python2.7/test/test_shutil.pyt_check_move_fileus cCsattj|ƒƒ}tj||ƒ|j|ttj|ƒƒƒ|jtjj|ƒƒdS(N( tsortedRRCRRêR=RëR"RY(RReRtRìRí((s,/usr/local/lib/python2.7/test/test_shutil.pyt_check_move_dir}scCs |j|j|j|jƒdS(N(RîRåRæ(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_fileƒscCs |j|j|j|jƒdS(N(RîRåR\Ræ(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_file_to_dir‡scCs9|js|jdƒn|j|j|j|jƒdS(Ns%dir on other filesystem not available(RçtskipTestRîRåRè(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_file_other_fs‹s cCs9|js|jdƒn|j|j|j|jƒdS(Ns%dir on other filesystem not available(RçRóRîRåRè(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_file_to_dir_other_fs’s cCsItjƒ}z|j|j||ƒWdytj|ƒWnnXXdS(N(R*R-RðR[RR(RR\((s,/usr/local/lib/python2.7/test/test_shutil.pyt test_move_dir™s cCsk|js|jdƒntjd|jƒ}z|j|j||ƒWdytj|ƒWnnXXdS(Ns%dir on other filesystem not availableRâ(RçRóR*R-RðR[RR(RR\((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_dir_other_fs¤s cCs>|j|j|jtjj|jtjj|jƒƒƒdS(N(RðR[R\RR"R#tbasename(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_dir_to_dir±scCsW|js|jdƒn|j|j|jtjj|jtjj|jƒƒƒdS(Ns%dir on other filesystem not available(RçRóRðR[RR"R#Rø(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_dir_to_dir_other_fs¶s cCsH|j|jtjj|jtjj|jtjj|jƒƒƒdS(N(RðR[RR"tsepR\R#Rø(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_dir_sep_to_dir½ssrequires os.path.altsepcCsH|j|jtjj|jtjj|jtjj|jƒƒƒdS(N(RðR[RR"taltsepR\R#Rø(R((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_dir_altsep_to_dirÁscCs?t|jdƒWdQX|jtjtj|j|jƒdS(NRã(R$RæR.RRrRêRåR\(R((s,/usr/local/lib/python2.7/test/test_shutil.pyt"test_existing_file_inside_dest_dirÆscCs;tjj|jdƒ}|jtjtj|j|ƒdS(Ntbar(RR"R#R[R.RRrRê(RRt((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_dont_move_dir_in_itselfÌscCs™tjtƒzqxjdgD]_\}}tjjt|ƒ}tjjt|ƒ}|jtj||ƒdd||fƒqWWdtjtdt ƒXdS(Ntsrcdirs srcdir/desttmsgs?_destinsrc() wrongly concluded that dst (%s) is not in src (%s)Rv(ssrcdirs srcdir/dest( RR7R R"R#RDRt _destinsrcRRw(RReRt((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_destinsrc_false_negativeÑs cCsœtjtƒztxmddgD]_\}}tjjt|ƒ}tjjt|ƒ}|jtj||ƒdd||fƒqWWdtjtdt ƒXdS( NRssrc/dests srcdir.newRs;_destinsrc() wrongly concluded that dst (%s) is in src (%s)Rv(ssrcdirssrc/dest(ssrcdirs srcdir.new( RR7R R"R#RëRRRRw(RReRt((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_destinsrc_false_positiveÝs (RØRÙRRRîRðRñRòRôRõRöR÷RùRúRüR›RœRR"RýRþRÿRRR(((s,/usr/local/lib/python2.7/test/test_shutil.pyRàYs$           !   t TestCopyFilecBsceZeZdefd„ƒYZd„Zd„Zd„Zd„Z d„Z d„Z d„Z RS( tFauxcBsDeZeZdZeZeed„Zd„Z d„Z d„Z RS(cCs||_||_dS(N(t_raise_in_exitt_suppress_at_exit(Rt raise_in_exittsuppress_at_exit((s,/usr/local/lib/python2.7/test/test_shutil.pyt__init__òs cGsdS(Nt((RR((s,/usr/local/lib/python2.7/test/test_shutil.pyRPõscCs t|_dS(N(Rwt_entered(R((s,/usr/local/lib/python2.7/test/test_shutil.pyt __enter__÷scCs:|||f|_|jr3t|_tdƒ‚n|jS(Ns Cannot close(t _exited_withR Rwt_raisedtIOErrorR (Rtexc_typetexc_valtexc_tb((s,/usr/local/lib/python2.7/test/test_shutil.pyt__exit__ùs   N( RØRÙtFalseRRŸRRRwR RPRR(((s,/usr/local/lib/python2.7/test/test_shutil.pyRîs  cCs|jrt`ndS(N(t_deleteRR$(R((s,/usr/local/lib/python2.7/test/test_shutil.pyRs cCs|t_t|_dS(N(RR$RwR(RRG((s,/usr/local/lib/python2.7/test/test_shutil.pyt_set_shutil_opens cCs6dd„}|j|ƒ|jttjddƒdS(NRpcSs|dkrtdƒ‚ndS(NtsrcfilesCannot open "srcfile"(R(R0tmode((s,/usr/local/lib/python2.7/test/test_shutil.pyt_open s Rtdestfile(RR.RRRs(RR((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_w_source_open_failss  csƒ|jƒ‰d‡fd†}|j|ƒtjddƒ|jˆjƒ|jˆjdtkƒ|jˆjdj dƒdS( NRpcs/|dkrˆS|dkr+tdƒ‚ndS(NRRsCannot open "destfile"(R(R0R(R(s,/usr/local/lib/python2.7/test/test_shutil.pyRs   RRiisCannot open "destfile"(sCannot open "destfile"( RRRRsRDRRRR=R(RR((Rs,/usr/local/lib/python2.7/test/test_shutil.pyttest_w_dest_open_failss  csµ|jƒ‰|jtƒ‰d‡‡fd†}|j|ƒtjddƒ|jˆjƒ|jˆjƒ|jˆjƒ|jˆjdt kƒ|j ˆjdj dƒdS( NRpcs$|dkrˆS|dkr ˆSdS(NRR((R0R(RR(s,/usr/local/lib/python2.7/test/test_shutil.pyR*s   RRiis Cannot close(s Cannot close( RRwRRRsRDRRRRR=R(RR((RRs,/usr/local/lib/python2.7/test/test_shutil.pyttest_w_dest_close_fails%s  cs´|jtƒ‰|jƒ‰d‡‡fd†}|j|ƒ|jttjddƒ|jˆjƒ|jˆjƒ|j ˆj ƒ|jˆj ddkƒ|jˆj ƒdS(NRpcs$|dkrˆS|dkr ˆSdS(NRR((R0R(RR(s,/usr/local/lib/python2.7/test/test_shutil.pyR@s   RRi( RRwRR.RRRsRDRRëRRRŸ(RR((RRs,/usr/local/lib/python2.7/test/test_shutil.pyttest_w_source_close_fails;s   cCsµtjƒ|_tjjtjj|jƒtjj|jƒjƒƒ}|j |j|ƒz0t j |j|ƒ|j tjj |ƒƒWdtjj|ƒr°tj|ƒnXdS(N(R*R+R[RR"R#RZRøtuppertassertNotEqualRRêRDRXRYRF(RR\((s,/usr/local/lib/python2.7/test/test_shutil.pyttest_move_dir_caseinsensitiveQs ( RØRÙRRtobjectRRRRR R!R"R%(((s,/usr/local/lib/python2.7/test/test_shutil.pyRês     cCstjtttƒdS(N(R t run_unittestRRàR(((s,/usr/local/lib/python2.7/test/test_shutil.pyt test_maindst__main__(+R›RR*RÜR9Rtos.pathRŒRtdistutils.spawnRRRRRRRRR¥twarningsttestR ttest.test_supportR R R R{R½R¿RwR¼t ImportErrorRRÞRŸtzipfileRßtTestCaseRRàRR(RØ(((s,/usr/local/lib/python2.7/test/test_shutil.pytsL        .             ÿÿ1‘z