Commit Graph

448 Commits

Author SHA1 Message Date
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
misterg
80b43d900b Googletest export
Remove linked_ptr and use std::shared_ptr instead

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

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

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

PiperOrigin-RevId: 218170842
2018-10-22 11:29:14 -04:00
misterg
663ef8636a 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
29b47e45cf Googletest export
C++11 code cleanup.

PiperOrigin-RevId: 217364243
2018-10-18 11:32:16 -04:00
KO Myung-Hun
b3b19a796c Merge c41b2bf861ef2ac1a975af05ff66d9256f280b01 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
misterg
07c4753a17 Remove pre-C++11 code from gtest-printers
PiperOrigin-RevId: 215941759
2018-10-05 15:17:01 -04:00
Abseil Team
f8a1481c0a Make GTestColor and ColoredPrintF available as internal APIs from gtest.h. This is for use in abseil exception safety testing.
PiperOrigin-RevId: 215920581
2018-10-05 12:54:28 -04:00
misterg
c28ce41590 Removed pre-C++11 IsContainerTest and IteratorTraits
PiperOrigin-RevId: 215916605
2018-10-05 12:54:21 -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
1camper
bea3d61975 Merge d830440d48a9502161448bc78be33a53388dd1f4 into f5260ae757
Closes #1830

PiperOrigin-RevId: 215563532
2018-10-03 16:11:12 -04:00
Arseny Aprelev
00938b2b22 Merge 2ce0685f76a4db403b7b2650433a584c150f2108 into 75e834700d
Closes #1544
With refinements and changes

PiperOrigin-RevId: 215273083
2018-10-02 13:03:28 -04:00
Abseil Team
2b016ca493 Googletest export
Project import generated by Copybara.

PiperOrigin-RevId: 214456152
2018-09-25 13:05:37 -04:00
misterg
b2788286d1 Googletest export
Project import generated by Copybara.

PiperOrigin-RevId: 214441835
2018-09-25 13:05:25 -04:00
Abseil Team
0fc5466dbb Googletest export
Project import generated by Copybara.
Including recently accepted and merged PRs

PiperOrigin-RevId: 213856848
2018-09-25 13:05:03 -04:00
Gennadiy Civil
6596471104
Formatting 2018-09-23 09:41:12 -07:00
Gennadiy Civil
78d3bfeb44
Formatting 2018-09-23 09:34:47 -07:00
Jonny007-MKD
cecea92af8 Rename private member of AdditionalMessage
Shorten lines in unit tests
2018-09-23 15:46:47 +02:00
Jonny007-MKD
1cb10b357a Readded changes from 6494f5232b 2018-09-23 15:15:38 +02:00
Gennadiy Civil
8bf297233f
Merge pull request #1843 from matlo607/fix-unittest-msys-ColoredOutputTest
[msys] fix unittest ColoredOutputTest.UsesColorsWhenTermSupportsColors
2018-09-20 11:42:29 -04:00
misterg
8c547cff2e Googletest export
Fixing broken OSS build, add missing include

PiperOrigin-RevId: 213812210
2018-09-20 11:01:27 -04:00
Abseil Team
1b20bd176f Googletest export
support printing std::reference_wrapper<T> in gUnit

PiperOrigin-RevId: 213270392
2018-09-20 11:01:16 -04:00
Jonny007-MKD
6a1c3d9b78 Removed some newlines 2018-09-18 21:54:36 +02:00
Matthieu Longo
c9fe337ae2 [msys] fix unittest ColoredOutputTest.UsesColorsWhenTermSupportsColors 2018-09-18 18:29:42 +02:00
Jonny007-MKD
c40f55a229 Avoid these ambiguities 2018-09-15 09:00:39 +02:00
Jonny007-MKD
6494f5232b Print message of unexpected std::exception in EXPECT_THROW, too 2018-09-14 23:22:04 +02:00
Jonny007-MKD
82eeb009b2 Make it public again *sigh* 2018-09-13 14:49:15 +02:00
Jonny007-MKD
e86d1df3e1 Avoid implicit move operator 2018-09-13 14:13:23 +02:00
Jonny007-MKD
8c849c584c Try to fix gcc and clang issues 2018-09-13 13:57:27 +02:00
Jonny007-MKD
0354ccb049 Added special catch for std::exception in GTEST_TEST_NO_THROW_ 2018-09-13 10:24:10 +02:00
Gennadiy Civil
d615eebd9f
Merge branch 'master' into fix-clang-warnings 2018-08-31 10:57:16 -04:00
Dominic Sacré
13c5230bbf Add user-defined copy constructor to ValueArray
Fix Clang warning:
| warning: definition of implicit copy constructor for 'ValueArray2<bool, bool>'
| is deprecated because it has a user-declared copy assignment operator [-Wdeprecated]
2018-08-31 14:57:23 +02:00
Dominic Sacré
8f279122de Add missing declarations for Google Tests flags
Add declarations for install_failure_signal_handler and flagfile.

