From e79c3ccb73d68543e8ad98d69179dee74abff7ab Mon Sep 17 00:00:00 2001 From: shiqian Date: Thu, 18 Sep 2008 21:18:11 +0000 Subject: Makes the Python tests more portable by calling standard functions to interpret the result of os.system(). This could fix the broken Python tests on some users' machines. --- test/gtest_test_utils.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/gtest_test_utils.py') diff --git a/test/gtest_test_utils.py b/test/gtest_test_utils.py index 6c158871..f454774d 100755 --- a/test/gtest_test_utils.py +++ b/test/gtest_test_utils.py @@ -96,6 +96,26 @@ def GetBuildDir(): return os.path.abspath(GetFlag('gtest_build_dir')) +def GetExitStatus(exit_code): + """Returns the argument to exit(), or -1 if exit() wasn't called. + + Args: + exit_code: the result value of os.system(command). + """ + + if os.name == 'nt': + # On Windows, os.WEXITSTATUS() doesn't work and os.system() returns + # the argument to exit() directly. + return exit_code + else: + # On Unix, os.WEXITSTATUS() must be used to extract the exit status + # from the result of os.system(). + if os.WIFEXITED(exit_code): + return os.WEXITSTATUS(exit_code) + else: + return -1 + + def Main(): """Runs the unit test.""" -- cgit v1.2.3