[Python-checkins] cpython (merge 3.2 -> default): Issue #13308: Fix test_httpservers failures when run as root.

charles-francois.natali python-checkins at python.org
Wed Nov 2 19:36:38 CET 2011


http://hg.python.org/cpython/rev/f2d3927a1165
changeset:   73308:f2d3927a1165
parent:      73304:cee6fdd6436d
parent:      73307:4dc5590dbd0b
user:        Charles-François Natali <neologix at free.fr>
date:        Wed Nov 02 19:36:02 2011 +0100
summary:
  Issue #13308: Fix test_httpservers failures when run as root.

files:
  Lib/test/test_httpservers.py |  8 ++++++--
  1 files changed, 6 insertions(+), 2 deletions(-)


diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py
--- a/Lib/test/test_httpservers.py
+++ b/Lib/test/test_httpservers.py
@@ -259,8 +259,9 @@
         with open(os.path.join(self.tempdir_name, 'index.html'), 'w') as f:
             response = self.request('/' + self.tempdir_name + '/')
             self.check_status_and_reason(response, 200)
-            if os.name == 'posix':
-                # chmod won't work as expected on Windows platforms
+            # chmod() doesn't work as expected on Windows, and filesystem
+            # permissions are ignored by root on Unix.
+            if os.name == 'posix' and os.geteuid() != 0:
                 os.chmod(self.tempdir, 0)
                 response = self.request(self.tempdir_name + '/')
                 self.check_status_and_reason(response, 404)
@@ -305,6 +306,9 @@
                           form.getfirst("bacon")))
 """
 
+
+ at unittest.skipIf(hasattr(os, 'geteuid') and os.geteuid() == 0,
+        "This test can't be run reliably as root (issue #13308).")
 class CGIHTTPServerTestCase(BaseTestCase):
     class request_handler(NoLogRequestHandler, CGIHTTPRequestHandler):
         pass

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list