Fix Clang warnings:
| warning: no previous extern declaration for non-static variable
| 'FLAGS_gtest_install_failure_signal_handler' [-Wmissing-variable-declarations]
| warning: no previous extern declaration for non-static variable
| 'FLAGS_gtest_flagfile' | [-Wmissing-variable-declarations]
2018-08-31 14:57:23 +02:00
Dominic Sacré
d41f53ae78 Make dummy variables static to avoid compiler warnings
Fix -Wmissing-variable-declarations warnings from Clang.
2018-08-31 14:57:23 +02:00
Dominic Sacré
e41f38b3b7 Re-generate gtest-param-test.h from gtest-param-test.h.pump
Commit 6a26e47cfc changed the formatting
of INSTANTIATE_TEST_CASE_P() in the generated header file only.

This commit reverts to the formatting produced by running "pump
gtest-param-test.h.pump", which seems to be more consistent with the
rest of the file.
2018-08-31 14:52:42 +02:00
Abseil Team
00d1ffc8c8 Googletest export
Fix the typed test names in the tests for customized typed test parameters.

As required by googletest documentation, the names should not contain an underscore.

PiperOrigin-RevId: 210678652
2018-08-30 21:32:54 -04:00
Abseil Team
03867b5389 Googletest export
Add the possibility of specifying the name in type parameterized tests.

Similar to how the last parameter of INSTANTIATE_TEST_CASE_P allows to override the name for (non-type) parametrized tests, this adds the possibility of adding a parameter to INSTANTIATE_TYPED_TEST_CASE_P. The argument has to be a class, which contains a static templated function GetName<T>(int), returning the name for type T.

PiperOrigin-RevId: 210532231
2018-08-28 16:53:45 -04:00
Abseil Team
52f8183e7f Googletest export
Breaks Windows builds

PiperOrigin-RevId: 210434120
2018-08-28 16:53:38 -04:00
Abseil Team
167c5e8188 Googletest export
Fix Theta(N^2) memory usage of EXPECT_EQ(string) when the strings don't match.

The underlying CalculateOptimalEdits() implementation used a simple
dynamic-programming approach that always used N^2 memory and time. This meant
that tests for equality of large strings were ticking time bombs: They'd work
fine as long as the test passed, but as soon as the strings differed the test
would OOM, which is very hard to debug.
I switched it out for a Dijkstra search, which is still worst-case O(N^2), but
in the usual case of mostly-matching strings, it is much closer to linear.

PiperOrigin-RevId: 210405025
2018-08-28 16:53:30 -04:00
misterg
df428ec118 googletest export
- 209457654 Import of OSS PR, https://github.com/google/googletest/pu... by misterg <misterg@google.com>

PiperOrigin-RevId: 209457654
2018-08-20 14:50:48 -04:00
Gennadiy Civil
cda442da0b
Formatting 2018-08-17 13:44:48 -04:00
Gennadiy Civil
edc1bc606e
Merge branch 'master' into patch-1 2018-08-17 13:31:01 -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
7e7e3a6f45
Merge branch 'master' into patch-1 2018-08-15 08:37: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
c203bee245 formatting custom/README.md 2018-08-13 22:45:53 -04:00
Gennadiy Civil
9060e19c87 formatting for new READMEs 2018-08-13 16:23:17 -04:00
Gennadiy Civil
63baab8924 Move instructions into custom/README files 2018-08-13 14:31:56 -04: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
0eeb1afcac code management changes, no functionalty changes 2018-08-08 14:41:21 -04: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
ec13264af4 added missing comments 2018-07-27 15:05:20 -04:00
Gennadiy Civil
984cba30ed Formatting changes for automatic code management 2018-07-27 11:15:08 -04:00
Gennadiy Civil
6cacb41935
Merge branch 'master' into deprecate 2018-07-26 13:04:53 -04:00
Piotr Kąkol
309e8a271e Updated broken and outdated URLs 2018-07-25 19:19:26 +02:00
Gennadiy Civil
ed1edf641d Formatting changes, code sync 2018-07-25 10:24:13 -04: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
Derek Mauro
6c7878a151 Adds the UniversalPrinter for absl::variant. 2018-07-12 13:46:50 -04:00
tisi1988
de6e079f15
Merge branch 'master' into master 2018-07-12 11:06:08 +02:00
medithe
b50b2f775e
Cast the tr1::tuple_element template parameter to int
Because in `std::tr1::tuple_element` the first template parameter should be of type int (https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.4/a00547.html), but the code inserts a size_t, the first template parameter should be casted to int before, to get rid of the following errors:

googletest-src/googletest/include/gtest/gtest-printers.h:957:60: error: conversion from ‘long unsigned int’ to ‘int’ may change value [-Werror=conversion]
   struct tuple_element : ::std::tr1::tuple_element<I, Tuple> {};

and 

