Commit Graph

124 Commits

Author SHA1 Message Date
Abseil Team
b617b27718 Googletest export
Add HWASan annotations.

These mirror existing ASan annotations.

HWASan uses memory (address) tagging to detect memory errors:
https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html

It inserts a random tag in the MSB of heap and stack allocation addresses. This tag dominates pointer comparison in StackGrowsDown(), making the result non-deterministic, and entirely unrelated to the actual stack growth direction. The function attribute disables this behavior.

The annotations in gtest-printers are there because the printers are used to basically dump memory. The sanitizers may have ideas why this memory should not be accessed, and that is counter productive. In particular, the test may access only part of an array, but in case of a test failure gtest will dump the entire array which may contain uninitialized bytes - that's what SANITIZE_MEMORY annotation is for. There are similar reasons for ADDRESS and THREAD annotations. HWADDRESS in its current implementation can not cause issues there, I believe, but it falls under the same umbrella of tools whose checking should not apply to test printers because it is not the code under test.

PiperOrigin-RevId: 241379822
2019-04-01 15:45:51 -04:00
Abseil Team
d982543131 Googletest export
Remove support for "global" ::string and ::wstring types.
This support existed for legacy codebases that existed from before namespaces
where a thing. It is no longer necessary.

PiperOrigin-RevId: 241335738
2019-04-01 15:05:10 -04:00
Abseil Team
db9b85e275 Googletest export
Let embedders customize GTEST_INTERNAL_DEPRECATED().

GTEST_INTERNAL_DEPRECATED is currently used to nudge googletest users to migrate off old TEST_CASE macros to the new TEST_SUITE macros. This move is non-trivial for Chromium (see https://crbug.com/925652), and might be difficult for other big projects with many dependencies.

This CL facilitates moving off of deprecated APIs by making it possible for an embedder to define GTEST_INTERNAL_DEPRECATED() in gtest/internal/custom/gtest-port.h. Example usage:

1) #define GTEST_INTERNAL_DEPRECATED() to nothing, to disable deprecation warnings while migrating off googletest's deprecated APIs. This can be preferable to having to disable all deprecation warnings (-Wno-error=deprecated or -Wno-deprecated-declarations).

2) #define GTEST_INTERNAL_DEPRECATED() for an unsupported compiler.

PiperOrigin-RevId: 236171043
2019-03-01 16:18:24 -05:00
Enji Cooper
96826743ea Import patch-bsd-defines from FreeBSD ports [1]
As noted in the patch description:
* Add DragonFly and GNU/kFreeBSD support.
* Implement GetThreadCount() for BSDs.

1. https://svnweb.freebsd.org/ports/head/devel/googletest/files/patch-bsd-defines?revision=488934

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-12 22:43:07 -08:00
misterg
52ea4f7bea Googletest export
Mark legacy _TEST_CASE_ macros as deprecated

PiperOrigin-RevId: 232303251
2019-02-04 14:19:50 -05:00
misterg
3a460a26b7 Googletest export
TestCase->TestSuite refactoring

PiperOrigin-RevId: 227702164
2019-01-03 16:40:20 -05:00
misterg
14c2fba734 Googletest export
Internal Change

PiperOrigin-RevId: 227575279
2019-01-02 16:51:40 -05:00
Abseil Team
f8b1c1af17 Googletest export
Remove the #ifs for old, unsupported and buggy compilers:
* old versions of GCC & MSVC
* Symbian

PiperOrigin-RevId: 227116941
2019-01-02 16:51:33 -05:00
Abseil Team
e26a3fa13c Googletest export
Unifdef c++11-related macros from googletest now that it requires C++11.

PiperOrigin-RevId: 225905601
2018-12-20 14:09:31 -05:00
misterg
81f0026066 Googletest export
Internal Change

PiperOrigin-RevId: 225231727
2018-12-13 16:00:11 -05:00
Gennadiy Civil
695cf7c962 Merge pull request #1997 from gpakosz:GTEST_IS_THREADSAFE
PiperOrigin-RevId: 224054240
2018-12-05 11:44:05 -05:00
Gregory Pakosz
067aa4c28b Do not define GTEST_IS_THREADSAFE within GTEST_HAS_SEH 2018-12-04 14:47:24 +01:00
Abseil Team
26743363be Googletest export
Applied fixes for ClangTidy modernize-use-override and modernize-use-using.

PiperOrigin-RevId: 223800219
2018-12-03 12:54:11 -05:00
misterg
b492666068 Googletest export
Internal Change

PiperOrigin-RevId: 222123106
2018-11-20 13:29:55 -05:00
Robin Lindén
a3a42514f1 Define GTEST_DISABLE_MSC_WARNINGS_PUSH/POP for all compilers 2018-11-10 15:40:57 +01:00
Robin Lindén
c43603f288 Remove GTEST_HAS_HASH_SET/MAP check 2018-11-10 15:27:33 +01:00
Robin Lindén
826656b25f Remove workarounds for unsupported MSVC versions 2018-11-10 15:20:26 +01:00
misterg
e857f9cdd9 Googletest export
Remove scoped_ptr replace with std::unique_ptr

