26 Commits

Author SHA1 Message Date
Abseil Team
cfe5076a8b Do not emit stack traces for messages generated by GTEST_SKIP()
Stack traces in assertion failures are an extremely useful tool for
developers tasked with investigating failing tests. It's difficult to
understate this. In contrast to ordinary test assertions (e.g.,
ASSERT_TRUE or EXPECT_FALSE), GTEST_SKIP is a developer-authored
directive to skip one or more tests. Stack traces emitted in skip
messages do not give the developer useful information, as the skip
message itself contains the code location where GTEST_SKIP was used. In
addition to being noise in the output, symbolization of stack traces is
not free. In some Chromium configurations, symbolization in a skipped
test can incur a cost in excess of 25 seconds for a test that otherwise
takes 0-1ms; see https://crbug.com/1517343#c9.

In this CL, we suppress generation and emission of stack traces for
kSkip messages to reduce the output noise and overhead of GTEST_SKIP().

PiperOrigin-RevId: 598899010
Change-Id: I46926fed452c8d7edcb3d636d8fed42cb6c0a9e9
2024-01-16 11:19:24 -08:00
Tom Hughes
d8a5fb7ee6 Add missing std includes
PiperOrigin-RevId: 525794940
Change-Id: Ib2639058610c91cbffbb0f22a5e71573e0cbd651
2023-04-20 11:01:56 -07:00
Aaron Jacobs
5fce13091d gtest.cc: add a newline after a failure when there is no OS stack trace.
This makes the behavior consistent when GTEST_STACK_TRACE_DEPTH is set to zero
and not: there is always vertical whitespace separating failure messages.

PiperOrigin-RevId: 518744611
Change-Id: I5b4af40633849850660504c3f497a76601d4311d
2023-03-22 20:19:44 -07:00
Tom Hughes
403a968d3c Fix formatting in Python files
PiperOrigin-RevId: 504890435
Change-Id: Ia9a89d0d7a07fe70c12f7f0202c8256c94d2f118
2023-01-26 11:06:14 -08:00
Tom Hughes
0194f90d0e Fix Python docstrings to match style guide
https://google.github.io/styleguide/pyguide.html#s3.8.3-functions-and-methods

PiperOrigin-RevId: 504857416
Change-Id: I7815ce27e454a120b3974ae7e2bea952108b836c
2023-01-26 09:04:40 -08:00
Tom Hughes
b495f72f1f Use more specific assertLess instead of assertTrue
PiperOrigin-RevId: 504670738
Change-Id: Ib68b676403204098e89f536f9b8317f9f717c24d
2023-01-25 15:01:21 -08:00
Tom Hughes
bdb3b0a493 Replace deprecated python calls
assert_ -> assertTrue/assertFalse/assertIn/assertNotIn
assertEquals -> assertEqual

PiperOrigin-RevId: 502654909
Change-Id: I25d30095a83c3806606cb80d676b3c979495e6bd
2023-01-17 12:16:29 -08:00
Szymon Sobik
5c1b42a58d Adjust xml and json unit tests to test for source file and line location. 2022-03-08 01:15:20 +01:00
Derek Mauro
c58f562fa2 Makes the Python imports consistently use full paths from the repository root,
unifying the behavior between Bazel and CMake

This fixes one of the CI failures on Windows

PiperOrigin-RevId: 417872531
Change-Id: I156989323b7e6d4a4420f4f9691b078829db933d
2021-12-22 13:01:24 -08:00
Abseil Team
ac1d60c2b5 Googletest export
gtest: Output a canned test suite for environment failures in XML/JSON

This surfaces useful information about the environment failure in a structured form.

As we can see from the updated test, previously unsurfaced information is now present.

PiperOrigin-RevId: 362292322
2021-03-16 09:51:18 -04:00
Mario Voorsluys
7c8ab528b7 Fix test with stack. 2020-04-22 07:05:09 +02:00
Mario Voorsluys
c447b2166b Fixed xml unit-tests and added extra tests
The extra tests check that the xml output is correct when a failure occurs before skipping, and that the right skip message is added to the file.

The json file had to be fixed because it's the same executable.
2020-03-26 19:17:20 +01:00
Abseil Team
2134e3fd85 Googletest export
Adds ISO8601 timestamps to XML output and RFC3339 timestamps to JSON output.

Adds timestamps to testsuites, testsuite and testcases structured JSON/XML output for better reporting how/where time is spent on tests.

PiperOrigin-RevId: 260039817
2019-07-25 20:53:46 -04:00
Abseil Team
5b752b1947 Googletest export
Update XML and JSON output to be consistent with the standard.

PiperOrigin-RevId: 239833242
2019-03-28 17:56:02 -04:00
misterg
0599a7b841 Googletest export
Change tests to use new Test Suite API

PiperOrigin-RevId: 228908894
2019-01-11 13:59:22 -05:00
Abseil Team
c6cb7e0335 Googletest export
Support skipped in XML and JSON output

PiperOrigin-RevId: 225386540
2018-12-13 16:00:21 -05:00
Peter Levine
149c0d2414 Fix Python3 support 2018-09-14 19:40:51 -04:00
Derek Mauro
4c41787764 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.
2018-07-10 14:30:42 -04:00
Gennadiy Civil
e891900666 Merging, XML tests 2018-03-07 15:57:55 -05:00
Gennadiy Civil
bbb17ad0f7 more code merge 2018-01-22 15:28:55 -05:00
Gennadiy Civil
f1c87ad9f5 merges, cl/155419551 and other 2018-01-22 15:20:19 -05:00
Alexey Sokolov
c9cf07a8ba Make the failure messages from EXPECT_EQ and friends actually symmetric,
instead of reading more like reversing the former "expected" and "actual"
roles of the LHS and RHS arguments.

This patch is manually applied from internal version (125109873)
2017-09-13 18:18:20 +01:00
vpfautz
a2451c7403 Fixed some typos 2017-02-26 19:15:33 +01:00
Alexey Sokolov
f364e18837 Change error message of EXPECT_EQ to treat lhs and rhs equivalently. 2016-02-16 23:32:01 +00:00
Thomas Amland
d404af0d98 add python 3 support to tests 2016-01-19 14:41:20 +01:00
Billy Donahue
1f87a0970d Move everything in googletest into googletest/googletest 2015-08-25 16:18:00 -04:00