googletest-src/googletest/include/gtest/gtest-printers.h:961:56: error: conversion from ‘long unsigned int’ to ‘int’ may change value [-Werror=conversion]
       const typename ::std::tr1::tuple_element<I, Tuple>::type>::type get(
2018-07-09 13:36:46 +02:00
杜修杏
03ea2fdecb VS2005 with SP1(_MSC_VER=1400) already supports __pragma 2018-06-29 11:19:46 +08:00
tisi1988
dfddc98718 FIX: Compilation warning with GCC regarding a non-initialised member from MutexBase class. 2018-06-27 22:49:04 +02:00
Rohan Joyce
0563b52d3a Eliminate GTEST_TEST_FILTER_ENV_VAR_.
GTEST_TEST_FILTER_ENV_VAR_ was used to specify an environment variable to obtain
the default test filter from. By default it was unset which broke
"--test_filter" for bazel. This CL eliminates GTEST_TEST_FILTER_ENV_VAR_ and
explicitly obtains the default test filter from the environment variable
TESTBRIDGE_TEST_ONLY if it exists.
2018-06-14 15:45:55 -04:00
Gennadiy Civil
f66ab00704 Upstream, cl/199129756
Add printer for std::nullptr_t, addressing https://github.com/google/googletest/issues/1616
2018-06-04 10:45:56 -04:00
Gennadiy Civil
28c91e2cea Formatting changes 2018-05-23 11:03:31 -04:00
James Dennett
49ecebd1f2
Downgrade to C++98.
Some projects cannot handle C++11 yet.
2018-05-21 12:27:52 -07:00
James Dennett
ec2c911b33
Downgrade to C++98 code.
Some users are not ready for C++11 yet.
2018-05-21 10:59:24 -07:00
James Dennett
54e331b88b
Add support for versioned standard libraries.
This canonicalizes demangled names by omitting a nested inline namespace within namespace std if the name of the nested namespace begins with a double underscore.  This improves compatibility with libc++.
2018-05-10 22:39:19 -07:00
James Dennett
fc66ae45fc
Update generated code. 2018-05-10 22:36:50 -07:00
Fabrice de Gans-Riberi
13af91faff Fix more stuff and get tests to pass 2018-05-03 12:06:45 -07:00
Fabrice de Gans-Riberi
d4b5281d11 Add Fuchsia support for death test. 2018-05-01 16:22:09 -07:00
Gennadiy Civil
6f9db26159 merging 2018-04-10 16:34:21 -04:00
Gennadiy Civil
9bc82ce725 merging 2018-04-10 16:22:50 -04:00
Gennadiy Civil
39c58da187 merge 2018-04-10 16:10:34 -04:00
Gennadiy Civil
e1071eb949 RE-Doing the merge, this time with gcc on mac in the PR so I can catch errors before merging the PR 2018-04-10 15:57:16 -04:00
Gennadiy Civil
ca54b67303
Revert "gmock actions 2" 2018-04-09 22:10:12 -04:00
Gennadiy Civil
c1d4c34233 this should be it 2018-04-09 16:13:45 -04:00
Gennadiy Civil
f5871009e6 yet more 2018-04-09 16:04:48 -04:00
Gennadiy Civil
05b5a53898 formatting 2018-04-09 15:50:19 -04:00
Gennadiy Civil
57d6e824b4 more 2018-04-09 15:33:56 -04:00
Gennadiy Civil
cb13dc759c more warnings 2018-04-06 11:26:12 -04:00
Gennadiy Civil
d9f3611a22 more MSVC warnings 2018-04-06 11:17:45 -04:00
fo40225
a0c27bd8a5 fix build break on locale windows 2018-04-04 23:16:16 +08:00
Gennadiy Civil
a2dd136578 merging port, cont. 191443078 2018-04-03 11:38:30 -04:00
Gennadiy Civil
aa349acb07 merging, cont - 2 2018-04-03 11:23:54 -04:00
Gennadiy Civil
2cedd5b9c1 merging gtest-port.h , 191439094 2018-04-03 11:06:20 -04:00
Gennadiy Civil
04d1e56bd2 merging, just comments format 2018-04-03 09:56:23 -04:00
Gennadiy Civil
5beb452bbe testing, merge 2018-04-03 09:45:49 -04:00
Gennadiy Civil
df5a48da03 Testing, gtest-port.h merge 2018-04-03 09:31:10 -04:00
Gennadiy Civil
87a4cdddd0 merging gtest-port.h, again - 1 2018-04-02 14:22:24 -04:00
Gennadiy Civil
b2373c6f51
Revert "merging gtest-port 1 of N" 2018-03-29 13:28:29 -04:00
Gennadiy Civil
54bb165ffd
Revert "merging gtest-port, 2" 2018-03-29 13:27:11 -04:00
Gennadiy Civil
8e0364a37b merging gtest-port, 2 2018-03-29 09:46:13 -04:00
Gennadiy Civil
aea6fc32aa merging gtest-port 1 of N 2018-03-27 15:19:40 -04:00
Gennadiy Civil
3df7cbe6f7 merges, gtest 2018-03-26 13:04:28 -04:00
Gennadiy Civil
0f6567954f more merges 2018-03-22 10:56:35 -04:00
Gennadiy Civil
691e38e518 More merges 2018-03-21 16:31:31 -04:00
Gennadiy Civil
a3c2e107ae cl 189032107, again 2018-03-16 15:56:31 -04:00
Gennadiy Civil
080fcbe0aa cl 189032107 2018-03-16 13:36:36 -04:00
Gennadiy Civil
a178cc7ef7 merge, again, IsRecursiveContainer 2018-03-15 14:31:37 -04:00
Gennadiy Civil
2814b4b089 merging, merging 2018-03-13 16:02:05 -04:00
Gennadiy Civil
5461f63d01 Merge branch 'master' of https://github.com/google/googletest 2018-03-13 11:13:58 -04:00
Gennadiy Civil
af463c43ac More merges, removing old dead code 2018-03-13 11:13:37 -04:00
Bernhard Bauer
fc437ef4b2
Merge branch 'master' into upstream_188748737 2018-03-12 18:15:35 +00:00
Bernhard Bauer
7b70413e0c Allow macros inside of parametrized test names.
This allows doing things like TEST_P(TestFixture, MAYBE(TestName))
for nicer conditional test disabling.

Upstream of cr/188748737.

Tested:
Added unit tests MacroNamingTest and MacroNamingTestNonParametrized.
2018-03-12 18:14:06 +00:00
Gennadiy Civil
cf9d6344d2 merges-port(1) 2018-03-12 11:51:44 -04:00
Gennadiy Civil
89d6f70f34 merges-8 2018-03-05 15:53:36 -05:00
Gennadiy Civil
0d5e01ad7b Merges-1 2018-03-05 12:26:15 -05:00
Gennadiy Civil
ce61dc54a2
Merge pull request #1423 from pcc/win-libcxx2
Use _CPPUNWIND instead of _HAS_EXCEPTIONS with MSVC.
2018-02-27 14:00:29 -05:00
Victor Costan
84ec2e0365 Switch default death test style back to "fast".
Google Test has recently (02/09/2018) switched the default death test
style from "fast" to "threadsafe" in
ec7faa943d

Threadsafe death tests have been used internally for a while, and are
proven to be a better default.

However, adopting this better default can be challenging for large
projects with a significant investment in custom infrastructure built on
top of Google Test. The same custom infrastructure can make it difficult
for large projects to switch back to the old default by passing in
--gtest_death_test_style=fast.

For the reasons above, the default switch is considered too disruptive,
and this CL reverts it. This CL also introduces the
GTEST_DEFAULT_DEATH_TEST_STYLE preprocesor macro, which replaces the
hard-coded default. The macro can be defined in
gtest/internal/custom/gtest-port.h by projects that are ready to migrate
to thread-safe death tests.
2018-02-27 07:50:03 -08:00
Gennadiy Civil
d4f77c1e3a
Merge branch 'master' into win-libcxx2 2018-02-27 10:00:29 -05:00
Anders Sundman (asum)
11e1dd257b Removed trailing comma in enum 2018-02-23 14:55:24 +01:00
Gennadiy Civil
a3e322b24f cleanup, merges 2018-02-13 15:25:57 -05:00
Gennadiy Civil
09581b3852 cleanup/merges 2018-02-13 14:56:05 -05:00
Gennadiy Civil
575c081227 merging 2018-02-09 17:45:10 -05:00
Gennadiy Civil
49fc378e0a merges 2018-02-09 16:02:17 -05:00
Gennadiy Civil
b324a36c35
Merge branch 'master' into assert 2018-02-09 11:42:05 -05:00
Gennadiy Civil
22a115055a
Merge pull request #1446 from tholsapp/master
Fixed typos
2018-02-09 11:34:26 -05:00
Gennadiy Civil
ec7faa943d merges 2018-02-09 10:41:09 -05:00
Troy Holsapple
c8510504dd Fixed typos 2018-02-07 22:06:00 -08:00
Alexey Sokolov
092d088533 Add ability to throw from ASSERT
while not losing benefits of EXPECT, and not killing the whole test,
as with --gtest_throw_on_failure.

183822976
2018-02-08 01:15:42 +00:00
Gennadiy Civil
e6ec8bc52f Merges and also adding new bazel build mode 2018-01-31 12:05:18 -05:00
Gennadiy Civil
e55fded0c8 Code merges 2018-01-30 17:34:22 -05:00
Gennadiy Civil
2a4683021a Ability to optionally depend on Abseil plus upstream of 183716547 2018-01-30 11:42:03 -05:00
Peter Collingbourne
3498a1ac52 Use _CPPUNWIND instead of _HAS_EXCEPTIONS with MSVC.
_HAS_EXCEPTIONS is specific to the MSVC STL and defining it to 0 causes
problems with libc++, so libc++ users may leave it undefined. This can
cause GTEST_HAS_EXCEPTIONS to be defined incorrectly if the user has
disabled exceptions via the compiler, which can lead to build errors.

_CPPUNWIND is a builtin macro provided by the compiler so it should
work with both STLs.
2018-01-25 14:15:43 -08:00
Gennadiy Civil
e29805aa5d upstream cl 182543808 2018-01-24 13:04:36 -05:00
Gennadiy Civil
ad0146bfe2
Merge branch 'master' into win-libcxx 2018-01-23 12:32:44 -05:00
Gennadiy Civil
f1c87ad9f5 merges, cl/155419551 and other 2018-01-22 15:20:19 -05:00
Gennadiy Civil
1489dc8daa
Merge branch 'master' into support_xboxone 2018-01-18 17:42:34 -05:00
Gennadiy Civil
20b53ad786
Merge branch 'master' into win-libcxx 2018-01-18 17:41:36 -05:00
Peter Collingbourne
ba99a04be2 Check whether _MSC_VER is defined when detecting presence of cxxabi.h under libc++.
If _MSC_VER is defined, it means that we are using the Microsoft
ABI, so cxxabi.h (which is associated with the Itanium ABI) will not
be available.
2018-01-17 20:29:10 -08:00
Fedor Trushkin
9c82e7745c Expose ScopedTrace utility in public interface 2018-01-17 16:41:59 +01:00
Gennadiy Civil
08b323f717 Reverting some changes, need to make the merge compile 2018-01-15 18:16:11 -05:00
Gennadiy Civil
9195571c69 Reverting some changes, need to make the merge compile 2018-01-15 17:39:33 -05:00
Gennadiy Civil
6d04de7419 Reverting some changes, need to make the merge compile 2018-01-15 17:36:45 -05:00
Gennadiy Civil
b9e297838d Reverting some changes, need to make the merge compile 2018-01-15 17:34:46 -05:00
Gennadiy Civil
d629744ec0 More code merges 2018-01-15 16:23:23 -05:00
Gennadiy Civil
da1f7fe1e7 Code merging 2018-01-15 16:06:32 -05:00
gpetit
33d73d42b4 Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne 2018-01-12 10:20:26 -05:00
Gennadiy Civil
93b77987f5 continue upstream/merge, etc 2018-01-11 17:36:34 -05:00
Gennadiy Civil
6914ae2394 Upstream cl 103120214 2018-01-11 11:31:23 -05:00
Gennadiy Civil
1d757db65c More merge, cleanup 2018-01-10 16:49:20 -05:00
Gennadiy Civil
481fe9446a More merge, cleanup 2018-01-10 16:45:59 -05:00
Gennadiy Civil
6a26e47cfc Code merge, upstreaming accumulated changes, cleanup 2018-01-10 14:42:29 -05:00
Gennadiy Civil
62dbaa2947 revert 2018-01-10 14:00:52 -05:00
Gennadiy Civil
d630a8bdac code merges, cleanup 2018-01-10 13:58:00 -05:00
Gennadiy Civil
d237297ceb code merge, cleanups 2018-01-09 22:46:17 -05:00
Gennadiy Civil
2ad5661db2 Upstream of cl 129104714 2018-01-09 16:41:15 -05:00
Gennadiy Civil
5eecadf67a Revert one file 2018-01-09 15:46:44 -05:00
Gennadiy Civil
9fce984a67 wip, cleanups/merge 2018-01-09 14:48:06 -05:00
Gennadiy Civil
258fd6e168 cleanup, merge 2018-01-09 13:59:27 -05:00
Gennadiy Civil
6b4967a23a
Merge branch 'master' into missing-declarations 2018-01-04 22:01:38 -05:00
David Benjamin
1acf8c752e Also define GTEST_ATTRIBUTE_PRINTF_ in clang-cl.
clang-cl is clang for Windows running in MSVC mode. Chromium uses it for
Windows builds. clang-cl is weird in that it defines __clang__ and
_MSC_VER, but *NOT* __GNUC__. This is vaguely analogous to how normal
clang defines __clang__ (what it is) and __GNUC__ (what it is compatible
with).

However, clang-cl still implements most GCC extensions, being clang.
Notably, the way to control -Wformat-literal is still with
__attribute__((__format__)). For better error-checking and strict
-Wformatl-literal compatibility (see
53c478d639), define
GTEST_ATTRIBUTE_PRINTF_ in clang-cl too.
2018-01-03 14:55:52 -05:00
David Benjamin
b3d9be5c1d Pass the -Wmissing-declarations warning.
This makes it easier to use GTest in projects that build with the
-Wmissing-declarations warning. This fixes the warning in headers and
source files, though not GTest's own tests as it is rather noisy there.
2018-01-03 14:50:22 -05:00
Gennadiy Civil
ba6ecedede
Merge pull request #1374 from davidben/tuple-msvc
Fix testing::Combine on MSVC 2017.
2018-01-03 14:11:38 -05:00
David Benjamin
90244a6aef Fix testing::Combine on MSVC 2017.
On platforms with std::tuple and not std::tr1::tuple, GTEST_HAS_COMBINE
gets turned off when it works fine (due to GTEST_TUPLE_NAMESPACE_).
Elsewhere in the project, several GTEST_HAS_TR1_TUPLE checks
additionally check GTEST_HAS_STD_TUPLE_, so use that formulation.

(The ones that don't are specific to std::tr1::tuple and are followed by
an identical GTEST_HAS_STD_TUPLE_ version underneath it.)

In particular, this fixes testing::Combine on MSVC 2017, which regressed
here:
https://github.com/google/googletest/pull/1348#issuecomment-353879010
2018-01-02 12:57:49 -05:00
Gennadiy Civil
fa6730103e
Merge branch 'master' into uintptr 2018-01-02 10:54:26 -05:00
David Benjamin
bcd35523cd Avoid warning C4619 in MSVC 2017.
C4800 has since been removed in MSVC 2017, so trying to silence it
throws warning C4619 when enabled.
2017-12-25 11:02:02 -05:00
Gregory Pakosz
7990f56637 Re-enable MSVC++ C4389 warning in CmdHelperEq()
C4389 was inhibited in commit 4b83461 making behavior inconsistent with
other compilers.
2017-12-21 16:35:38 +01:00
Gennadiy Civil
a7fceb4a98
Update gtest-param-test.h.pump 2017-12-19 10:58:37 -05:00
Gennadiy Civil
8a48f0ed4e
Update gtest-param-test.h.pump 2017-12-19 10:55:49 -05:00
Gennadiy Civil
55fca1937d
Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-12-09 09:41:02 -05:00
Wojciech Mamrak
57bb0bbbf8
Remove C4996 warning in VS2017 2017-12-07 18:20:25 +01:00
Gennadiy Civil
49eb76df47
Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-11-07 10:32:23 -08:00
m-gupta
060783b7d2 Merge branch 'master' into gtestapifix 2017-10-25 10:24:56 -07:00
Arkadiy Shapkin
77380cddf7 Enable C++11 features for VS2015 and VS2017 2017-10-25 03:24:49 +03:00
Manoj Gupta
1beff241c3 googletest: Add GTEST_API_ attribute to ThreadLocal class.
ThreadLocal class needs to be have default visibility.
Root cause is gtest uses typeinfo for the ThreadLocal class.
The problem manifests When gtest/gmock are built as a shared library
with libc++. When a class is used in typeinfo, it must have default
visibility.

There is an explanation about typeinfo and visibility here:
https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html

When libc++ is used with gtest in shared library mode, any tests
that are compiled with -fvisibility=hidden and exercise the
macro EXPECT_CALL, it results in an abort like:
[ FATAL ] /usr/include/gtest/internal/gtest-port.h:1394::
Condition typeid(*base) == typeid(Derived) failed.
This is because the typeinfo for ThreadLocal class is not visible.
Therefore, linker failed to match it to the shared library symbol, creating a
new symbol instead.

This fixes https://github.com/google/googletest/issues/1207.
2017-10-20 14:41:06 -07:00
Herbert Thielen
ceee80c383 Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-10-04 21:03:47 +02:00
Jonathan Wakely
b70cf1a663 Use gender-neutral pronouns in comments and docs 2017-09-27 13:31:13 +01:00
Herbert Thielen
98024ad202 Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-09-24 10:01:52 +02:00
Gennadiy Civil
89f45180e0 Merge branch 'master' into master 2017-09-23 16:51:27 -04:00
Gennadiy Civil
d30a37e743 Revert "Allow macros inside of parametrized test names." 2017-09-21 10:54:14 -04:00
Gennadiy Civil
ff6796877f Merge pull request #1245 from sheepmaster/2017_09_04_parametrized
Allow macros inside of parametrized test names.
2017-09-21 10:52:47 -04:00
stkhapugin@chromium.org
cf512a099c Swap reinterpret_cast for static_cast
Swap reinterpret_cast for static_cast
2017-09-19 12:44:52 +02:00
Benjamin Kircher
d4af64ca13 Remove redundant declaration
TempDir() function is declared twice, once in `internal/gtest-port.h`
and a second time in `gtest.h`.

Fixes a warning with GCC when -Wredundant-decls is given.
2017-09-16 11:51:36 +02:00
Stepan Khapugin
9a8794faed add a cast 2017-09-05 14:10:53 +02:00
Herbert Thielen
aa0b5458a1 remove GTEST_HAS_PARAM_TESTS
As mentioned in issue #360:
"Now that all the platforms gtest supports work with value-parameterized
tests, we should remove the uses of the GTEST_HAS_PARAM_TESTS macro from
the codebase everywhere."
https://github.com/google/googletest/issues/360
2017-09-04 19:38:35 +02:00
Bernhard Bauer
e7c9e80e63 Allow macros inside of parametrized test names.
This allows doing things like TEST_P(TestFixture, MAYBE(TestName)) for nicer conditional test disabling.
2017-09-04 15:46:31 +01:00
Scott Graham
c3d1d33560 Detect Fuchsia, and set GTEST_HAS_PTHREAD on GTEST_OS_FUCHSIA 2017-08-29 12:45:26 -07:00
Daniel Krügler
8304d06199 Merge branch 'master' into master 2017-08-21 20:14:09 +02:00
Gennadiy Civil
673c975a96 Merge pull request #905 from iignatev/master
enable null detection on Solaris Studio 12u4+
2017-08-13 21:34:10 -04:00
Gennadiy Civil
c523461f3a Merge pull request #937 from srz-zumix/fix-gtest-port-typo
Fix or condition typo ( '|' -> '||' )
2017-08-10 21:30:13 -04:00
drgler
71ca4bae10 Infinite Loop when calling a mock function that takes boost::filesystem::path as parameter #521: Add is_same type trait and prevent infinite loops for recursive containers 2017-08-09 19:08:22 +02:00
David Benjamin
ca6a70c608 Pass MSVC's C4826 warning.
MSVC has an optional warning which flags when 32-bit pointers get cast
into a 64-bit value. This is a little overaggressive I think, but to
ease compiling in projects with aggressive warnings, fix this by just
casting to const void * directly. Modern GCCs seem to compile it just
fine.
2017-08-07 14:56:40 -04:00
Billy Donahue
4bab34d208 Merge pull request #1081 from krytarowski/netbsd-1
Add NetBSD support
2017-06-23 19:35:25 -04:00
Billy Donahue
c2d90bddc6 Create gtest-internal.h 2017-06-11 18:34:04 -04:00
Billy Donahue
42bc671f47 Merge pull request #1091 from nico/wmicro
Fix -Wmicrosoft-cast warnings when using gtest with clang on Windows.
2017-05-23 11:10:42 -04:00
Gennadiy Civil
76491b74de Changes add ability to overwrite TempDir(), issue https://github.com/google/googletest/issues/1093 2017-05-18 10:19:28 -04:00
Billy Donahue
7cc548dcbf Merge pull request #1089 from nico/stdstring
Use std::string and ::string explicitly in gtest and gmock code.
2017-05-16 17:00:03 -04:00
Billy Donahue
078d5d930a Merge pull request #1090 from nico/typo
Fixing typo in documentation.
2017-05-15 23:54:23 -04:00
Nico Weber
e1466ba4fe Gender-neutralize comments in gtest.h.
This merges a Google-internal change.
2017-05-15 18:00:29 -04:00
Nico Weber
09fd5b3ebf Use std::string and ::string explicitly in gtest and gmock code.
This merges a Google-internal change (117235625).

Original CL description:
This CL was created manually in about an hour with sed, a Python script
to find all the places unqualified 'string' was mentioned, and some help
from Emacs to add the "std::" qualifications, plus a few manual tweaks.
2017-05-15 17:53:04 -04:00
Nico Weber
b2cbbec04c Fix -Wmicrosoft-cast warnings when using gtest with clang on Windows.
This upstreams a Google-internal change.

Original CL description:
The C++ standard says that function pointers are not implicitly
convertible to object pointers. Visual Studio disregards that and allows
implicit conversion between function pointers and object points, and
enough code relies on this that clang follows suit in
Microsoft-compatibility mode.

However, clang emits a -Wmicrosoft-cast warning when such a conversion
is done:

E:\b\c\b\win_clang\src\sandbox\win\src\sync_dispatcher.cc(42,7):
    warning: implicit conversion between pointer-to-function and
             pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]