PiperOrigin-RevId: 219291284
2018-10-30 21:20:43 -04:00
Gennadiy Civil
e9085769d4 Merge pull request #1941 from barkovv:master
PiperOrigin-RevId: 219134349
2018-10-29 13:46:24 -04:00
Vadim Barkov
53d61b5b23 Replaced all NULLs with nullptr in googletest 2018-10-28 03:10:37 +03:00
Abseil Team
29b47e45cf Googletest export
C++11 code cleanup.

PiperOrigin-RevId: 217364243
2018-10-18 11:32:16 -04:00
KO Myung-Hun
b3b19a796c Merge c41b2bf861 into f203b2db77
Closes #1899

PiperOrigin-RevId: 216719020
2018-10-11 13:31:25 -04:00
Abseil Team
7d3b73c85a Unconditionally use std::tuple.
Remove all mention of TR1 tuple and our own implementation of tuple.

PiperOrigin-RevId: 216395043
2018-10-09 16:25:58 -04:00
Abseil Team
b652edb39c Apply [[noreturn]] to Abort()
PiperOrigin-RevId: 216383938
2018-10-09 16:25:44 -04:00
misterg
27c86f2941 always define define GTEST_LANG_CXX11 1
PiperOrigin-RevId: 216184859
2018-10-08 10:51:12 -04:00
Abseil Team
4bb49ed640 Apply clang-tidy modernize-use-nullptr to googletest.
Now that googletest has moved to C++11, it should no longer
use NULL or 0 for the null pointer. This patch converts all
such usages to nullptr using clang-tidy.

This prevents LLVM from issuing -Wzero-as-null-pointer-constant
warnings.

PiperOrigin-RevId: 215814400
2018-10-05 12:54:14 -04:00
Gennadiy Civil
b1bfdf0bf4 Small formatting change
And then we can merge
2018-08-16 15:10:07 -04:00
Gennadiy Civil
3c4f437c24 Merge branch 'master' into master 2018-08-15 11:33:15 -07:00
Gennadiy Civil
265efde9a5 Comments changes, no functionality changes. 2018-08-14 15:04:11 -04:00
Gennadiy Civil
a3c0dd0f4d Comments changes, no functionality changes 2018-08-14 14:04:07 -04:00
Gennadiy Civil
2421eff9f7 Merge branch 'master' into deprecate 2018-08-14 08:47:13 -07:00
tisi1988
87a37c60e3 Merge branch 'master' into master 2018-08-14 15:32:22 +02:00
Gennadiy Civil
4d9411467d code management comments, [ci-skip], no functionality changes 2018-08-09 12:21:49 -04:00
Loo Rong Jie
24786cb498 Merge branch 'master' into deprecate 2018-08-09 20:08:44 +08:00
tisi1988
efe27ac05c Merge branch 'master' into master 2018-08-09 10:58:22 +02:00
Gennadiy Civil
b345bf9090 Formatting changes,small cleanup, no functionality changes 2018-08-07 11:49:47 -04:00
tisi1988
e9b05a4d6a Merge branch 'master' into master 2018-08-07 11:12:00 +02:00
Gennadiy Civil
61f949387e Merge branch 'master' into deprecate 2018-08-03 12:05:07 -04:00
tisi1988
25e1436b08 Merge branch 'master' into master 2018-08-01 12:11:18 +02:00
Gennadiy Civil
6269264dfe Merge branch 'master' into deprecate 2018-07-30 16:11:06 -04:00
Gennadiy Civil
f978c651ed Merge branch 'master' into master 2018-07-30 14:01:17 -04:00
Gennadiy Civil
984cba30ed Formatting changes for automatic code management 2018-07-27 11:15:08 -04:00
Piotr Kąkol
309e8a271e Updated broken and outdated URLs 2018-07-25 19:19:26 +02:00
tisi1988
1ae4fdb790 Merge branch 'master' into master 2018-07-23 10:10:26 +02:00
Gennadiy Civil
fd4f7cc729 Merge branch 'master' into deprecate 2018-07-20 15:53:16 -04:00
Gennadiy Civil
a02af2f689 code merge 2018-07-20 11:28:58 -04:00
Gennadiy Civil
1f9c668a04 Merge branch 'master' into deprecate 2018-07-19 11:07:10 -04:00
Gennadiy Civil
7e73a7ae6e Formatting and a link 2018-07-18 11:17:19 -04:00
Loo Rong Jie
3a8d744030 Disable MSVC function deprecation when using Clang 2018-07-13 21:23:28 +08:00
tisi1988
de6e079f15 Merge branch 'master' into master 2018-07-12 11:06:08 +02:00