OXIESEC PANEL
- Current Dir:
/
/
snap
/
certbot
/
4730
/
lib
/
python3.12
/
site-packages
/
setuptools
/
_distutils
/
tests
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/10/2025 09:51:14 PM
rwxr-xr-x
📄
__init__.py
1.45 KB
06/10/2025 09:50:49 PM
rw-r--r--
📁
__pycache__
-
06/10/2025 09:51:14 PM
rwxr-xr-x
📁
compat
-
06/10/2025 09:51:14 PM
rwxr-xr-x
📄
support.py
4 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_archive_util.py
11.51 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_bdist.py
1.36 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_bdist_dumb.py
2.19 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_bdist_rpm.py
3.84 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_build.py
1.7 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_build_clib.py
4.23 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_build_ext.py
22.02 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_build_py.py
6.72 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_build_scripts.py
2.81 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_check.py
6.08 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_clean.py
1.21 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_cmd.py
3.18 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_config_cmd.py
2.6 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_core.py
3.74 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_dir_util.py
4.39 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_dist.py
18.35 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_extension.py
3.58 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_file_util.py
3.44 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_filelist.py
10.51 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_install.py
8.42 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_install_data.py
2.41 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_install_headers.py
936 bytes
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_install_lib.py
3.53 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_install_scripts.py
1.56 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_log.py
323 bytes
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_modified.py
4.12 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_sdist.py
14.71 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_spawn.py
4.69 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_sysconfig.py
11.71 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_text_file.py
3.38 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_util.py
7.8 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_version.py
2.69 KB
06/10/2025 09:50:49 PM
rw-r--r--
📄
test_versionpredicate.py
0 bytes
06/10/2025 09:50:49 PM
rw-r--r--
📄
unix_compat.py
386 bytes
06/10/2025 09:50:49 PM
rw-r--r--
Editing: test_file_util.py
Close
"""Tests for distutils.file_util.""" import errno import os import unittest.mock as mock from distutils.errors import DistutilsFileError from distutils.file_util import copy_file, move_file import jaraco.path import pytest @pytest.fixture(autouse=True) def stuff(request, tmp_path): self = request.instance self.source = tmp_path / 'f1' self.target = tmp_path / 'f2' self.target_dir = tmp_path / 'd1' class TestFileUtil: def test_move_file_verbosity(self, caplog): jaraco.path.build({self.source: 'some content'}) move_file(self.source, self.target, verbose=False) assert not caplog.messages # back to original state move_file(self.target, self.source, verbose=False) move_file(self.source, self.target, verbose=True) wanted = [f'moving {self.source} -> {self.target}'] assert caplog.messages == wanted # back to original state move_file(self.target, self.source, verbose=False) caplog.clear() # now the target is a dir os.mkdir(self.target_dir) move_file(self.source, self.target_dir, verbose=True) wanted = [f'moving {self.source} -> {self.target_dir}'] assert caplog.messages == wanted def test_move_file_exception_unpacking_rename(self): # see issue 22182 with ( mock.patch("os.rename", side_effect=OSError("wrong", 1)), pytest.raises(DistutilsFileError), ): jaraco.path.build({self.source: 'spam eggs'}) move_file(self.source, self.target, verbose=False) def test_move_file_exception_unpacking_unlink(self): # see issue 22182 with ( mock.patch("os.rename", side_effect=OSError(errno.EXDEV, "wrong")), mock.patch("os.unlink", side_effect=OSError("wrong", 1)), pytest.raises(DistutilsFileError), ): jaraco.path.build({self.source: 'spam eggs'}) move_file(self.source, self.target, verbose=False) def test_copy_file_hard_link(self): jaraco.path.build({self.source: '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(f'os.link: {e}') else: self.target.unlink() st = os.stat(self.source) copy_file(self.source, self.target, link='hard') st2 = os.stat(self.source) st3 = os.stat(self.target) assert os.path.samestat(st, st2), (st, st2) assert os.path.samestat(st2, st3), (st2, st3) assert self.source.read_text(encoding='utf-8') == '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). jaraco.path.build({self.source: 'some content'}) st = os.stat(self.source) with mock.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) assert os.path.samestat(st, st2), (st, st2) assert not os.path.samestat(st2, st3), (st2, st3) for fn in (self.source, self.target): assert fn.read_text(encoding='utf-8') == 'some content'