summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles-François Natali <neologix@free.fr>2011-11-02 18:35:14 (GMT)
committerCharles-François Natali <neologix@free.fr>2011-11-02 18:35:14 (GMT)
commitf7ed9fc063cc4c11cfdf36b6c5023b984ed36b26 (patch)
tree7c8e5680e6db087d81a0fea5404c3d8f8778caf4
parent91d5193b3ad208f359107512ff12a416c9dbec3b (diff)
downloadcpython-f7ed9fc063cc4c11cfdf36b6c5023b984ed36b26.zip
cpython-f7ed9fc063cc4c11cfdf36b6c5023b984ed36b26.tar.gz
cpython-f7ed9fc063cc4c11cfdf36b6c5023b984ed36b26.tar.bz2
Issue #13308: Fix test_httpservers failures when run as root.
-rw-r--r--Lib/test/test_httpservers.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py
index 39ebc26..e83c048 100644
--- a/Lib/test/test_httpservers.py
+++ b/Lib/test/test_httpservers.py
@@ -259,8 +259,9 @@ class SimpleHTTPServerTestCase(BaseTestCase):
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 @@ print("%%s, %%s, %%s" %% (form.getfirst("spam"), form.getfirst("eggs"),
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