blob: 6312a29485473cd57650ebefbcbba71a1b25edc7 [file] [log] [blame]
Tarek Ziadé889b0aa2009-04-05 21:49:36 +00001"""Tests for distutils.filelist."""
2import unittest
Tarek Ziadé03d5d082009-09-21 13:01:54 +00003
Tarek Ziadé61732852009-08-18 08:23:10 +00004from distutils.filelist import glob_to_re, FileList
Éric Araujo70ec44a2010-11-06 02:44:43 +00005from test.support import captured_stdout, run_unittest
Tarek Ziadé03d5d082009-09-21 13:01:54 +00006from distutils import debug
Tarek Ziadé61732852009-08-18 08:23:10 +00007
Tarek Ziadé889b0aa2009-04-05 21:49:36 +00008class FileListTestCase(unittest.TestCase):
9
10 def test_glob_to_re(self):
11 # simple cases
Tarek Ziadé74c23ac2009-08-17 21:35:46 +000012 self.assertEquals(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)')
13 self.assertEquals(glob_to_re('foo?'), 'foo[^/]\\Z(?ms)')
14 self.assertEquals(glob_to_re('foo??'), 'foo[^/][^/]\\Z(?ms)')
Tarek Ziadé889b0aa2009-04-05 21:49:36 +000015
16 # special cases
Tarek Ziadé74c23ac2009-08-17 21:35:46 +000017 self.assertEquals(glob_to_re(r'foo\\*'), r'foo\\\\[^/]*\Z(?ms)')
18 self.assertEquals(glob_to_re(r'foo\\\*'), r'foo\\\\\\[^/]*\Z(?ms)')
19 self.assertEquals(glob_to_re('foo????'), r'foo[^/][^/][^/][^/]\Z(?ms)')
20 self.assertEquals(glob_to_re(r'foo\\??'), r'foo\\\\[^/][^/]\Z(?ms)')
Tarek Ziadé889b0aa2009-04-05 21:49:36 +000021
Tarek Ziadé03d5d082009-09-21 13:01:54 +000022 def test_debug_print(self):
23 file_list = FileList()
24 with captured_stdout() as stdout:
25 file_list.debug_print('xxx')
26 stdout.seek(0)
27 self.assertEquals(stdout.read(), '')
28
29 debug.DEBUG = True
30 try:
31 with captured_stdout() as stdout:
32 file_list.debug_print('xxx')
33 stdout.seek(0)
34 self.assertEquals(stdout.read(), 'xxx\n')
35 finally:
36 debug.DEBUG = False
37
Tarek Ziadé889b0aa2009-04-05 21:49:36 +000038def test_suite():
39 return unittest.makeSuite(FileListTestCase)
40
41if __name__ == "__main__":
Éric Araujo70ec44a2010-11-06 02:44:43 +000042 run_unittest(test_suite())