forked from OSchip/llvm-project
Fix test failure for test/functionalities/connect_remote/TestConnectRemote.py when port 12345 is already in use
Reviewed at http://reviews.llvm.org/D5221 llvm-svn: 217388
This commit is contained in:
parent
3d3e2c72ec
commit
ea65e37bee
|
@ -8,10 +8,11 @@ Taken from http://docs.python.org/library/socket.html#example.
|
||||||
import socket
|
import socket
|
||||||
|
|
||||||
HOST = 'localhost' # Symbolic name meaning local interfaces
|
HOST = 'localhost' # Symbolic name meaning local interfaces
|
||||||
PORT = 12345 # Arbitrary non-privileged port
|
PORT = 0 # Let the system give us a random free port
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
s.bind((HOST, PORT))
|
s.bind((HOST, PORT))
|
||||||
print '\nListening on %s:%d' % (HOST, PORT)
|
PORT = s.getsockname()[1]
|
||||||
|
print 'Listening on %s:%d' % (HOST, PORT)
|
||||||
s.listen(1)
|
s.listen(1)
|
||||||
conn, addr = s.accept()
|
conn, addr = s.accept()
|
||||||
print 'Connected by', addr
|
print 'Connected by', addr
|
||||||
|
|
|
@ -5,6 +5,7 @@ Test lldb 'process connect' command.
|
||||||
import os
|
import os
|
||||||
import unittest2
|
import unittest2
|
||||||
import lldb
|
import lldb
|
||||||
|
import re
|
||||||
from lldbtest import *
|
from lldbtest import *
|
||||||
|
|
||||||
class ConnectRemoteTestCase(TestBase):
|
class ConnectRemoteTestCase(TestBase):
|
||||||
|
@ -12,7 +13,7 @@ class ConnectRemoteTestCase(TestBase):
|
||||||
mydir = TestBase.compute_mydir(__file__)
|
mydir = TestBase.compute_mydir(__file__)
|
||||||
|
|
||||||
def test_connect_remote(self):
|
def test_connect_remote(self):
|
||||||
"""Test "process connect connect:://localhost:12345"."""
|
"""Test "process connect connect:://localhost:[port]"."""
|
||||||
|
|
||||||
import pexpect
|
import pexpect
|
||||||
# First, we'll start a fake debugserver (a simple echo server).
|
# First, we'll start a fake debugserver (a simple echo server).
|
||||||
|
@ -28,10 +29,13 @@ class ConnectRemoteTestCase(TestBase):
|
||||||
self.addTearDownHook(shutdown_fakeserver)
|
self.addTearDownHook(shutdown_fakeserver)
|
||||||
|
|
||||||
# Wait until we receive the server ready message before continuing.
|
# Wait until we receive the server ready message before continuing.
|
||||||
fakeserver.expect_exact('Listening on localhost:12345')
|
line = fakeserver.readline()
|
||||||
|
self.assertTrue(line.startswith("Listening on localhost:"))
|
||||||
|
port = int(re.match('Listening on localhost:([0-9]+)', line).group(1))
|
||||||
|
self.assertTrue(port > 0)
|
||||||
|
|
||||||
# Connect to the fake server....
|
# Connect to the fake server....
|
||||||
self.runCmd("process connect -p gdb-remote connect://localhost:12345")
|
self.runCmd("process connect -p gdb-remote connect://localhost:" + str(port))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue