NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

test_filelist.py (2638B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\tests\test_filelist.py
      2 from os.path import join
      3 import unittest
      4 from test.test_support import captured_stdout
      5 from distutils.filelist import glob_to_re, FileList
      6 from distutils import debug
      7 MANIFEST_IN = 'include ok\ninclude xo\nexclude xo\ninclude foo.tmp\nglobal-include *.x\nglobal-include *.txt\nglobal-exclude *.tmp\nrecursive-include f *.oo\nrecursive-exclude global *.x\ngraft dir\nprune dir3\n'
      8 
      9 class FileListTestCase(unittest.TestCase):
     10 
     11     def test_glob_to_re(self):
     12         self.assertEqual(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)')
     13         self.assertEqual(glob_to_re('foo?'), 'foo[^/]\\Z(?ms)')
     14         self.assertEqual(glob_to_re('foo??'), 'foo[^/][^/]\\Z(?ms)')
     15         self.assertEqual(glob_to_re('foo\\\\*'), 'foo\\\\\\\\[^/]*\\Z(?ms)')
     16         self.assertEqual(glob_to_re('foo\\\\\\*'), 'foo\\\\\\\\\\\\[^/]*\\Z(?ms)')
     17         self.assertEqual(glob_to_re('foo????'), 'foo[^/][^/][^/][^/]\\Z(?ms)')
     18         self.assertEqual(glob_to_re('foo\\\\??'), 'foo\\\\\\\\[^/][^/]\\Z(?ms)')
     19 
     20     def test_process_template_line(self):
     21         file_list = FileList()
     22         file_list.allfiles = ['foo.tmp',
     23          'ok',
     24          'xo',
     25          'four.txt',
     26          join('global', 'one.txt'),
     27          join('global', 'two.txt'),
     28          join('global', 'files.x'),
     29          join('global', 'here.tmp'),
     30          join('f', 'o', 'f.oo'),
     31          join('dir', 'graft-one'),
     32          join('dir', 'dir2', 'graft2'),
     33          join('dir3', 'ok'),
     34          join('dir3', 'sub', 'ok.txt')]
     35         for line in MANIFEST_IN.split('\n'):
     36             if line.strip() == '':
     37                 continue
     38             file_list.process_template_line(line)
     39 
     40         wanted = ['ok',
     41          'four.txt',
     42          join('global', 'one.txt'),
     43          join('global', 'two.txt'),
     44          join('f', 'o', 'f.oo'),
     45          join('dir', 'graft-one'),
     46          join('dir', 'dir2', 'graft2')]
     47         self.assertEqual(file_list.files, wanted)
     48 
     49     def test_debug_print(self):
     50         file_list = FileList()
     51         with captured_stdout() as stdout:
     52             file_list.debug_print('xxx')
     53         stdout.seek(0)
     54         self.assertEqual(stdout.read(), '')
     55         debug.DEBUG = True
     56         try:
     57             with captured_stdout() as stdout:
     58                 file_list.debug_print('xxx')
     59             stdout.seek(0)
     60             self.assertEqual(stdout.read(), 'xxx\n')
     61         finally:
     62             debug.DEBUG = False
     63 
     64 
     65 def test_suite():
     66     return unittest.makeSuite(FileListTestCase)
     67 
     68 
     69 if __name__ == '__main__':
     70     unittest.main(defaultTest='test_suite')