I have to test a standalone tool from a python script and I am using os.system() to run the tool . I need to take decision based on the return value of the standalone tool .
But since os.system merely throws the output value to STDOUT & returns the exit status (0 => no error) of the shell , how can I make this print Fail or Pass based on the return value of the standalone tool. In the below example ( return_values() function) Example: # cat standalone_tool.py #!/usr/bin/env python # script name: standalone_tool.py import random def return_values(): """ My Demo function""" # After Execution the actual tools returns True, False, None as return types x = random.choice([True, False, None]) print x return x return_values() >>> ret = os.system('python standalone_tool.py') True >>> ret 0 # vi test_standalone_tool.py #!/usr/bin/env python import os # script name: test_standalone_tool.py for i in range(2): retcode = os.system('python standalone_tool.py') print retcode if retcode: print "The standalone tool returned False. Failure" else: print "The standalone tool returned True. Successful" 1# python test_standalone_tool.py None 0 The standalone tool returned True. Successful True 0 The standalone tool returned True. Successful The above problem is because we are referring to the exit status of the shell, Is there an easy way to print Failure or success based on the value returned by python standalone_tool.py . I am on Linux with Python 2.7 and sorry for the longish post Regards, Ganesh -- https://mail.python.org/mailman/listinfo/python-list