From 7a18d21230b4efb203a9a2ce9972962a2bf8fe04 Mon Sep 17 00:00:00 2001
From: Antoine Pitrou <solipsis@pitrou.net>
Date: Tue, 30 Aug 2011 18:34:47 +0200
Subject: [PATCH] Remove misleading comment and code. Windows does set the
 errno attribute to ENOENT, but the error message displays the Windows error
 number (3 -> ERROR_PATH_NOT_FOUND), not the errno number (2 -> ENOENT). The
 Unix errno corresponding to 3 is ESRCH, explaining the confusion, which can
 be seen in the following snippet:

>>> shutil.rmtree("foo")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "Z:\default\lib\shutil.py", line 272, in rmtree
    onerror(os.listdir, path, sys.exc_info())
  File "Z:\default\lib\shutil.py", line 270, in rmtree
    names = os.listdir(path)
WindowsError: [Error 3] The system cannot find the path specified:
'foo\\*.*'
>>> e = sys.last_value
>>> e.errno
2
>>> e.winerror
3
>>> errno.errorcode[2]
'ENOENT'

For reference, see PC/errmap.h and
http://msdn.microsoft.com/en-us/library/ms681382%28v=vs.85%29.aspx
---
 Lib/test/support.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Lib/test/support.py b/Lib/test/support.py
index d00a51324a1..03af378efee 100644
--- a/Lib/test/support.py
+++ b/Lib/test/support.py
@@ -212,8 +212,7 @@ def rmtree(path):
     try:
         shutil.rmtree(path)
     except OSError as error:
-        # Unix returns ENOENT, Windows returns ESRCH.
-        if error.errno not in (errno.ENOENT, errno.ESRCH):
+        if error.errno != errno.ENOENT:
             raise
 
 def make_legacy_pyc(source):
-- 
2.30.9