Added return code to crash_gen tool

This commit is contained in:
Steven Li 2020-07-06 05:10:32 +00:00
parent a74e3bff4d
commit 5686d65bac
1 changed files with 22 additions and 4 deletions

View File

@ -327,6 +327,12 @@ class ThreadCoordinator:
def printStats(self):
self._execStats.printStats()
def isFailed(self):
return self._execStats.isFailed()
def getExecStats(self):
return self._execStats
def tapAllThreads(self): # in a deterministic manner
wakeSeq = []
for i in range(self._pool.numThreads): # generate a random sequence
@ -1007,7 +1013,7 @@ class DbManager():
# print("Error type: {}, msg: {}, value: {}".format(type(err), err.msg, err))
if ( err.msg == 'client disconnected' ): # cannot open DB connection
print("Cannot establish DB connection, please re-run script without parameter, and follow the instructions.")
sys.exit()
sys.exit(2)
else:
raise
except:
@ -1267,6 +1273,12 @@ class ExecutionStats:
self._failed = False
self._failureReason = None
def __str__(self):
return "[ExecStats: _failed={}, _failureReason={}".format(self._failed, self._failureReason)
def isFailed(self):
return self._failed == True
def startExec(self):
self._execStartTime = time.time()
@ -1743,7 +1755,11 @@ class ClientManager:
self.tc = ThreadCoordinator(thPool, dbManager)
self.tc.run()
# print("exec stats: {}".format(self.tc.getExecStats()))
# print("TC failed = {}".format(self.tc.isFailed()))
self.conclude()
# print("TC failed (2) = {}".format(self.tc.isFailed()))
return 1 if self.tc.isFailed() else 0 # Linux return code: ref https://shapeshed.com/unix-exit-codes/
def conclude(self):
self.tc.printStats()
@ -1758,7 +1774,7 @@ class MainExec:
@classmethod
def runClient(cls):
clientManager = ClientManager()
clientManager.run()
return clientManager.run()
@classmethod
def runService(cls):
@ -1863,10 +1879,12 @@ def main():
if gConfig.run_tdengine : # run server
MainExec.runService()
else :
MainExec.runClient()
return MainExec.runClient()
# logger.info("Crash_Gen execution finished")
if __name__ == "__main__":
main()
exitCode = main()
# print("Exiting with code: {}".format(exitCode))
sys.exit(exitCode)