This change fixes this warning in gtest, while hopefully not changing
any behavior. The change does two things:

1. It replaces the if in DefaultPrintTo with SFINAE
2. In C++11 mode, it uses enable_if<is_function<>> instead of
   ImplicitlyConvertible<T*, const void*> to check if the
   explicit cast is needed.

With this change, functions will use the branch with the reintpret_casts
with Visual Studio and clang/win, and clang no longer needs to warn
that it implicitly converts a function pointer to a void pointer.
2017-05-15 17:21:25 -04:00
Nico Weber
6c0c8a7ea5 Fixing typo in documentation.
This upstreams a Google-internal change.
2017-05-15 17:12:19 -04:00
Billy Donahue
8c7f93feda Merge pull request #1078 from pwnall/gtest_api_port
Pick up GTEST_API_ definition in gtest/internal/custom/gtest-port.h.
2017-05-10 22:10:01 -04:00
Billy Donahue
887d569eb0 Merge pull request #965 from davidben/format-attr
Annotate ColoredPrintf with the format attribute and fix bugs.
2017-05-07 01:07:16 -04:00
Kamil Rytarowski
fac0dfbe73 Add NetBSD support
NetBSD is a modern UNIX-like Operating System.

Enable GTEST_HAS_PTHREAD and GTEST_HAS_DEATH_TEST on NetBSD.
2017-05-06 04:18:58 +02:00
Victor Costan
b7cf4414d9 Pick up GTEST_API_ definition in gtest/internal/custom/gtest-port.h.
This makes it possible for a port to define the specifier used for
exported symbols without having to change Google Test.
2017-05-04 10:19:47 -07:00
Billy Donahue
0ad83afdaa Merge pull request #1034 from dankegel/master
Minimal changes to fix build failures on Microsoft Visual Studio 2015
2017-05-02 14:53:21 -04:00
Gennadiy Civil
611e8a99de Changes to make TempDir() public
Fixes #1076.
2017-05-02 14:16:11 -04:00
Dan Kegel
518e0519ca Minimal changes to fix build failures on Microsoft Visual Studio 2015
Fixes the following errors:

