diff Lib/test/test_httpservers.py @ 73306:d1cde7081bf5 2.7

Issue #13308: Fix test_httpservers failures when run as root.
author Charles-François Natali <neologix@free.fr>
date Wed, 02 Nov 2011 19:32:54 +0100
parents cd8d3c2d3bce
children bab9f29c93fd
line wrap: on
line diff
--- a/Lib/test/test_httpservers.py	Thu Nov 03 02:02:38 2011 +0800
+++ b/Lib/test/test_httpservers.py	Wed Nov 02 19:32:54 2011 +0100
@@ -324,8 +324,10 @@
         f = open(os.path.join(self.tempdir_name, 'index.html'), 'w')
         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)
@@ -370,6 +372,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