method `waitForServerEnd` renamed into `stopAndWaitForServerEnd` (because will also stop the server)

pull/2005/head
sebres 2017-12-22 13:00:29 +01:00
parent 1ad587ac7c
commit a1fd2c507e
1 changed files with 5 additions and 6 deletions

View File

@ -304,7 +304,7 @@ def with_foreground_server_thread(startextra={}):
th.start() th.start()
# to wait for end of server, default accept any exit code, because multi-threaded, # to wait for end of server, default accept any exit code, because multi-threaded,
# thus server can exit in-between... # thus server can exit in-between...
def _waitForServerEnd(code=(SUCCESS, FAILED)): def _stopAndWaitForServerEnd(code=(SUCCESS, FAILED)):
# if seems to be down - try to catch end phase (wait a bit for end:True to recognize down state): # if seems to be down - try to catch end phase (wait a bit for end:True to recognize down state):
if not phase.get('end', None) and not os.path.exists(pjoin(tmp, "f2b.pid")): if not phase.get('end', None) and not os.path.exists(pjoin(tmp, "f2b.pid")):
Utils.wait_for(lambda: phase.get('end', None) is not None, MID_WAITTIME) Utils.wait_for(lambda: phase.get('end', None) is not None, MID_WAITTIME)
@ -315,7 +315,7 @@ def with_foreground_server_thread(startextra={}):
Utils.wait_for(lambda: phase.get('end', None) is not None, MAX_WAITTIME) Utils.wait_for(lambda: phase.get('end', None) is not None, MAX_WAITTIME)
self.assertTrue(phase.get('end', None)) self.assertTrue(phase.get('end', None))
self.assertLogged("Shutdown successful", "Exiting Fail2ban", all=True) self.assertLogged("Shutdown successful", "Exiting Fail2ban", all=True)
self.waitForServerEnd = _waitForServerEnd self.stopAndWaitForServerEnd = _stopAndWaitForServerEnd
# wait for start thread: # wait for start thread:
Utils.wait_for(lambda: phase.get('start', None) is not None, MAX_WAITTIME) Utils.wait_for(lambda: phase.get('start', None) is not None, MAX_WAITTIME)
self.assertTrue(phase.get('start', None)) self.assertTrue(phase.get('start', None))
@ -330,12 +330,12 @@ def with_foreground_server_thread(startextra={}):
# wait for server end (if not yet already exited): # wait for server end (if not yet already exited):
DefLogSys.info('=== within server: end. ===') DefLogSys.info('=== within server: end. ===')
self.pruneLog() self.pruneLog()
self.waitForServerEnd() self.stopAndWaitForServerEnd()
# we start client/server directly in current process (new thread), # we start client/server directly in current process (new thread),
# so don't kill (same process) - if success, just wait for end of worker: # so don't kill (same process) - if success, just wait for end of worker:
if phase.get('end', None): if phase.get('end', None):
th.join() th.join()
self.waitForServerEnd = None self.stopAndWaitForServerEnd = None
return wrapper return wrapper
return _deco_wrapper return _deco_wrapper
@ -1232,8 +1232,7 @@ class Fail2banServerTest(Fail2banClientServerBase):
self.assertIn('\\125-000-004 1;\n', mp) self.assertIn('\\125-000-004 1;\n', mp)
# stop server and wait for end: # stop server and wait for end:
self.execCmd(SUCCESS, startparams, 'stop') self.stopAndWaitForServerEnd(SUCCESS)
self.waitForServerEnd(SUCCESS)
# check flushed (all sessions were deleted from map-file): # check flushed (all sessions were deleted from map-file):
self.assertLogged("[nginx-blck-lst] Flush ticket(s) with nginx-block-map") self.assertLogged("[nginx-blck-lst] Flush ticket(s) with nginx-block-map")