aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/setuptools/tests/test_shutil_wrapper.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/setuptools/tests/test_shutil_wrapper.py')
-rw-r--r--.venv/lib/python3.12/site-packages/setuptools/tests/test_shutil_wrapper.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/setuptools/tests/test_shutil_wrapper.py b/.venv/lib/python3.12/site-packages/setuptools/tests/test_shutil_wrapper.py
new file mode 100644
index 00000000..74ff7e9a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/setuptools/tests/test_shutil_wrapper.py
@@ -0,0 +1,23 @@
+import stat
+import sys
+from unittest.mock import Mock
+
+from setuptools import _shutil
+
+
+def test_rmtree_readonly(monkeypatch, tmp_path):
+ """Verify onerr works as expected"""
+
+ tmp_dir = tmp_path / "with_readonly"
+ tmp_dir.mkdir()
+ some_file = tmp_dir.joinpath("file.txt")
+ some_file.touch()
+ some_file.chmod(stat.S_IREAD)
+
+ expected_count = 1 if sys.platform.startswith("win") else 0
+ chmod_fn = Mock(wraps=_shutil.attempt_chmod_verbose)
+ monkeypatch.setattr(_shutil, "attempt_chmod_verbose", chmod_fn)
+
+ _shutil.rmtree(tmp_dir)
+ assert chmod_fn.call_count == expected_count
+ assert not tmp_dir.is_dir()