Commit f5f3e572 authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[2888] Try connecting instead of looking for socket file

This should solve the race condition when the socket file is created,
but connect to it does not work yet, because listen() was not called on
it yet. Really connecting ensures it is possible to connect.
parent 62c27360
...@@ -72,12 +72,21 @@ class MsgqRunTest(unittest.TestCase): ...@@ -72,12 +72,21 @@ class MsgqRunTest(unittest.TestCase):
# Start msgq # Start msgq
self.__msgq = subprocess.Popen([MSGQ_PATH, '-s', SOCKET_PATH], self.__msgq = subprocess.Popen([MSGQ_PATH, '-s', SOCKET_PATH],
close_fds=True) close_fds=True)
# Wait for it to become ready (up to the alarm-set timeout)
while not os.path.exists(SOCKET_PATH):
# Just a short wait, so we don't hog CPU, but don't wait too long
time.sleep(0.01)
# Some testing data # Some testing data
self.__no_recpt = {"result": [-1, "No such recipient"]} self.__no_recpt = {"result": [-1, "No such recipient"]}
# Wait for it to become ready (up to the alarm-set timeout)
connection = None
while not connection:
try:
# If the msgq is ready, this'll succeed. If not, it'll throw
# session error.
connection = isc.cc.session.Session(SOCKET_PATH)
except isc.cc.session.SessionError:
time.sleep(0.1) # Retry after a short time
# We have the connection now, that means it works. Close this
# connection, we won't use it. Each test gets enough new connections
# of its own.
connection.close()
def __message(self, data): def __message(self, data):
""" """
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment