/opt/imh-python/lib/python3.9/distutils/tests
NameSizeModeActions
__pycache__/-0755rm
includetest.rst250644editdlrm
Setup.sample22490644editdlrm
support.py64780644editdlrm
test_archive_util.py143010644editdlrm
test_bdist.py18930644editdlrm
test_bdist_dumb.py29050644editdlrm
test_bdist_msi.py8030644editdlrm
test_bdist_rpm.py50080644editdlrm
test_bdist_wininst.py13900644editdlrm
test_build.py19650644editdlrm
test_build_clib.py46310644editdlrm
test_build_ext.py206330644editdlrm
test_build_py.py63350644editdlrm
test_build_scripts.py35930644editdlrm
test_check.py57110644editdlrm
test_clean.py14410644editdlrm
test_cmd.py38350644editdlrm
test_config.py38920644editdlrm
test_config_cmd.py30230644editdlrm
test_core.py40770644editdlrm
test_cygwinccompiler.py56360644editdlrm
test_dep_util.py28200644editdlrm
test_dir_util.py46540644editdlrm
test_dist.py190800644editdlrm
test_extension.py27680644editdlrm
test_filelist.py114750644editdlrm
test_file_util.py44130644editdlrm
test_install.py86120644editdlrm
test_install_data.py25770644editdlrm
test_install_headers.py12380644editdlrm
test_install_lib.py39740644editdlrm
test_install_scripts.py26250644editdlrm
test_log.py18640644editdlrm
test_msvc9compiler.py60380644editdlrm
test_msvccompiler.py28450644editdlrm
test_register.py97650644editdlrm
test_sdist.py170470644editdlrm
test_spawn.py54600644editdlrm
test_sysconfig.py110450644editdlrm
test_text_file.py34360644editdlrm
test_unixccompiler.py46280644editdlrm
test_upload.py71370644editdlrm
test_util.py115720644editdlrm
test_version.py34500644editdlrm
test_versionpredicate.py2800644editdlrm
xxmodule.c129150644editdlrm
__init__.py13440644editdlrm
Edit: /opt/imh-python/lib/python3.9/distutils/tests/test_file_util.py (4413B)
"""Tests for distutils.file_util.""" import unittest import os import errno from unittest.mock import patch from distutils.file_util import move_file, copy_file from distutils import log from distutils.tests import support from distutils.errors import DistutilsFileError from test.support import run_unittest, unlink class FileUtilTestCase(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(FileUtilTestCase, self).setUp() self._logs = [] self.old_log = log.info log.info = self._log tmp_dir = self.mkdtemp() self.source = os.path.join(tmp_dir, 'f1') self.target = os.path.join(tmp_dir, 'f2') self.target_dir = os.path.join(tmp_dir, 'd1') def tearDown(self): log.info = self.old_log super(FileUtilTestCase, self).tearDown() def test_move_file_verbosity(self): f = open(self.source, 'w') try: f.write('some content') finally: f.close() move_file(self.source, self.target, verbose=0) wanted = [] self.assertEqual(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.assertEqual(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.assertEqual(self._logs, wanted) def test_move_file_exception_unpacking_rename(self): # see issue 22182 with patch("os.rename", side_effect=OSError("wrong", 1)), \ self.assertRaises(DistutilsFileError): with open(self.source, 'w') as fobj: fobj.write('spam eggs') move_file(self.source, self.target, verbose=0) def test_move_file_exception_unpacking_unlink(self): # see issue 22182 with patch("os.rename", side_effect=OSError(errno.EXDEV, "wrong")), \ patch("os.unlink", side_effect=OSError("wrong", 1)), \ self.assertRaises(DistutilsFileError): with open(self.source, 'w') as fobj: fobj.write('spam eggs') move_file(self.source, self.target, verbose=0) def test_copy_file_hard_link(self): with open(self.source, 'w') as f: f.write('some content') # Check first that copy_file() will not fall back on copying the file # instead of creating the hard link. try: os.link(self.source, self.target) except OSError as e: self.skipTest('os.link: %s' % e) else: unlink(self.target) st = os.stat(self.source) copy_file(self.source, self.target, link='hard') st2 = os.stat(self.source) st3 = os.stat(self.target) self.assertTrue(os.path.samestat(st, st2), (st, st2)) self.assertTrue(os.path.samestat(st2, st3), (st2, st3)) with open(self.source, 'r') as f: self.assertEqual(f.read(), 'some content') def test_copy_file_hard_link_failure(self): # If hard linking fails, copy_file() falls back on copying file # (some special filesystems don't support hard linking even under # Unix, see issue #8876). with open(self.source, 'w') as f: f.write('some content') st = os.stat(self.source) with patch("os.link", side_effect=OSError(0, "linking unsupported")): copy_file(self.source, self.target, link='hard') st2 = os.stat(self.source) st3 = os.stat(self.target) self.assertTrue(os.path.samestat(st, st2), (st, st2)) self.assertFalse(os.path.samestat(st2, st3), (st2, st3)) for fn in (self.source, self.target): with open(fn, 'r') as f: self.assertEqual(f.read(), 'some content') def test_suite(): return unittest.makeSuite(FileUtilTestCase) if __name__ == "__main__": run_unittest(test_suite())