Commit Graph

61 Commits

Author SHA1 Message Date
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
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