hash_map(17): error C2338: <hash_map> is deprecated and will be REMOVED. Please use <unordered_map>. You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning. [googlemock\gtest\gtest-printers_test.vcxproj]
hash_set(17): error C2338: <hash_set> is deprecated and will be REMOVED. Please use <unordered_set>. You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning. [googlemock\gtest\gtest-printers_test.vcxproj]
googletest\test\gtest_catch_exceptions_test_.cc(152): error C2220: warning treated as error - no 'object' file generated
googletest\test\gtest_catch_exceptions_test_.cc(152): warning C4297: 'CxxExceptionInDestructorTest::~CxxExceptionInDestructorTest': function assumed not to throw an exception but does
  googletest\test\gtest_catch_exceptions_test_.cc(152): note: destructor or deallocator has a (possibly implicit) non-throwing exception specification

There were already some checks for _MSC_VER in the code, so this commit
continues in that vein.
2017-03-01 18:40:48 -08:00
srz_zumix
9655b9f53d fix typo /GTEST_ATTRIBUTE_UNUSED/GTEST_ATTRIBUTE_UNUSED_/ 2017-02-03 08:05:22 +09:00
Mike Bjorge
06a81e9357 Add GTEST_ATTRIBUTE_UNUSED_ to REGISTER_TYPED_TEST_CASE_P
If REGISTER_TYPED_TEST_CASE_P is included in a header file, but
the .cc file does not declare INSTANTIATE_TYPED_TEST_CASE_P, an
unused-variable warning may be raised by the compiler.
2017-01-09 16:02:55 -08:00
David Benjamin
53c478d639 Annotate ColoredPrintf with the format attribute and fix bugs.
googletest doesn't currently build with clang's very aggressive
-Wformat-nonliteral warning. It requires that all non-literal format
strings come from the argument of a function annotated with a compatible
format attribute.

