Commit Graph

142 Commits

Author SHA1 Message Date
Gennadiy Civil
e77deb29a6 small cleanup 2018-04-12 09:12:02 -04:00
Victor Costan
1324e2d706 Remove multiple inheritance from "unintesting call" mock classes.
Internal CL 156157936, which was published in commit
fe402c2779, introduced undefined behavior
by casting a base class (internal::{Naggy,Nice,Strict}Base<MockClass>,
using the curiously recurring template pattern) pointer to a derived
class ({Naggy,Nice,Strict}Mock<MockClass>), in the base class'
constructor. At that point, the object isn't guaranteed to have taken on
the shape of the derived class, and casting is undefined behavior.

The undefined behavior was caught by Chrome's CFI build bot [1], and
prevents rolling googletest past that commit / CL.

This commit simplifies the {Naggy,Nice,Strict}Mock class hierarchy in
a way that removes the undefined behavior.

[1] https://www.chromium.org/developers/testing/control-flow-integrity
2018-04-12 00:48:30 -07:00
Gennadiy Civil
6a7573a7de more 2018-04-11 09:55:36 -04:00
Gennadiy Civil
039d9b54c2 pizza work, cont 2018-04-11 09:47:38 -04:00
Gennadiy Civil
f15fd9610b osx pizzas, cont 2018-04-11 09:33:51 -04:00
Gennadiy Civil
b15be9a819 fixing osx pizza 2018-04-11 09:20:48 -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
64d24b810f ... and this 2018-04-09 16:24:30 -04:00
Gennadiy Civil
05b5a53898 formatting 2018-04-09 15:50:19 -04:00
Gennadiy Civil
2de24fbf7a tuning 2018-04-09 15:39:12 -04:00
Gennadiy Civil
055f32199a tuning 2018-04-09 15:38:38 -04:00
Gennadiy Civil
44da2b9ac5 cont 2018-04-09 15:23:00 -04:00
Gennadiy Civil
e93a0ece26 msvc 2018-04-09 13:51:01 -04:00
Gennadiy Civil
c4684b49cf more msvc 2018-04-09 12:03:40 -04:00
Gennadiy Civil
431bfdcaf4 msvc 14 2018-04-09 11:48:02 -04:00
Gennadiy Civil
8bc7c631e8 testing msvc again 2018-04-09 11:35:01 -04:00
Gennadiy Civil
c4e3d77ddc More msvc 14 2018-04-09 11:22:11 -04:00
Gennadiy Civil
5fe8de5ded more warnings 2018-04-06 11:40:04 -04:00
Gennadiy Civil
88fc7d7552 merging gmock-actions 2 2018-04-06 09:50:01 -04:00
Gennadiy Civil
fe402c2779 Merging gMock, 2 2018-04-05 16:09:17 -04:00
Gennadiy Civil
7045138a0d Have to wait for this one 2018-04-05 11:59:59 -04:00
Gennadiy Civil
66eaf9f0eb Have to wait for this one 2018-04-05 11:55:25 -04:00
Gennadiy Civil
af93d59eb7 Merging matchers test 2018-04-05 11:35:20 -04:00
Gennadiy Civil
0cd6a4f5f5 Merging matchers test 2018-04-05 11:34:19 -04:00
Gennadiy Civil
d81b6a0c4c bad cut/paste 2018-04-04 15:46:04 -04:00
Gennadiy Civil
a608d4a362 More on MSVC warning C4503, decorated name length exceeded 2018-04-04 15:44:27 -04:00
Gennadiy Civil
6f4e93943a More on MSVC warning C4503, decorated name length exceeded 2018-04-04 15:29:05 -04:00
Gennadiy Civil
5b3d27729b Address MSVC warning C4503, decorated name length exceeded, name was truncated 2018-04-04 15:07:52 -04:00
Gennadiy Civil
aa14cc4285 Fixing build break on MSVC 2018-04-04 14:48:06 -04:00
Gennadiy Civil
e55089ec11 merging gmock matchers 1 2018-04-04 14:05:00 -04:00
Gennadiy Civil
b7c568326c merging, gmock -1 2018-03-22 15:35:37 -04:00
Gennadiy Civil
af463c43ac More merges, removing old dead code 2018-03-13 11:13:37 -04:00
Gennadiy Civil
a518bd5cf2 Merge branch 'master' of https://github.com/google/googletest 2018-03-05 12:26:24 -05:00
Gennadiy Civil
0d5e01ad7b Merges-1 2018-03-05 12:26:15 -05:00
Gennadiy Civil
f8fbe1c821
Merge branch 'master' into unsigned-wchar 2018-03-01 11:18:17 -05:00
Xiaoyi Zhang
576d689c19
Merge branch 'master' into variant_matcher 2018-02-27 16:03:36 -05:00
Gennadiy Civil
2bd1750ba7 gmock merging -2 2018-02-27 13:51:09 -05:00
Xiaoyi Zhang
190e2cdd0b Add matcher for std::variant. 2018-02-27 11:36:21 -05:00
Scott Graham
567b40eeb1 Try to handle unsigned wchar_t (arm) a bit better 2018-02-23 12:28:09 -08:00
Gennadiy Civil
225e6741ac moving JoinAsTuple to internal 2018-02-12 16:42:12 -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
Gennadiy Civil
6c0c389601 Adding tests to googlemock bazel 2018-01-26 16:30:57 -05:00
Gennadiy Civil
fbb48a7708 Code merges 2018-01-26 11:57:58 -05:00
Loo Rong Jie
cbd15d417e [Bazel] Detect Windows with cpu value x64_windows and x64_windows_msvc
and x64_windows_msvc
2018-01-09 08:29:44 +08:00
Gennadiy Civil
6b4967a23a
Merge branch 'master' into missing-declarations 2018-01-04 22:01:38 -05:00
Gennadiy Civil
1c09831acc upstreaming cl 124976692 2018-01-03 16:57:05 -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
Carlos O'Ryan
cf3adad594
Add licenses() directive for googlemock/tests.
Without the directive embedding googletest into third_party breaks
any //... target.
2017-12-08 12:08:25 -05:00
Arkady Shapkin
840c711e7b Fix gmock tests when std::unary_function unavailable 2017-10-25 16:04:01 +03:00
Arkadiy Shapkin
2641b021fc Fix tests with VS2015 and VS2017 2017-10-25 16:04:01 +03:00
Jonathan Wakely
b70cf1a663 Use gender-neutral pronouns in comments and docs 2017-09-27 13:31:13 +01:00
Alyssa Wilk
fa5d3b3845 Applying lint checks from upstream google3 2017-08-28 16:13:41 -04:00
Alyssa Wilk
c00373320d Merge branch 'refs/heads/master' into flag-default 2017-08-28 16:10:12 -04:00
Roman Perepelitsa
966b549c88 Support ref-qualified member functions in Property(). 2017-08-22 16:06:26 +02:00
Maurice Gilden
1ee8079651 Remove unused variable 2017-08-21 10:10:14 +02:00
Gennadiy Civil
3cf65b5d86 Added "explicit" as per compiler suggestion 2017-08-20 15:20:13 -04:00
Gennadiy Civil
026735daf3 Proposing these changes, please review
Slightly better names and cleaner tests.
Please review
2017-08-20 15:15:31 -04:00
Maurice Gilden
b0ed43e724 Change tabs to spaces in test case 2017-08-18 15:27:02 +02:00
Maurice Gilden
36777251c0 Switch return type to class without default constructor 2017-08-18 12:28:50 +02:00
Maurice Gilden
cc99900036 Fix test if exceptions are not supported 2017-08-18 11:46:15 +02:00
Maurice Gilden
95f18d9938 adds test for NiceMock with unknown return value 2017-08-18 11:21:28 +02:00
Alyssa Wilk
a2803bc37d Handling invalid flag values 2017-08-16 12:43:26 -04:00
Gennadiy Civil
e578186528 Merge pull request #1191 from gennadiycivil/master
Adding Bazel build to googletest (initial version )
2017-08-10 20:35:27 -04:00
misterg
cb5b05436d Added Copyright 2017-08-10 12:03:27 -04:00
misterg
b98e30b427 Initial Revision, review 164634031 2017-08-10 11:54:46 -04:00
Alyssa Wilk
6e1970e237 Adding a flag option to change the default mock type 2017-08-10 09:41:09 -04:00
misterg
66a036959f WIP 2017-08-09 14:37:58 -04:00
misterg
5a5e3c17bb Added googlemock tests 2017-08-09 12:18:12 -04:00
misterg
4f5c01b4c9 Added googlemock tests 2017-08-09 12:15:00 -04:00
Shlomi Fish
aac403334d Correct some typos in a comment 2017-08-04 10:39:35 +03:00
Gennadiy Civil
0cb2eeb5f1 Merge pull request #764 from flyd1005/wip-fix-typo
remove duplicated words
2017-08-02 17:04:33 -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
mazong1123
dc2dbf1fbf Reformatted the Unprintable operator== code style. 2016-07-14 16:49:42 +08:00
mazong1123
531bf5c410 Fixed issue #775 2016-07-14 14:09:05 +08:00
Li Peng
266a185a52 remove duplicated words
Signed-off-by: Li Peng <lip@dtdream.com>
2016-04-27 16:41:27 +08:00
Jacob Meacham
d4aa34b05d Fix link that's returned when running tests. #714 2016-02-16 17:53:43 -08:00
Mark Mentovai
4a8e54401e Name the helper AsBits() 2015-11-12 10:01:06 -05:00
Mark Mentovai
cfe466a0a7 Use a templated helper to wrap the cast
The helper needs to be templated because its argument type can’t be
known. FloatingPointTest is instantiated with RawType = float and
RawType = double, so Bits will be an unsigned 32-bit or 64-bit type.
size_t will be either 32 or 64 bits depending on the system’s
definition, typically based on pointer size.
2015-11-11 18:26:35 -05:00
Mark Mentovai
cbce23fb86 Leave decltype(max_ulps_) alone and cast, not sure this is better 2015-11-11 17:44:12 -05:00
Mark Mentovai
8b085f0d21 Fix warnings encountered in MSVC build of gtest/gmock tests
This fixes these warnings:

