diff options
author | Derek Mauro <dmauro@google.com> | 2018-07-10 18:30:42 (GMT) |
---|---|---|
committer | Derek Mauro <dmauro@google.com> | 2018-07-10 18:30:42 (GMT) |
commit | 4c417877648f5f240aecead1c19d7c1fd340423b (patch) | |
tree | 845c821bd6bc6015f82cb10f911158a2c6a92a16 /googletest/test/gtest_xml_output_unittest.py | |
parent | ba96d0b1161f540656efdaed035b3c062b60e006 (diff) | |
download | googletest-4c417877648f5f240aecead1c19d7c1fd340423b.zip googletest-4c417877648f5f240aecead1c19d7c1fd340423b.tar.gz googletest-4c417877648f5f240aecead1c19d7c1fd340423b.tar.bz2 |
Adds stacktrace support from Abseil to Google Test
This change adds the ability to generate stacktraces in Google Test on
both failures of assertions/expectations and on crashes. The
stacktrace support is conditionally available only when using Abseil
with Google Test.
To use this support, run the test under Bazel with a command like this:
bazel test --define absl=1 --test_env=GTEST_INSTALL_FAILURE_SIGNAL_HANDLER=1 //path/to/your:test
The "--define absl=1" part enables stacktraces on assertion/expectation
failures.
The "--test_env=GTEST_INSTALL_FAILURE_SIGNAL_HANDLER=1" part enables
the signal handler that logs a stacktrace in the event of a crash
(this also requires the "--define absl=1" part). This is not the
default since it may interfere with existing tests.
Diffstat (limited to 'googletest/test/gtest_xml_output_unittest.py')
-rwxr-xr-x | googletest/test/gtest_xml_output_unittest.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/googletest/test/gtest_xml_output_unittest.py b/googletest/test/gtest_xml_output_unittest.py index 6ffb6e3..faedd4e 100755 --- a/googletest/test/gtest_xml_output_unittest.py +++ b/googletest/test/gtest_xml_output_unittest.py @@ -47,17 +47,22 @@ GTEST_OUTPUT_FLAG = '--gtest_output' GTEST_DEFAULT_OUTPUT_FILE = 'test_detail.xml' GTEST_PROGRAM_NAME = 'gtest_xml_output_unittest_' +# The flag indicating stacktraces are not supported +NO_STACKTRACE_SUPPORT_FLAG = '--no_stacktrace_support' + # The environment variables for test sharding. TOTAL_SHARDS_ENV_VAR = 'GTEST_TOTAL_SHARDS' SHARD_INDEX_ENV_VAR = 'GTEST_SHARD_INDEX' SHARD_STATUS_FILE_ENV_VAR = 'GTEST_SHARD_STATUS_FILE' -SUPPORTS_STACK_TRACES = False +SUPPORTS_STACK_TRACES = NO_STACKTRACE_SUPPORT_FLAG not in sys.argv if SUPPORTS_STACK_TRACES: STACK_TRACE_TEMPLATE = '\nStack trace:\n*' else: STACK_TRACE_TEMPLATE = '' + # unittest.main() can't handle unknown flags + sys.argv.remove(NO_STACKTRACE_SUPPORT_FLAG) EXPECTED_NON_EMPTY_XML = """<?xml version="1.0" encoding="UTF-8"?> <testsuites tests="23" failures="4" disabled="2" errors="0" time="*" timestamp="*" name="AllTests" ad_hoc_property="42"> |