diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-02-06 00:38:35 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2009-02-06 00:38:35 (GMT) |
commit | 70a74eb2c46e18f77cf75106a7ee07767fa90aaf (patch) | |
tree | a261b41725ae1d755c53d1e27c0e88b42bb93be6 /Lib/distutils/tests | |
parent | 4d491a535ccab3caef1dba0d079c398b551c045c (diff) | |
download | cpython-70a74eb2c46e18f77cf75106a7ee07767fa90aaf.zip cpython-70a74eb2c46e18f77cf75106a7ee07767fa90aaf.tar.gz cpython-70a74eb2c46e18f77cf75106a7ee07767fa90aaf.tar.bz2 |
Merged revisions 69324 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r69324 | tarek.ziade | 2009-02-06 01:31:59 +0100 (Fri, 06 Feb 2009) | 1 line
Fixed #1276768: verbose option was not used in the code.
........
Diffstat (limited to 'Lib/distutils/tests')
-rw-r--r-- | Lib/distutils/tests/test_dir_util.py | 91 | ||||
-rw-r--r-- | Lib/distutils/tests/test_file_util.py | 66 |
2 files changed, 157 insertions, 0 deletions
diff --git a/Lib/distutils/tests/test_dir_util.py b/Lib/distutils/tests/test_dir_util.py new file mode 100644 index 0000000..edf93c4 --- /dev/null +++ b/Lib/distutils/tests/test_dir_util.py @@ -0,0 +1,91 @@ +"""Tests for distutils.dir_util.""" +import unittest +import os +import shutil + +from distutils.dir_util import mkpath +from distutils.dir_util import remove_tree +from distutils.dir_util import create_tree +from distutils.dir_util import copy_tree + +from distutils import log + +class DirUtilTestCase(unittest.TestCase): + + def _log(self, msg, *args): + if len(args) > 0: + self._logs.append(msg % args) + else: + self._logs.append(msg) + + def setUp(self): + self._logs = [] + self.root_target = os.path.join(os.path.dirname(__file__), 'deep') + self.target = os.path.join(self.root_target, 'here') + self.target2 = os.path.join(os.path.dirname(__file__), 'deep2') + self.old_log = log.info + log.info = self._log + + def tearDown(self): + for target in (self.target, self.target2): + if os.path.exists(target): + shutil.rmtree(target) + log.info = self.old_log + + def test_mkpath_remove_tree_verbosity(self): + + mkpath(self.target, verbose=0) + wanted = [] + self.assertEquals(self._logs, wanted) + remove_tree(self.root_target, verbose=0) + + mkpath(self.target, verbose=1) + wanted = ['creating %s' % self.root_target, + 'creating %s' % self.target] + self.assertEquals(self._logs, wanted) + self._logs = [] + + remove_tree(self.root_target, verbose=1) + wanted = ["removing '%s' (and everything under it)" % self.root_target] + self.assertEquals(self._logs, wanted) + + def test_create_tree_verbosity(self): + + create_tree(self.root_target, ['one', 'two', 'three'], verbose=0) + self.assertEquals(self._logs, []) + remove_tree(self.root_target, verbose=0) + + wanted = ['creating %s' % self.root_target] + create_tree(self.root_target, ['one', 'two', 'three'], verbose=1) + self.assertEquals(self._logs, wanted) + + remove_tree(self.root_target, verbose=0) + + + def test_copy_tree_verbosity(self): + + mkpath(self.target, verbose=0) + + copy_tree(self.target, self.target2, verbose=0) + self.assertEquals(self._logs, []) + + remove_tree(self.root_target, verbose=0) + + mkpath(self.target, verbose=0) + a_file = os.path.join(self.target, 'ok.txt') + f = open(a_file, 'w') + f.write('some content') + f.close() + + wanted = ['copying %s -> %s' % (a_file, self.target2)] + copy_tree(self.target, self.target2, verbose=1) + self.assertEquals(self._logs, wanted) + + remove_tree(self.root_target, verbose=0) + remove_tree(self.target2, verbose=0) + +def test_suite(): + return unittest.makeSuite(DirUtilTestCase) + +if __name__ == "__main__": + unittest.main(defaultTest="test_suite") diff --git a/Lib/distutils/tests/test_file_util.py b/Lib/distutils/tests/test_file_util.py new file mode 100644 index 0000000..523f1ae --- /dev/null +++ b/Lib/distutils/tests/test_file_util.py @@ -0,0 +1,66 @@ +"""Tests for distutils.file_util.""" +import unittest +import os +import shutil + +from distutils.file_util import move_file +from distutils import log + +class FileUtilTestCase(unittest.TestCase): + + def _log(self, msg, *args): + if len(args) > 0: + self._logs.append(msg % args) + else: + self._logs.append(msg) + + def setUp(self): + self._logs = [] + self.old_log = log.info + log.info = self._log + self.source = os.path.join(os.path.dirname(__file__), 'f1') + self.target = os.path.join(os.path.dirname(__file__), 'f2') + self.target_dir = os.path.join(os.path.dirname(__file__), 'd1') + + def tearDown(self): + log.info = self.old_log + for f in (self.source, self.target, self.target_dir): + if os.path.exists(f): + if os.path.isfile(f): + os.remove(f) + else: + shutil.rmtree(f) + + def test_move_file_verbosity(self): + + f = open(self.source, 'w') + f.write('some content') + f.close() + + move_file(self.source, self.target, verbose=0) + wanted = [] + self.assertEquals(self._logs, wanted) + + # back to original state + move_file(self.target, self.source, verbose=0) + + move_file(self.source, self.target, verbose=1) + wanted = ['moving %s -> %s' % (self.source, self.target)] + self.assertEquals(self._logs, wanted) + + # back to original state + move_file(self.target, self.source, verbose=0) + + self._logs = [] + # now the target is a dir + os.mkdir(self.target_dir) + move_file(self.source, self.target_dir, verbose=1) + wanted = ['moving %s -> %s' % (self.source, self.target_dir)] + self.assertEquals(self._logs, wanted) + + +def test_suite(): + return unittest.makeSuite(FileUtilTestCase) + +if __name__ == "__main__": + unittest.main(defaultTest="test_suite") |