…\gtest\googletest\test\gtest-port_test.cc(78) : error C2220: warning treated as error - no 'object' file generated
…\gtest\googletest\test\gtest-port_test.cc(78) : warning C4309: 'static_cast' : truncation of constant value
…\gtest\googletest\test\gtest-port_test.cc(79) : warning C4309: 'static_cast' : truncation of constant value

…\gtest\googlemock\test\gmock-matchers_test.cc(2712) : error C2220: warning treated as error - no 'object' file generated
        …\gtest\googlemock\test\gmock-matchers_test.cc(2706) : while compiling class template member function 'testing::gmock_matchers_test::FloatingPointTest<float>::FloatingPointTest(void)'
        …\gtest\googlemock\test\gmock-matchers_test.cc(2896) : see reference to function template instantiation 'testing::gmock_matchers_test::FloatingPointTest<float>::FloatingPointTest(void)' being compiled
        …\gtest\googlemock\test\gmock-matchers_test.cc(2896) : see reference to class template instantiation 'testing::gmock_matchers_test::FloatingPointTest<float>' being compiled
…\gtest\googlemock\test\gmock-matchers_test.cc(2712) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
…\gtest\googlemock\test\gmock-matchers_test.cc(2714) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
…\gtest\googlemock\test\gmock-matchers_test.cc(2716) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
…\gtest\googlemock\test\gmock-matchers_test.cc(2717) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
…\gtest\googlemock\test\gmock-matchers_test.cc(2718) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
…\gtest\googlemock\test\gmock-matchers_test.cc(2721) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
…\gtest\googlemock\test\gmock-matchers_test.cc(2723) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data
2015-11-11 12:28:15 -05:00
Billy Donahue
71a26ac68b Merge pull request #612 from mark-chromium/gmock_rtti
googlemock: Disable WhenDynamicCastToTest tests when RTTI is off
2015-11-10 17:48:26 -05:00
Mark Mentovai
c8a1050704 googlemock: Disable WhenDynamicCastToTest tests when RTTI is off
https://github.com/google/googletest/issues/610
2015-10-12 18:01:43 -04: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
Simon Newton
39062f4e30 Fix the googlemock autotools build. 2015-09-17 08:33:43 -07:00
Billy Donahue
b78f858d0c Include <memory> to use std::unique_ptr. 2015-09-08 02:46:25 -04:00
Billy Donahue
f19b060075 Googlemock has some tuples containing lvalue refs in its unit tests.
These tuples are created with make_tuple, which is given temporaries.
The make_tuple is in a function argument list.

A possibly overzealous static_assert in libc++'s std::tuple ctor
is firing in our 'Perform(make_tuple("hi"))' calls, so
we can't use its make_tuple here. Instead we will use
explicitly-constructed tuples constructed from non-temporary strings.

Workaround for llvm bug:
    https://llvm.org/bugs/show_bug.cgi?id=20855

An alternative to https://github.com/google/googletest/pull/580 .
2015-09-07 22:32:56 -04:00
Billy Donahue
affb09edf0 move googlemock files into googlemock/ subdir 2015-08-25 17:47:18 -04:00