201 Commits

Author SHA1 Message Date
misterg
ce3a168419 Googletest export
Expose more information in SuiteApiResolver diagnostic output

PiperOrigin-RevId: 244179347
2019-04-18 15:45:49 -04:00
Gennadiy Civil
7e27fc4c95 Merge pull request #2170 from ngie-eign:issue-2146-ver2
PiperOrigin-RevId: 244069956
2019-04-18 09:44:24 -04:00
Calvin Hill
731664bff0 Sort Haiku platform definition alphabetically.
Fixes a minor ordering issue when defining the platform macro.
Also fixes a minor typo: 'Max OS X' -> 'Mac OS X'.
2019-04-12 19:26:07 +01:00
Gennadiy Civil
018295a390 Merge pull request #2229 from return:haiku-support
PiperOrigin-RevId: 243104604
2019-04-11 14:31:18 -04:00
Calvin Hill
a79e6a52a6 Add Haiku platform support.
This allows googletest to recognize the Haiku operating system when
running tests in other projects.
2019-04-11 17:28:06 +01:00
Enji Cooper
36018b429c clang: fix -Wsign-conversion errors
Cast some values as their unsigned equivalents or `size_t` to match the
parameter type used for the template object under test. Also, provide
UInt32 equivalent delegate methods for some callers (with
int-equivalents for backwards compatibility).

This closes #2146.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-05 21:30:19 -07:00
Abseil Team
537a29e24b Googletest export
Typos: "more then" -> "more than".
PiperOrigin-RevId: 241483698
2019-04-03 15:14:17 -04:00
Abseil Team
407592f6a7 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
4d7c867857 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
fdfac36c0f Googletest export
Remove mention of unused type ProtocolMessage.

PiperOrigin-RevId: 239242706
2019-03-21 10:43:06 -04:00
Abseil Team
54c7cc9eac Googletest export
Fix emission of -Wzero-as-null-pointer-constant when comparing integers.

The following code fails to compile:

#pragma clang diagnostic error "-Wzero-as-null-pointer-constant"
void foo() {
  EXPECT_EQ(0, 0);
}

This happens because gtest checks the first argument to EXPECT_EQ and
ASSERT_EQ is a null pointer constant. The magic it does to do this causes the
warning to be emitted.

This patch removes that check. It replaces the explicit check with a Compare
overload that can only be selected when 0 or nullptr is passed on the LHS
with a pointer on the right.

This patch does not suppress -Wzero-as-null-pointer-constant when users
are actually using it as NULL.

PiperOrigin-RevId: 236654634
2019-03-05 08:39:34 -05:00
Abseil Team
62fc088419 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
Abseil Team
cb5ae5a326 Googletest export
Replace more pump'd code with variadic templates.

PiperOrigin-RevId: 235584585
2019-02-25 17:20:00 -05:00
Enji Cooper
b1dde73658 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
88d9e949af Googletest export
Address -Wgnu-zero-variadic-macro-arguments
Originally in OSS PR #2063 https://github.com/google/googletest/pull/2063
Fix regression in INSTANTIATE_TEST_SUITE_P macro to accept function pointers properly.

PiperOrigin-RevId: 232316698
2019-02-04 14:19:58 -05:00
misterg
0ff4c74a41 Googletest export
Mark legacy _TEST_CASE_ macros as deprecated

PiperOrigin-RevId: 232303251
2019-02-04 14:19:50 -05:00
Ashley Hedberg
658ce0249a Merge pull request #2063 from mathbunnyru:master
PiperOrigin-RevId: 231456275
2019-01-30 14:26:14 -05:00
Gennadiy Civil
b911be4d84 Merge pull request #2063 from mathbunnyru:master
PiperOrigin-RevId: 231434457
2019-01-29 14:32:06 -05:00
Ayaz Salikhov
2caf28e9c2 Fix INSTANTIATE_TEST_CASE_P with zero variadic arguments 2019-01-18 14:53:56 +03:00
misterg
b04ba50ca8 Googletest export
Replace testing::internal::ImplicitlyConvertible with std::is_convertible
Fixes #2054

