This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: test_pathlib: "The directory is not empty" error on os.rmdir()
Type: Stage:
Components: Windows Versions: Python 3.4
process
Status: closed Resolution: duplicate
Dependencies: Superseder: support.rmtree fails on symlinks under Windows
View: 19629
Assigned To: Nosy List: pitrou, python-dev, vstinner
Priority: normal Keywords:

Created on 2013-11-27 10:45 by vstinner, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (2)
msg204571 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2013-11-27 10:45
test_pathlib should use test.support.rmtree() instead of shutil.rmtree(). The function in support tries harder on Windows.

test_pathlib may also create an unique temporary directory at each test run instead of using a global variable BASE: see below, tests are failing because the directory already exist. (Well, this issue is a consequence of the first one.)

http://buildbot.python.org/all/builders/AMD64%20Windows7%20SP1%203.x/builds/3476/steps/test/logs/stdio

======================================================================
ERROR: test_touch_common (test.test_pathlib.WindowsPathTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\shutil.py", line 477, in rmtree
    return _rmtree_unsafe(path, onerror)
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\shutil.py", line 367, in _rmtree_unsafe
    _rmtree_unsafe(fullname, onerror)
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\shutil.py", line 367, in _rmtree_unsafe
    _rmtree_unsafe(fullname, onerror)
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\shutil.py", line 376, in _rmtree_unsafe
    onerror(os.rmdir, path, sys.exc_info())
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\shutil.py", line 374, in _rmtree_unsafe
    os.rmdir(path)
OSError: [WinError 145] The directory is not empty: 'C:\\buildbot.python.org\\3.x.kloth-win64\\build\\build\\test_python_4528\\@test_4528_tmp\\dirC\\dirD'

======================================================================
ERROR: test_touch_nochange (test.test_pathlib.WindowsPathTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\test\test_pathlib.py", line 1081, in setUp
    os.mkdir(BASE)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\buildbot.python.org\\3.x.kloth-win64\\build\\build\\test_python_4528\\@test_4528_tmp'

======================================================================
ERROR: test_unlink (test.test_pathlib.WindowsPathTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\test\test_pathlib.py", line 1081, in setUp
    os.mkdir(BASE)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\buildbot.python.org\\3.x.kloth-win64\\build\\build\\test_python_4528\\@test_4528_tmp'

======================================================================
ERROR: test_with (test.test_pathlib.WindowsPathTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\buildbot.python.org\3.x.kloth-win64\build\lib\test\test_pathlib.py", line 1081, in setUp
    os.mkdir(BASE)
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'C:\\buildbot.python.org\\3.x.kloth-win64\\build\\build\\test_python_4528\\@test_4528_tmp'

----------------------------------------------------------------------
msg223591 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2014-07-21 17:20
New changeset 1db5cde4958f by Victor Stinner in branch '3.4':
Issue #19811, #22022: test_pathlib uses support.rmtree() instead of
http://hg.python.org/cpython/rev/1db5cde4958f

New changeset e405bcbf761c by Victor Stinner in branch 'default':
Merge Python 3.4
http://hg.python.org/cpython/rev/e405bcbf761c
History
Date User Action Args
2022-04-11 14:57:54adminsetgithub: 64010
2014-07-21 17:20:29python-devsetnosy: + python-dev
messages: + msg223591
2013-11-27 13:45:48pitrousetstatus: open -> closed
superseder: support.rmtree fails on symlinks under Windows
resolution: duplicate
2013-11-27 10:45:08vstinnercreate