diff options
author | zhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925> | 2013-09-06 22:50:25 +0000 |
---|---|---|
committer | zhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925> | 2013-09-06 22:50:25 +0000 |
commit | c306ef2e14483dbf4f047a3e1ca3f86111b800ca (patch) | |
tree | be89ba3a0f06a281e3c5e40cb230c5baf0a65a80 /test/gtest_catch_exceptions_test.py | |
parent | 492986a5d05687853174862efc8e70fe31598eba (diff) | |
download | googletest-c306ef2e14483dbf4f047a3e1ca3f86111b800ca.tar.gz googletest-c306ef2e14483dbf4f047a3e1ca3f86111b800ca.tar.bz2 googletest-c306ef2e14483dbf4f047a3e1ca3f86111b800ca.zip |
supports a protocol for catching tests that prematurely exit
Diffstat (limited to 'test/gtest_catch_exceptions_test.py')
-rwxr-xr-x | test/gtest_catch_exceptions_test.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/test/gtest_catch_exceptions_test.py b/test/gtest_catch_exceptions_test.py index d7ef10eb..e6fc22fd 100755 --- a/test/gtest_catch_exceptions_test.py +++ b/test/gtest_catch_exceptions_test.py @@ -57,14 +57,27 @@ EX_EXE_PATH = gtest_test_utils.GetTestExecutablePath( EXE_PATH = gtest_test_utils.GetTestExecutablePath( 'gtest_catch_exceptions_no_ex_test_') -TEST_LIST = gtest_test_utils.Subprocess([EXE_PATH, LIST_TESTS_FLAG]).output +environ = gtest_test_utils.environ +SetEnvVar = gtest_test_utils.SetEnvVar + +# Tests in this file run a Google-Test-based test program and expect it +# to terminate prematurely. Therefore they are incompatible with +# the premature-exit-file protocol by design. Unset the +# premature-exit filepath to prevent Google Test from creating +# the file. +SetEnvVar(gtest_test_utils.PREMATURE_EXIT_FILE_ENV_VAR, None) + +TEST_LIST = gtest_test_utils.Subprocess( + [EXE_PATH, LIST_TESTS_FLAG], env=environ).output SUPPORTS_SEH_EXCEPTIONS = 'ThrowsSehException' in TEST_LIST if SUPPORTS_SEH_EXCEPTIONS: - BINARY_OUTPUT = gtest_test_utils.Subprocess([EXE_PATH]).output + BINARY_OUTPUT = gtest_test_utils.Subprocess([EXE_PATH], env=environ).output + +EX_BINARY_OUTPUT = gtest_test_utils.Subprocess( + [EX_EXE_PATH], env=environ).output -EX_BINARY_OUTPUT = gtest_test_utils.Subprocess([EX_EXE_PATH]).output # The tests. if SUPPORTS_SEH_EXCEPTIONS: @@ -212,7 +225,8 @@ class CatchCxxExceptionsTest(gtest_test_utils.TestCase): uncaught_exceptions_ex_binary_output = gtest_test_utils.Subprocess( [EX_EXE_PATH, NO_CATCH_EXCEPTIONS_FLAG, - FITLER_OUT_SEH_TESTS_FLAG]).output + FITLER_OUT_SEH_TESTS_FLAG], + env=environ).output self.assert_('Unhandled C++ exception terminating the program' in uncaught_exceptions_ex_binary_output) |