mirror of
https://github.com/python/cpython.git
synced 2025-12-09 02:35:14 +00:00
Suppress fork part of socket test when we can't fork.
This commit is contained in:
parent
9348bf8388
commit
2b4d2800af
1 changed files with 29 additions and 27 deletions
|
|
@ -8,7 +8,7 @@
|
||||||
# sktobj.shutdown()
|
# sktobj.shutdown()
|
||||||
|
|
||||||
|
|
||||||
from test_support import verbose
|
from test_support import verbose, TestFailed
|
||||||
import socket
|
import socket
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
@ -89,39 +89,41 @@ except socket.error:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
canfork = hasattr(os, 'fork')
|
||||||
try:
|
try:
|
||||||
PORT = 50007
|
PORT = 50007
|
||||||
if os.fork():
|
if not canfork or os.fork():
|
||||||
# parent is server
|
# parent is server
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
s.bind(hostname, PORT)
|
s.bind(hostname, PORT)
|
||||||
s.listen(1)
|
s.listen(1)
|
||||||
if verbose:
|
if verbose:
|
||||||
print 'parent accepting'
|
print 'parent accepting'
|
||||||
conn, addr = s.accept()
|
if canfork:
|
||||||
if verbose:
|
conn, addr = s.accept()
|
||||||
print 'connected by', addr
|
|
||||||
# couple of interesting tests while we've got a live socket
|
|
||||||
f = conn.fileno()
|
|
||||||
if verbose:
|
|
||||||
print 'fileno:', f
|
|
||||||
p = conn.getpeername()
|
|
||||||
if verbose:
|
|
||||||
print 'peer:', p
|
|
||||||
n = conn.getsockname()
|
|
||||||
if verbose:
|
|
||||||
print 'sockname:', n
|
|
||||||
f = conn.makefile()
|
|
||||||
if verbose:
|
|
||||||
print 'file obj:', f
|
|
||||||
while 1:
|
|
||||||
data = conn.recv(1024)
|
|
||||||
if not data:
|
|
||||||
break
|
|
||||||
if verbose:
|
if verbose:
|
||||||
print 'received:', data
|
print 'connected by', addr
|
||||||
conn.send(data)
|
# couple of interesting tests while we've got a live socket
|
||||||
conn.close()
|
f = conn.fileno()
|
||||||
|
if verbose:
|
||||||
|
print 'fileno:', f
|
||||||
|
p = conn.getpeername()
|
||||||
|
if verbose:
|
||||||
|
print 'peer:', p
|
||||||
|
n = conn.getsockname()
|
||||||
|
if verbose:
|
||||||
|
print 'sockname:', n
|
||||||
|
f = conn.makefile()
|
||||||
|
if verbose:
|
||||||
|
print 'file obj:', f
|
||||||
|
while 1:
|
||||||
|
data = conn.recv(1024)
|
||||||
|
if not data:
|
||||||
|
break
|
||||||
|
if verbose:
|
||||||
|
print 'received:', data
|
||||||
|
conn.send(data)
|
||||||
|
conn.close()
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
# child is client
|
# child is client
|
||||||
|
|
@ -138,5 +140,5 @@ try:
|
||||||
s.close()
|
s.close()
|
||||||
finally:
|
finally:
|
||||||
os._exit(1)
|
os._exit(1)
|
||||||
except socket.error:
|
except socket.error, msg:
|
||||||
pass
|
raise TestFailed, msg
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue