ó q®¸Qc@sódZddlZddlZddlZddlmZddlmZddlm Z ddl m Z m Z m Z ddlmZmZddlmZd Zd „Zd ejejfd „ƒYZd „ZedkrïeeƒƒndS(sTests for distutils.filelist.iÿÿÿÿN(tdebug(tWARN(tDistutilsTemplateError(t glob_to_rettranslate_patterntFileList(tcaptured_stdoutt run_unittest(tsupportsÎinclude ok include xo exclude xo include foo.tmp include buildout.cfg global-include *.x global-include *.txt global-exclude *.tmp recursive-include f *.oo recursive-exclude global *.x graft dir prune dir3 cCs|jdtjƒS(s"Converts '/' in a string to os.sept/(treplacetostsep(ts((s3/sys/lib/python2.7/distutils/tests/test_filelist.pytmake_local_pathstFileListTestCasecBskeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z RS( cCs'|j|jtƒgƒ|jƒdS(N(t assertEqualtget_logsRt clear_logs(tself((s3/sys/lib/python2.7/distutils/tests/test_filelist.pytassertNoWarnings%scCs-|jt|jtƒƒdƒ|jƒdS(Ni(t assertGreatertlenRRR(R((s3/sys/lib/python2.7/distutils/tests/test_filelist.pytassertWarnings)scCs„tj}tjdkr-tjtjƒ}nxPdddddddfD]3\}}|i|d6}|jt|ƒ|ƒqIWdS(Ns\sfoo*sfoo[^%(sep)s]*\Z(?ms)sfoo?sfoo[^%(sep)s]\Z(?ms)sfoo??sfoo[^%(sep)s][^%(sep)s]\Z(?ms)sfoo\\*sfoo\\\\[^%(sep)s]*\Z(?ms)sfoo\\\*sfoo\\\\\\[^%(sep)s]*\Z(?ms)sfoo????s2foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\Z(?ms)sfoo\\??s"foo\\\\[^%(sep)s][^%(sep)s]\Z(?ms)R (sfoo*sfoo[^%(sep)s]*\Z(?ms)(sfoo?sfoo[^%(sep)s]\Z(?ms)(sfoo??sfoo[^%(sep)s][^%(sep)s]\Z(?ms)(sfoo\\*sfoo\\\\[^%(sep)s]*\Z(?ms)(sfoo\\\*sfoo\\\\\\[^%(sep)s]*\Z(?ms)(sfoo????s2foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\Z(?ms)(sfoo\\??s"foo\\\\[^%(sep)s][^%(sep)s]\Z(?ms)(R R tretescapeRR(RR tglobtregex((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_glob_to_re-s cCstƒ}t}ddddd|dƒ|dƒ|dƒ|d ƒ|d ƒ|d ƒ|d ƒ|d ƒ|dƒ|dƒg|_x<tjdƒD]+}|jƒdkr¯q‘n|j|ƒq‘Wddd|dƒ|dƒ|dƒ|d ƒ|d ƒ|d ƒg }|j|j|ƒdS(Nsfoo.tmptoktxosfour.txts buildout.cfgs.hg/last-message.txtsglobal/one.txtsglobal/two.txtsglobal/files.xsglobal/here.tmpsf/o/f.oos dir/graft-onesdir/dir2/graft2sdir3/oksdir3/sub/ok.txts t( RRtallfilest MANIFEST_INtsplittstriptprocess_template_lineRtfiles(Rt file_listtltlinetwanted((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_process_template_line?s8                cCs‘tƒ}tƒ}|jdƒWdQX|j|jƒdƒtt_z9tƒ}|jdƒWdQX|j|jƒdƒWdtt_XdS(NtxxxRsxxx ( RRt debug_printRtgetvaluetTrueRtDEBUGtFalse(RR&tstdout((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_debug_printgs    cCs<tƒ}dddg}|j|ƒ|j|j|ƒdS(Ntatbtc(Rt set_allfilesRR (RR&R%((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_set_allfilesus  cCs[tƒ}ddddddg|_|jƒ|jƒ|j|jddddgƒdS(NR3R4tgR5(RR%tsorttremove_duplicatesR(RR&((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_remove_duplicates{s    cCs­|jttddtdtƒdƒƒtjdƒ}|jt|dtdtƒ|ƒ|jttddtdtƒdƒƒ|jtddtdtƒjdƒƒdS(NR3tanchortis_regextsearchs*.pys filelist.py( t assertTruethasattrRR.R0RtcompileRR>(RR((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_translate_patternƒs     cCsŒtƒ}|j|jdƒƒtƒ}ddg|_|j|jdƒƒtƒ}ddg|_|jdƒ|j|jdgƒdS(Ns*.pysa.pysb.pysa.txt(Rt assertFalsetexclude_patternR%R?R(RR&((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_exclude_pattern˜s    cCs´tƒ}|jgƒ|j|jdƒƒtƒ}|jddgƒ|j|jdƒƒtƒ}|j|jƒ|jddgƒ|jdƒ|j|jddgƒdS(Ns*.pysa.pysb.txtt*(RR6RCtinclude_patternR?t assertIsNoneR R(RR&((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_include_pattern¨s     c Csât}tƒ}x$d!D]}|jt|j|ƒqWtƒ}|jd d |d ƒgƒ|jd ƒ|j|jd gƒ|jƒ|jdƒ|j|jd gƒ|j ƒtƒ}d d |d ƒg|_|jdƒ|j|jd |d ƒgƒ|jƒ|jdƒ|j|jd |d ƒgƒ|j ƒtƒ}|jd d |d ƒgƒ|jdƒ|j|jd |d ƒgƒ|jƒ|jdƒ|j|jd |d ƒgƒ|j ƒtƒ}d d |d ƒg|_|jdƒ|j|jd gƒ|jƒ|jdƒ|j|jd gƒ|j ƒtƒ}|jd |dƒ|dƒ|dƒgƒ|jdƒ|j|j|dƒ|dƒgƒ|jƒ|jdƒ|j|j|dƒ|dƒgƒ|j ƒtƒ}d |dƒ|dƒ|dƒg|_|jdƒ|j|jd |dƒgƒ|jƒ|jdƒ|j|jd |dƒgƒ|j ƒtƒ}|jd |dƒ|dƒ|dƒgƒ|jdƒ|j|j|dƒ|dƒgƒ|jƒ|jdƒ|j|j|dƒ|dƒgƒ|j ƒtƒ}d |dƒ|dƒ|dƒg|_|jdƒ|j|jd |dƒgƒ|jƒ|jd ƒ|j|jd |dƒgƒ|j ƒdS("Ntincludetexcludesglobal-includesglobal-excludesrecursive-includesrecursive-excludetgrafttprunetblargsa.pysb.txtsd/c.pys include *.pys include *.rbs exclude *.pys exclude *.rbsglobal-include *.pysglobal-include *.rbsglobal-exclude *.pysglobal-exclude *.rbsd/b.pysd/c.txtsd/d/e.pysrecursive-include d *.pysrecursive-include e *.pysrecursive-exclude d *.pysrecursive-exclude e *.pysf/f.pysgraft dsgraft esprune dsprune e( sincludeRKsglobal-includesglobal-excludesrecursive-includesrecursive-excludeRLRMRN( RRt assertRaisesRR$R6RR%RR(RR'R&taction((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyttest_process_templateºs’                         %  %  '      %  %  '   ( t__name__t __module__RRRR*R2R7R;RBRERIRQ(((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyR"s    (      cCs tjtƒS(N(tunittestt makeSuiteR(((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyt test_suite'st__main__(t__doc__R RRTt distutilsRt distutils.logRtdistutils.errorsRtdistutils.filelistRRRttest.test_supportRRtdistutils.testsRR!RtLoggingSilencertTestCaseRRVRR(((s3/sys/lib/python2.7/distutils/tests/test_filelist.pyts"     ÿ