Fixing that reports that ColoredPrintf's callers weren't passing the
normal -Wformat warning. Some messages were passed directly into the
format string rather than via "%s".
2016-12-21 20:57:21 -05:00
srz_zumix
75b683df46 Fix or condition typo ( '|' -> '||' ) 2016-11-11 12:21:56 +09:00
Billy Donahue
a2b8a8e076 Merge pull request #918 from DanAlbert/fix-android-GTEST_HAS_CLONE
Fix detection of GTEST_HAS_CLONE for Android.
2016-11-03 16:36:28 -04:00
Dan Albert
4eafafbde5 Fix detection of GTEST_HAS_CLONE for Android.
This was not in Gingerbread for anything but ARM (even though the
libs were hacked to lie about it being available in gingerbread).
2016-11-01 06:37:49 -07:00
iignatev
7fbc5986cc enable null detection on Solaris Studio 12u4+ 2016-10-17 20:49:59 +03:00
Arkadiy Shapkin
d8fe70f477 Fix build with MinGW-w64 2016-09-05 00:57:49 +03:00
Billy Donahue
ed9d1e1ff9 Merge pull request #721 from ilmagico/fix-mingw-threads
Fix compilation of googletest with MinGW using Win32 threads
2016-08-24 08:15:38 -04:00
Billy Donahue
ce7ec96eda Rollback change #808. 2016-06-26 18:33:10 -04:00
David Mott
2489c30747 Fix to tests that return object which implement operator bool 2016-06-25 16:21:09 -05:00
David Mott
e35015f539 fix to operator precedence in GTEST_TEST_BOOLEAN_ with expressions that implement operator bool 2016-06-25 15:41:19 -05:00
Billy Donahue
72416fab75 Merge pull request #724 from duggelz/master
Read Bazel's $XML_OUTPUT_FILE environment variable
2016-03-15 18:20:27 -04:00
Doug Greiman
5db9cbbc23 Restructure $XML_OUTPUT_FILE logic 2016-02-26 14:26:23 -08:00
Doug Greiman
12b2f23e8e Fix inconsistent style 2016-02-25 19:03:46 -08:00
Doug Greiman
d6790f26ca Read Bazel's $XML_OUTPUT_FILE environment variable
If $XML_OUTPUT_FILE is set, and $GTEST_OUTPUT and --gtest_output are not
specified, produce output as if GTEST_OUTPUT=xml:$XML_OUTPUT_FILE had
been set.
2016-02-23 18:50:08 -08:00
Daniele Tamino
9759dcda3c Fix compilation on MinGW with native threads 2016-02-22 14:07:12 -08:00
Alexey Sokolov
f364e18837 Change error message of EXPECT_EQ to treat lhs and rhs equivalently. 2016-02-16 23:32:01 +00:00
Dawid Kurek
ac35fe7359 Update GTEST_PROJECT_URL_ in internal/gtest-port.h
As repository moved to github. All urls need to be changed. There is
still plenty to do.
2015-12-23 09:49:14 +01:00
Patrick J. LoPresti
f44190f2c4 Fix missing-field-initializers GCC/Clang warning (issue 433). 2015-11-24 10:45:16 -08:00
Billy Donahue
5bd7c2b589 Merge pull request #611 from mark-chromium/gmock_cxx11
googlemock: Support C++11 language with pre-C++11 library
2015-11-10 17:47:45 -05:00
Dominic Meiser
bb5c92f9d1 Fix definition of GTEST_API_ macro for gcc and clang [#451].
This is to enable using gtest with -fvisibility=hidden.
2015-10-29 21:55:46 -06:00
Mark Mentovai
a0435dc687 googlemock: Support C++11 language with pre-C++11 library
This guards use of <type_traits> and its features with
GTEST_HAS_STD_TYPE_TRAITS_, and std::function with
GTEST_HAS_STD_FUNCTION_.
2015-10-12 17:59:11 -04:00
Billy Donahue
1f87a0970d Move everything in googletest into googletest/googletest 2015-08-25 16:18:00 -04:00