PATH:
usr
/
lib64
/
python2.7
/
distutils
/
tests
"""Tests for distutils.dir_util.""" import unittest import os import stat import shutil import sys from distutils.dir_util import (mkpath, remove_tree, create_tree, copy_tree, ensure_relative) from distutils import log from distutils.tests import support from test.test_support import run_unittest class DirUtilTestCase(support.TempdirManager, unittest.TestCase): def _log(self, msg, *args): if len(args) > 0: self._logs.append(msg % args) else: self._logs.append(msg) def setUp(self): super(DirUtilTestCase, self).setUp() self._logs = [] tmp_dir = self.mkdtemp() self.root_target = os.path.join(tmp_dir, 'deep') self.target = os.path.join(self.root_target, 'here') self.target2 = os.path.join(tmp_dir, 'deep2') self.old_log = log.info log.info = self._log def tearDown(self): log.info = self.old_log super(DirUtilTestCase, self).tearDown() def test_mkpath_remove_tree_verbosity(self): mkpath(self.target, verbose=0) wanted = [] self.assertEqual(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.assertEqual(self._logs, wanted) self._logs = [] remove_tree(self.root_target, verbose=1) wanted = ["removing '%s' (and everything under it)" % self.root_target] self.assertEqual(self._logs, wanted) @unittest.skipIf(sys.platform.startswith('win'), "This test is only appropriate for POSIX-like systems.") def test_mkpath_with_custom_mode(self): # Get and set the current umask value for testing mode bits. umask = os.umask(0o002) os.umask(umask) mkpath(self.target, 0o700) self.assertEqual( stat.S_IMODE(os.stat(self.target).st_mode), 0o700 & ~umask) mkpath(self.target2, 0o555) self.assertEqual( stat.S_IMODE(os.stat(self.target2).st_mode), 0o555 & ~umask) def test_create_tree_verbosity(self): create_tree(self.root_target, ['one', 'two', 'three'], verbose=0) self.assertEqual(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.assertEqual(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.assertEqual(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') try: f.write('some content') finally: f.close() wanted = ['copying %s -> %s' % (a_file, self.target2)] copy_tree(self.target, self.target2, verbose=1) self.assertEqual(self._logs, wanted) remove_tree(self.root_target, verbose=0) remove_tree(self.target2, verbose=0) def test_copy_tree_skips_nfs_temp_files(self): mkpath(self.target, verbose=0) a_file = os.path.join(self.target, 'ok.txt') nfs_file = os.path.join(self.target, '.nfs123abc') for f in a_file, nfs_file: fh = open(f, 'w') try: fh.write('some content') finally: fh.close() copy_tree(self.target, self.target2) self.assertEqual(os.listdir(self.target2), ['ok.txt']) remove_tree(self.root_target, verbose=0) remove_tree(self.target2, verbose=0) def test_ensure_relative(self): if os.sep == '/': self.assertEqual(ensure_relative('/home/foo'), 'home/foo') self.assertEqual(ensure_relative('some/path'), 'some/path') else: # \\ self.assertEqual(ensure_relative('c:\\home\\foo'), 'c:home\\foo') self.assertEqual(ensure_relative('home\\foo'), 'home\\foo') def test_suite(): return unittest.makeSuite(DirUtilTestCase) if __name__ == "__main__": run_unittest(test_suite())
[+]
..
[-] test_install.py
[open]
[-] test_install_lib.py
[open]
[-] test_build_ext.pyc
[open]
[-] test_config_cmd.pyc
[open]
[-] test_versionpredicate.py
[open]
[-] test_archive_util.pyo
[open]
[-] test_dir_util.py
[open]
[-] test_build_ext.pyo
[open]
[-] test_spawn.pyc
[open]
[-] test_bdist_msi.py
[open]
[-] test_dir_util.pyc
[open]
[-] test_build_py.pyc
[open]
[-] test_util.pyc
[open]
[-] test_core.pyo
[open]
[-] test_upload.pyc
[open]
[-] test_sdist.py
[open]
[-] test_install_headers.py
[open]
[-] test_install_data.pyc
[open]
[-] test_version.pyo
[open]
[-] test_bdist_wininst.pyc
[open]
[-] test_sdist.pyo
[open]
[-] test_bdist_rpm.py
[open]
[-] test_ccompiler.pyo
[open]
[-] test_msvc9compiler.py
[open]
[-] test_install_headers.pyc
[open]
[-] test_install_lib.pyc
[open]
[-] test_bdist_rpm.pyo
[open]
[-] test_install_scripts.pyo
[open]
[-] setuptools_build_ext.pyc
[open]
[-] test_msvc9compiler.pyo
[open]
[-] test_build_py.py
[open]
[-] test_install.py.debug-build
[open]
[-] test_build_clib.pyo
[open]
[-] test_dep_util.pyc
[open]
[-] test_text_file.py
[open]
[-] test_install.pyc
[open]
[-] test_install_scripts.py
[open]
[-] setuptools_extension.py
[open]
[-] includetest.rst
[open]
[-] test_build_scripts.pyo
[open]
[-] test_bdist.pyc
[open]
[-] support.py
[open]
[-] test_build_clib.pyc
[open]
[-] test_file_util.pyo
[open]
[-] test_core.pyc
[open]
[-] test_register.pyo
[open]
[-] test_spawn.py
[open]
[-] __init__.pyc
[open]
[-] test_archive_util.pyc
[open]
[-] test_dist.pyo
[open]
[-] test_versionpredicate.pyc
[open]
[-] test_dist.py
[open]
[-] test_filelist.pyo
[open]
[-] test_install_data.pyo
[open]
[-] test_build_scripts.py
[open]
[-] test_dep_util.pyo
[open]
[-] test_filelist.pyc
[open]
[-] test_bdist.pyo
[open]
[-] test_check.pyc
[open]
[-] xxmodule.c
[open]
[-] test_bdist_wininst.py
[open]
[-] test_bdist_dumb.pyo
[open]
[-] test_sysconfig.py
[open]
[-] support.pyo
[open]
[-] test_sdist.pyc
[open]
[-] test_versionpredicate.pyo
[open]
[-] test_register.pyc
[open]
[-] test_build.pyo
[open]
[-] test_util.pyo
[open]
[-] test_version.pyc
[open]
[-] test_util.py
[open]
[-] setuptools_build_ext.py
[open]
[-] test_bdist.py
[open]
[-] test_build_py.pyo
[open]
[-] test_ccompiler.py
[open]
[-] test_sysconfig.pyc
[open]
[-] test_file_util.pyc
[open]
[-] test_file_util.py
[open]
[-] test_install_scripts.pyc
[open]
[-] test_cmd.pyo
[open]
[-] test_clean.pyc
[open]
[-] test_dep_util.py
[open]
[-] test_dir_util.pyo
[open]
[-] test_bdist_dumb.py
[open]
[-] test_config.pyc
[open]
[-] test_unixccompiler.pyo
[open]
[-] test_install.pyo
[open]
[-] test_config.pyo
[open]
[-] test_install_lib.pyo
[open]
[-] test_bdist_msi.pyo
[open]
[-] setuptools_extension.pyc
[open]
[-] test_check.pyo
[open]
[-] test_build_scripts.pyc
[open]
[-] test_config_cmd.py
[open]
[-] test_bdist_wininst.pyo
[open]
[-] test_unixccompiler.pyc
[open]
[-] test_dist.pyc
[open]
[-] Setup.sample
[open]
[-] test_bdist_rpm.pyc
[open]
[-] test_cmd.pyc
[open]
[-] test_archive_util.py
[open]
[-] test_upload.py
[open]
[-] test_bdist_dumb.pyc
[open]
[-] test_ccompiler.pyc
[open]
[-] test_core.py
[open]
[-] test_install_headers.pyo
[open]
[-] test_bdist_msi.pyc
[open]
[-] test_spawn.pyo
[open]
[-] __init__.py
[open]
[-] test_cmd.py
[open]
[-] test_unixccompiler.py
[open]
[-] test_build_ext.py
[open]
[-] test_text_file.pyo
[open]
[-] test_check.py
[open]
[-] test_config_cmd.pyo
[open]
[-] test_clean.py
[open]
[-] test_text_file.pyc
[open]
[-] test_msvc9compiler.pyc
[open]
[-] test_filelist.py
[open]
[-] test_register.py
[open]
[-] test_sysconfig.pyo
[open]
[-] test_install_data.py
[open]
[-] setuptools_extension.pyo
[open]
[-] test_upload.pyo
[open]
[-] test_build.py
[open]
[-] test_version.py
[open]
[-] test_build.pyc
[open]
[-] test_build_clib.py
[open]
[-] test_clean.pyo
[open]
[-] __init__.pyo
[open]
[-] test_config.py
[open]
[-] setuptools_build_ext.pyo
[open]
[-] support.pyc
[open]