diff Lib/test/test_httpservers.py @ 73307:4dc5590dbd0b 3.2

Issue #13308: Fix test_httpservers failures when run as root.
author Charles-François Natali <neologix@free.fr>
date Wed, 02 Nov 2011 19:35:14 +0100
parents fa20590d4694
children 88c86869ce92 f2d3927a1165
line wrap: on
line diff
--- a/Lib/test/test_httpservers.py	Tue Nov 01 23:31:09 2011 +0100
+++ b/Lib/test/test_httpservers.py	Wed Nov 02 19:35:14 2011 +0100
@@ -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")))
 """
 
+
+@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