PiperOrigin-RevId: 228334305
2019-01-08 11:51:05 -05:00
Abseil Team
4b698248e5 Googletest export
Fix GTEST_IS_NULL_LITERAL_ for types that have magic implicit conversions.

PiperOrigin-RevId: 227879345
2019-01-07 12:09:25 -05:00
misterg
94b4464c9e Googletest export
TestCase->TestSuite refactoring

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

PiperOrigin-RevId: 227575279
2019-01-02 16:51:40 -05:00
Abseil Team
cb1ea717e7 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
Ryohei Machida
1fa32f72a8 Merge #2002
PiperOrigin-RevId: 227030722
2018-12-27 15:31:14 -05:00
Abseil Team
4645a8b271 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
91e68fcef0 Googletest export
Internal Change

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

PiperOrigin-RevId: 223800219
2018-12-03 12:54:11 -05:00
durandal
0bd64b024a Googletest export
Accept gmock matchers in EXPECT_EXIT and friends to allow matches other than simple regex matches on death output.

PiperOrigin-RevId: 223035409
2018-11-28 23:10:17 -05:00
misterg
b1d8c3d407 Googletest export
Internal Change

PiperOrigin-RevId: 222123106
2018-11-20 13:29:55 -05:00
Robin Lindén
cbbd367bc1 Define GTEST_DISABLE_MSC_WARNINGS_PUSH/POP for all compilers 2018-11-10 15:40:57 +01:00
Robin Lindén
9ebcf21e76 Remove GTEST_HAS_HASH_SET/MAP check 2018-11-10 15:27:33 +01:00
Robin Lindén
1f17e0376a Remove workarounds for unsupported MSVC versions 2018-11-10 15:20:26 +01:00
misterg
175c9191df Googletest export
Adding GTEST_INTERNAL_DEPRECATED ability to mark deprecated

PiperOrigin-RevId: 219515184
2018-11-01 10:42:23 -04:00
misterg
3b4c2f167b Googletest export
Remove scoped_ptr replace with std::unique_ptr

PiperOrigin-RevId: 219291284
2018-10-30 21:20:43 -04:00
Gennadiy Civil
53bd2a5119 Merge pull request #1941 from barkovv:master
PiperOrigin-RevId: 219134349
2018-10-29 13:46:24 -04:00
misterg
7e9920053e Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 219129336
2018-10-29 13:46:16 -04:00
Vadim Barkov
042ea715d2 Replaced all NULLs with nullptr in googletest 2018-10-28 03:10:37 +03:00
Abseil Team
63ad9ec911 Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 218618184
2018-10-26 14:19:59 -04:00
misterg
55c37984f7 Googletest export
Remove linked_ptr and use std::shared_ptr instead

PiperOrigin-RevId: 218571466
2018-10-26 14:19:51 -04:00
Abseil Team
f557390b86 Googletest export
Change ValuesArray to require much less template instantiation depth.

PiperOrigin-RevId: 218170842
2018-10-22 11:29:14 -04:00
misterg
2ca432c90a Googletest export
New variadic implementation for gtest-param-test
Removed non-variadic implementation and added variadic for ValueArray and Values

PiperOrigin-RevId: 217703627
2018-10-18 11:32:37 -04:00
Abseil Team
b1f6f40f1a Googletest export
C++11 code cleanup.

PiperOrigin-RevId: 217364243
2018-10-18 11:32:16 -04:00
KO Myung-Hun
400d3b1a5f Merge c41b2bf861ef2ac1a975af05ff66d9256f280b01 into f203b2db77161fe54846ea9e839ebec81aeeccac
Closes #1899

PiperOrigin-RevId: 216719020
2018-10-11 13:31:25 -04:00
Abseil Team
dd4e36663c 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
443e603c40 Apply [[noreturn]] to Abort()
PiperOrigin-RevId: 216383938
2018-10-09 16:25:44 -04:00
misterg
9e5ddcbeee always define define GTEST_LANG_CXX11 1
PiperOrigin-RevId: 216184859
2018-10-08 10:51:12 -04:00
misterg
6af00517b5 Removed pre-C++11 IsContainerTest and IteratorTraits
PiperOrigin-RevId: 215916605
2018-10-05 12:54:21 -04:00