summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-12-04 03:26:57 (GMT)
committerTim Peters <tim.peters@gmail.com>2002-12-04 03:26:57 (GMT)
commitb4ee4eb3b308d55bd0d8d5a1abb2015950934c77 (patch)
tree38ed792399ecfdd3d04857ca7c90d63c63719485 /Lib/test
parent6ee68d20b7b588e9b1438970b3d101fb04a8e65d (diff)
downloadcpython-b4ee4eb3b308d55bd0d8d5a1abb2015950934c77.zip
cpython-b4ee4eb3b308d55bd0d8d5a1abb2015950934c77.tar.gz
cpython-b4ee4eb3b308d55bd0d8d5a1abb2015950934c77.tar.bz2
Rearrange test_socket_ssl so that a skip is expected iff the network
resource isn't enabled or the socket module doesn't support ssl.
Diffstat (limited to 'Lib/test')
-rwxr-xr-xLib/test/regrtest.py15
-rw-r--r--Lib/test/test_socket_ssl.py43
-rw-r--r--Lib/test/test_support.py5
3 files changed, 35 insertions, 28 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index ffdea06..75f8230 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -534,6 +534,9 @@ def printlist(x, width=70, indent=4):
# Whether a skip is expected here depends on whether a large test
# input file has been downloaded. test_normalization.skip_expected
# controls that.
+# test_socket_ssl
+# Controlled by test_socket_ssl.skip_expected. Requires the network
+# resource, and a socket module with ssl support.
_expectations = {
'win32':
@@ -565,7 +568,6 @@ _expectations = {
test_pwd
test_resource
test_signal
- test_socket_ssl
test_socketserver
test_sunaudiodev
test_timing
@@ -583,7 +585,6 @@ _expectations = {
test_largefile
test_nis
test_ntpath
- test_socket_ssl
test_socketserver
test_sunaudiodev
test_unicode_file
@@ -618,7 +619,6 @@ _expectations = {
test_pty
test_pwd
test_signal
- test_socket_ssl
test_socketserver
test_sunaudiodev
test_sundry
@@ -736,7 +736,6 @@ _expectations = {
test_popen2
test_pty
test_pwd
- test_socket_ssl
test_socketserver
test_strop
test_sunaudiodev
@@ -769,7 +768,6 @@ _expectations = {
test_nis
test_ntpath
test_poll
- test_socket_ssl
test_socketserver
test_sunaudiodev
test_unicode_file
@@ -792,7 +790,6 @@ _expectations = {
test_linuxaudiodev
test_mpz
test_openpty
- test_socket_ssl
test_socketserver
test_winreg
test_winsound
@@ -820,7 +817,6 @@ _expectations = {
test_openpty
test_pyexpat
test_sax
- test_socket_ssl
test_socketserver
test_sunaudiodev
test_unicode_file
@@ -850,7 +846,6 @@ _expectations = {
test_poll
test_popen2
test_resource
- test_socket_ssl
test_socketserver
test_sunaudiodev
test_unicode_file
@@ -863,6 +858,7 @@ class _ExpectedSkips:
def __init__(self):
import os.path
from test import test_normalization
+ from test import test_socket_ssl
self.valid = False
if sys.platform in _expectations:
@@ -875,6 +871,9 @@ class _ExpectedSkips:
if test_normalization.skip_expected:
self.expected.add('test_normalization')
+ if test_socket_ssl.skip_expected:
+ self.expected.add('test_socket_ssl')
+
self.valid = True
def isvalid(self):
diff --git a/Lib/test/test_socket_ssl.py b/Lib/test/test_socket_ssl.py
index 9c0d8cc..eb00b9b 100644
--- a/Lib/test/test_socket_ssl.py
+++ b/Lib/test/test_socket_ssl.py
@@ -1,27 +1,32 @@
# Test just the SSL support in the socket module, in a moderately bogus way.
from test import test_support
+import socket
-# Optionally test SSL support. This currently requires the 'network' resource
-# as given on the regrtest command line. If not available, nothing after this
-# line will be executed.
-test_support.requires('network')
+# Optionally test SSL support. This requires the 'network' resource as given
+# on the regrtest command line.
+skip_expected = not (test_support.is_resource_enabled('network') and
+ hasattr(socket, "ssl"))
-import socket
-if not hasattr(socket, "ssl"):
- raise test_support.TestSkipped("socket module has no ssl support")
+def test_main():
+ test_support.requires('network')
+ if not hasattr(socket, "ssl"):
+ raise test_support.TestSkipped("socket module has no ssl support")
+
+ import urllib
-import urllib
+ socket.RAND_status()
+ try:
+ socket.RAND_egd(1)
+ except TypeError:
+ pass
+ else:
+ print "didn't raise TypeError"
+ socket.RAND_add("this is a random string", 75.0)
-socket.RAND_status()
-try:
- socket.RAND_egd(1)
-except TypeError:
- pass
-else:
- print "didn't raise TypeError"
-socket.RAND_add("this is a random string", 75.0)
+ f = urllib.urlopen('https://sf.net')
+ buf = f.read()
+ f.close()
-f = urllib.urlopen('https://sf.net')
-buf = f.read()
-f.close()
+if __name__ == "__main__":
+ test_main()
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 075d83b..8169533 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -50,8 +50,11 @@ def forget(modname):
except os.error:
pass
+def is_resource_enabled(resource):
+ return use_resources is not None and resource in use_resources
+
def requires(resource, msg=None):
- if use_resources is not None and resource not in use_resources:
+ if not is_resource_enabled(resource):
if msg is None:
msg = "Use of the `%s' resource not enabled" % resource
raise TestSkipped(msg)