googletest.git
5 months agoMerge pull request #3094 from chuckatkins:update-deprecated-cmake-version master
Derek Mauro [Mon, 28 Dec 2020 18:32:06 +0000 (13:32 -0500)]
Merge pull request #3094 from chuckatkins:update-deprecated-cmake-version

PiperOrigin-RevId: 349296827

5 months agoGoogletest export
Abseil Team [Mon, 21 Dec 2020 20:41:17 +0000 (15:41 -0500)]
Googletest export

Give each of Naggy/Nice/StrictMock a base class whose constructor runs before
the mocked class's constructor, and a destructor that runs after the mocked
class's destructor, so that any mock methods run in either the constructor or
destructor use the same strictness as other calls.

PiperOrigin-RevId: 348511612

5 months agoGoogletest export
dmauro [Tue, 15 Dec 2020 17:40:46 +0000 (12:40 -0500)]
Googletest export

Internal Change

PiperOrigin-RevId: 347631521

6 months agoGoogletest export
Abseil Team [Fri, 11 Dec 2020 19:20:17 +0000 (14:20 -0500)]
Googletest export

Add static_asserts that verify that no class hierarchy contains more than one
of {NiceMock, NaggyMock, StrictMock}. This sort of nesting has always been
disallowed, but this CL adds a compile-time check to prevent it.

PiperOrigin-RevId: 347037822

6 months agoGoogletest export
Abseil Team [Thu, 10 Dec 2020 16:15:34 +0000 (11:15 -0500)]
Googletest export

Remove ZX_WAIT_ASYNC_ONCE flag

It is deprecated and will soon be removed in fuchsia source.
It's currently defined as 0 and references should be changed to 0.

PiperOrigin-RevId: 346787585

6 months agoGoogletest export
dmauro [Thu, 10 Dec 2020 15:52:16 +0000 (10:52 -0500)]
Googletest export

Fix a missing Bazel build dependency

PiperOrigin-RevId: 346783462

6 months agoGoogletest export
Abseil Team [Tue, 8 Dec 2020 17:37:32 +0000 (12:37 -0500)]
Googletest export

Introduce a new `Address` matcher to gmock.

PiperOrigin-RevId: 346344591

6 months agoGoogletest export
Abseil Team [Mon, 7 Dec 2020 21:22:17 +0000 (16:22 -0500)]
Googletest export

Fix errata in gmock cook_book.md ON_CALL example

PiperOrigin-RevId: 346165890

6 months agoGoogletest export
Abseil Team [Mon, 7 Dec 2020 21:17:26 +0000 (16:17 -0500)]
Googletest export

Add a `Pointer` matcher as an analog to `Pointee`.

Similar to `Pointee`, `Pointer` works with either raw or smart pointers and
allows creating a matcher like Pointer(Eq(foo)) for smart pointers.

PiperOrigin-RevId: 346164768

6 months agoMerge pull request #3159 from malcops:master
Andy Getz [Mon, 7 Dec 2020 23:04:04 +0000 (18:04 -0500)]
Merge pull request #3159 from malcops:master

PiperOrigin-RevId: 346160291

6 months agoGoogletest export
Abseil Team [Mon, 7 Dec 2020 19:36:15 +0000 (14:36 -0500)]
Googletest export

Update README to clarify supported platforms

PiperOrigin-RevId: 346140983

6 months agoFix typo in CLI help message
malcops [Sat, 5 Dec 2020 17:37:44 +0000 (12:37 -0500)]
Fix typo in CLI help message

6 months agoGoogletest export
Abseil Team [Thu, 3 Dec 2020 19:31:28 +0000 (14:31 -0500)]
Googletest export

Disable a gmock matcher test under MSVC 2015 (version 14) and earlier.  It interacts badly with Windows structured exceptions in a way we do not have the resources to investigate.  This test passes under MSVC 2017 and SEH.

PiperOrigin-RevId: 345496734

6 months agoGoogletest export
Abseil Team [Wed, 2 Dec 2020 19:47:44 +0000 (14:47 -0500)]
Googletest export

Remove `status` from our internal Subprocess utility.

This facility is unused, so better to just remove it than figure out what its cross-OS semantics should be.

PiperOrigin-RevId: 345279290

6 months agoGoogletest export
Abseil Team [Wed, 2 Dec 2020 19:08:58 +0000 (14:08 -0500)]
Googletest export

Check for a high bit to see if a return value is a signal or an error code in googletest/test.

This is needed because for subprocess under python3 windows, a return value representing a C signal (such as 0x80000003) is represented as a large positive integer rather than a negative one.

PiperOrigin-RevId: 345270460

6 months agoGoogletest export
Abseil Team [Tue, 1 Dec 2020 22:56:15 +0000 (17:56 -0500)]
Googletest export

Include TargetConditionals.h before checking TARGET_OS_IPHONE

New versions of Clang require that you include TargetConditionals.h before checking the TARGET_OS_* macros. Include it where appropriate to keep the compiler happy.

PiperOrigin-RevId: 345106443

6 months agoGoogletest export
dmauro [Mon, 30 Nov 2020 21:55:34 +0000 (16:55 -0500)]
Googletest export

Fix the TravisCI build by updating the required tools

PiperOrigin-RevId: 344882646

6 months agoGoogletest export
Abseil Team [Tue, 24 Nov 2020 15:30:01 +0000 (10:30 -0500)]
Googletest export

Put "value" in SetArgReferee's description between code backticks.

PiperOrigin-RevId: 344054658

6 months agoGoogletest export
Abseil Team [Tue, 24 Nov 2020 01:32:01 +0000 (20:32 -0500)]
Googletest export

Internal change: Add self-shortlink

PiperOrigin-RevId: 343960442

6 months agoGoogletest export
Abseil Team [Thu, 19 Nov 2020 14:13:24 +0000 (09:13 -0500)]
Googletest export

Update note on static const data members for C++17.

Using `constexpr` provides a tidier solution, where applicable.

PiperOrigin-RevId: 343276402

6 months agoMerge pull request #3114 from marbre:FindPython
Gennadiy Rozental [Tue, 24 Nov 2020 08:46:09 +0000 (03:46 -0500)]
Merge pull request #3114 from marbre:FindPython

PiperOrigin-RevId: 342977338

6 months agoMerge pull request #3118 from vinsonlee:initialize-TestInfo-is_in_another_shard_
Derek Mauro [Tue, 17 Nov 2020 19:41:11 +0000 (14:41 -0500)]
Merge pull request #3118 from vinsonlee:initialize-TestInfo-is_in_another_shard_

PiperOrigin-RevId: 342731771

6 months agoInitialize TestInfo member is_in_another_shard_ in constructor.
Vinson Lee [Sat, 14 Nov 2020 01:22:39 +0000 (17:22 -0800)]
Initialize TestInfo member is_in_another_shard_ in constructor.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
7 months agoGoogletest export
Abseil Team [Thu, 12 Nov 2020 18:45:58 +0000 (13:45 -0500)]
Googletest export

Use override instead of virtual for destructor

https://google.github.io/styleguide/cppguide.html says: "Explicitly annotate overrides of virtual functions or virtual destructors with exactly one of an override or (less frequently) final specifier. Do not use virtual when declaring an override". The mocked class _should_ have a virtual destructor most of the times.

PiperOrigin-RevId: 342082140

7 months agoGoogletest export
Abseil Team [Thu, 12 Nov 2020 17:00:28 +0000 (12:00 -0500)]
Googletest export

Use environment variable TEST_TMPDIR in Linux environments
for temporary directory if available otherwise use /tmp/.

Bazel sets the environment variable TEST_TMPDIR when launching tests.

PiperOrigin-RevId: 342058921

7 months agoGoogletest export
Abseil Team [Thu, 12 Nov 2020 16:12:19 +0000 (11:12 -0500)]
Googletest export

Use a tagged constructor for FlatTuple instead.
Some versions of MSVC are getting confused with that constructor and generating invalid code.

PiperOrigin-RevId: 342050957

7 months agoGoogletest export
dmauro [Wed, 11 Nov 2020 20:27:30 +0000 (15:27 -0500)]
Googletest export

Disable the wide character printing tests that were discovered to fail
under MSVC. Created a bug to debug this.

PiperOrigin-RevId: 341886318

7 months agoGoogletest export
dmauro [Wed, 11 Nov 2020 19:35:50 +0000 (14:35 -0500)]
Googletest export

Fix *_THROW tests under MSVC, which produce slightly different type
names from std::type_info (e.g. "class std::runtime_error" instead of
"std::runtime_error")

PiperOrigin-RevId: 341874178

7 months agoGoogletest export
dmauro [Wed, 11 Nov 2020 17:52:39 +0000 (12:52 -0500)]
Googletest export

Rollback change from
https://github.com/google/googletest/pull/1836. This change generates
a script on Windows to actually run each test, but the script itself
doesn't correctly report if the test passed.

This change will "break tests" that were already broken on Windows,
but weren't being reported as such.

PiperOrigin-RevId: 341850671

7 months agoGoogletest export
Abseil Team [Wed, 11 Nov 2020 13:21:32 +0000 (08:21 -0500)]
Googletest export

Remove unreachable code when GTEST_CUSTOM_TEMPDIR_FUNCTION_ is defined.

PiperOrigin-RevId: 341810264

7 months agoRefactor finding python
Marius Brehler [Wed, 11 Nov 2020 15:12:11 +0000 (16:12 +0100)]
Refactor finding python

Use `find_package(Python ..)` if available, instead of the deprecated
`find_package(PythonInterp)` CMake module.

7 months agoMerge pull request #3109 from hyukmyeong:typo
Mark Barolak [Tue, 10 Nov 2020 20:22:27 +0000 (15:22 -0500)]
Merge pull request #3109 from hyukmyeong:typo

PiperOrigin-RevId: 341604515

7 months agoMerge pull request #3090 from knutpett:working_dir_on_diskless
Mark Barolak [Tue, 10 Nov 2020 20:22:17 +0000 (15:22 -0500)]
Merge pull request #3090 from knutpett:working_dir_on_diskless

PiperOrigin-RevId: 341604408

7 months agoGoogletest export
Abseil Team [Fri, 6 Nov 2020 22:09:13 +0000 (17:09 -0500)]
Googletest export

Change ACTION{,_Pn,_TEMPLATE} macros to build functors rather than ActionInterface<> subclasses, thus changing the Action<> wrappers they create to use the modernized (non-const) argument tuple type, allowing these macros to mutate their arguments.

Functor-based Action<>s deep-copy the implementing object, so have the functors use a shared_ptr to the non-trivial state of bound value parameters.  No longer specialize that shared state to the particular action signature, encoding that information instead only in the instantiation of the implementation function.

PiperOrigin-RevId: 341116208

7 months agoGoogletest export
Abseil Team [Fri, 6 Nov 2020 21:11:06 +0000 (16:11 -0500)]
Googletest export

GMock: Make Truly explain when it fails

I just wrote a test that had a matcher of the form
  Optional(AllOf(
    SomeMatcher,
    SomeOtherMatcher,
    Truly(SomePredicate)))

The predicate failed, the other two matchers succeeded, and I got a hard-to-interpret message saying that the value in the optional "didn't match". Didn't match what?

This change improves situations like that slightly by having Truly explain to its result listener when it fails. When there are multiple Trulys in an AllOf, there will be some ambiguity, but it will at least provide more information than right now.

PiperOrigin-RevId: 341105141

7 months agoOnly save original working directory if death tests are enabled
Knut Petter Svendsen [Thu, 29 Oct 2020 15:47:10 +0000 (16:47 +0100)]
Only save original working directory if death tests are enabled

On a diskless system you cannot get the current directory. So if
death tests are disabled anyway, there is no point trying to
get current directory.

Without this fix, running tests on diskless systems will fail,
even when death tests are disabled.

7 months agofix typos
Hyuk Myeong [Sun, 8 Nov 2020 07:36:57 +0000 (16:36 +0900)]
fix typos

7 months agoGoogletest export
Abseil Team [Fri, 6 Nov 2020 15:47:09 +0000 (10:47 -0500)]
Googletest export

Add support for ref qualifiers in MOCK_METHOD.

PiperOrigin-RevId: 341047839

7 months agoGoogletest export
ofats [Thu, 5 Nov 2020 16:53:56 +0000 (11:53 -0500)]
Googletest export

Rewrite InvokeArgument action without using pump.

PiperOrigin-RevId: 340861582

7 months agoMerge pull request #3008 from hyukmyeong:update_tutorial
Andy Getz [Tue, 3 Nov 2020 03:26:39 +0000 (22:26 -0500)]
Merge pull request #3008 from hyukmyeong:update_tutorial

PiperOrigin-RevId: 340286884

7 months agoMerge pull request #2714 from kuzkry:remove-repeated-include
Andy Getz [Tue, 3 Nov 2020 03:26:31 +0000 (22:26 -0500)]
Merge pull request #2714 from kuzkry:remove-repeated-include

PiperOrigin-RevId: 340266002

7 months agoMerge pull request #3086 from sfc-gh-ebrossard:master
Andy Getz [Tue, 3 Nov 2020 03:26:22 +0000 (22:26 -0500)]
Merge pull request #3086 from sfc-gh-ebrossard:master

PiperOrigin-RevId: 340226421

7 months agoGoogletest export
Abseil Team [Tue, 27 Oct 2020 20:56:33 +0000 (16:56 -0400)]
Googletest export

Remove obsolete comment about non-const references.

They used to be banned by the C++ style guide, but positions shifted, and this comment is no longer up to date.

There's another reference (heh) on lines 816-819 to how gmock is a "general framework", with the possible implication that support for non-const references was weird in some way and only there to be "general", but I left it alone because I don't really feel I understand what it's saying.

PiperOrigin-RevId: 339323428

7 months agoBump CMake minimum to 2.8.12
Chuck Atkins [Fri, 30 Oct 2020 15:31:54 +0000 (11:31 -0400)]
Bump CMake minimum to 2.8.12

7 months agoAdd instructions for sanitizer integration
Elliott Brossard [Tue, 27 Oct 2020 15:31:34 +0000 (15:31 +0000)]
Add instructions for sanitizer integration

7 months agoMerge pull request #3044 from manavrion:improve_file_path_normalize
vslashg [Tue, 27 Oct 2020 14:17:25 +0000 (10:17 -0400)]
Merge pull request #3044 from manavrion:improve_file_path_normalize

PiperOrigin-RevId: 339242159

7 months agoGoogletest export
Abseil Team [Mon, 26 Oct 2020 17:01:10 +0000 (13:01 -0400)]
Googletest export

I'm not sure how this relates to the GitHub repo. Could you please advise?

PiperOrigin-RevId: 339060470

7 months agoMerge pull request #3073 from ArthurSonzogni:fix-typo
Gennadiy Rozental [Thu, 22 Oct 2020 07:43:30 +0000 (03:43 -0400)]
Merge pull request #3073 from ArthurSonzogni:fix-typo

PiperOrigin-RevId: 338093064

7 months agoFix typo "definedin in" => "defined in"
Arthur Sonzogni [Tue, 20 Oct 2020 13:45:52 +0000 (15:45 +0200)]
Fix typo "definedin in" => "defined in"

Replace "definedin in" by "defined in" in files:
- googletest/src/gtest.cc
- googletest/test/googletest-output-test-golden-lin.txt

7 months agoGoogletest export
Abseil Team [Fri, 16 Oct 2020 03:30:37 +0000 (23:30 -0400)]
Googletest export

Fix typo in the "Assertion Placement" section

PiperOrigin-RevId: 337435223

7 months agoGoogletest export
Abseil Team [Thu, 15 Oct 2020 21:14:57 +0000 (17:14 -0400)]
Googletest export

Fix some issues when running fuse_gmock_files.

The module path should be updated before importing `fuse_gtest_files`, since
the script may not run from the googletest repo root. We also need a non-frozen
set in order to track progress.

PiperOrigin-RevId: 337380466

7 months agoGoogletest export
dmauro [Thu, 15 Oct 2020 16:38:46 +0000 (12:38 -0400)]
Googletest export

Fixes build warnings from previous CL
Add CMake to internal presubmit to prevent these

PiperOrigin-RevId: 337325504

7 months agoMerge pull request #3042 from Aralox:Issue-2135-modify-mock-template-args-AX-to-TArgX
Derek Mauro [Thu, 15 Oct 2020 17:32:33 +0000 (13:32 -0400)]
Merge pull request #3042 from Aralox:Issue-2135-modify-mock-template-args-AX-to-TArgX

PiperOrigin-RevId: 337217118

7 months agoGoogletest export
Abseil Team [Wed, 14 Oct 2020 20:55:07 +0000 (16:55 -0400)]
Googletest export

Add ::testing::FieldsAre matcher for objects that support get<> and structured bindings.
PiperOrigin-RevId: 337165285

7 months agoGoogletest export
dmauro [Wed, 14 Oct 2020 18:50:53 +0000 (14:50 -0400)]
Googletest export

Disable warnings on code that intentionally tests a suboptimal syntax

PiperOrigin-RevId: 337138442

7 months agoGoogletest export
dmauro [Wed, 14 Oct 2020 16:08:32 +0000 (12:08 -0400)]
Googletest export

Stop using master.zip to make the build reproducible

PiperOrigin-RevId: 337102716

7 months agoGoogletest export
Abseil Team [Wed, 14 Oct 2020 15:27:37 +0000 (11:27 -0400)]
Googletest export

Removing a semicolon that triggers a lint error in sample code.

PiperOrigin-RevId: 337095451

7 months agoGoogletest export
dmauro [Wed, 14 Oct 2020 14:37:22 +0000 (10:37 -0400)]
Googletest export

Disable -Wmismatched-tags warning for struct/class tuple_size

PiperOrigin-RevId: 337087493

7 months agoGoogletest export
Abseil Team [Wed, 14 Oct 2020 13:48:24 +0000 (09:48 -0400)]
Googletest export

Prefer using over typedef.

PiperOrigin-RevId: 337080404

7 months agoGoogletest export
dmauro [Tue, 13 Oct 2020 19:23:57 +0000 (15:23 -0400)]
Googletest export

Fix -Wmismatched-tags error with struct tuple_size vs class tuple_size

PiperOrigin-RevId: 336930166

7 months agoGoogletest export
dmauro [Tue, 13 Oct 2020 16:05:08 +0000 (12:05 -0400)]
Googletest export

Fixes AppVeyor by upgrading to Bazel 3.6.0

PiperOrigin-RevId: 336887434

7 months agoMerge pull request #3050 from peternewman:patch-1
Derek Mauro [Wed, 14 Oct 2020 22:25:57 +0000 (18:25 -0400)]
Merge pull request #3050 from peternewman:patch-1

PiperOrigin-RevId: 336881266

7 months agoGoogletest export
Abseil Team [Tue, 13 Oct 2020 15:14:28 +0000 (11:14 -0400)]
Googletest export

Use absl::StrCat in MATCHER_P example for consistency with https://abseil.io/tips/3

PiperOrigin-RevId: 336878481

7 months agoGoogletest export
Abseil Team [Tue, 13 Oct 2020 14:14:25 +0000 (10:14 -0400)]
Googletest export

Suggest using generic lambdas for composing macros.

Long chains of macros hurt legibility; generic lambdas are an easy way to abbreviate them, but are not an obvious solution to casual users.

Compare:
EXPECT_THAT(f(), ElementsAre(
    Property(&MyClass::foo, Property(&OtherClass::bar, Contains("x"))),
    Property(&MyClass::foo, Property(&OtherClass::bar, Contains("y"))));
to:
EXPECT_THAT(f(), ElementsAre(HasFooBar("x"), HasFooBar("y")));
PiperOrigin-RevId: 336870137

7 months agoGoogletest export
ofats [Fri, 9 Oct 2020 16:24:56 +0000 (12:24 -0400)]
Googletest export

Add helper methos to internal FlatTuple. Refactor constructors.

PiperOrigin-RevId: 336306681

7 months agoGoogletest export
Abseil Team [Fri, 9 Oct 2020 10:07:04 +0000 (06:07 -0400)]
Googletest export

Improve lookup of operator<< for user types

Without this fix, trying to use this class with googletest

  struct Foo {};

  template <typename OutputStream>
  OutputStream& operator<<(OutputStream& os, const Foo&) {
    os << "TemplatedStreamableInFoo";
    return os;
  }

results in an ambiguity error between the class' operator<< and the
operator<< in gtest-printers.h removed in this CL.

This fix also enables implicit conversions to happen, so that e.g.
we will find the base class operator<< if a subclass has no
operator<< of its own.

PiperOrigin-RevId: 336261221

7 months agoGoogletest export
Abseil Team [Thu, 8 Oct 2020 19:43:41 +0000 (15:43 -0400)]
Googletest export

Make the code Python3 compliant.

PiperOrigin-RevId: 336144198

7 months agoMerge pull request #2837 from inazarenko:duck_type_protos
Derek Mauro [Wed, 14 Oct 2020 22:25:04 +0000 (18:25 -0400)]
Merge pull request #2837 from inazarenko:duck_type_protos

PiperOrigin-RevId: 336087297

8 months agoFix a typo
Peter Newman [Mon, 12 Oct 2020 05:23:18 +0000 (06:23 +0100)]
Fix a typo

8 months agoImprove FilePath::Normalize method
Ruslan Manaev [Wed, 7 Oct 2020 18:39:50 +0000 (23:39 +0500)]
Improve FilePath::Normalize method

8 months agoMerge pull request #3030 from ranodeepbanerjee:patch-1
Mark Barolak [Wed, 7 Oct 2020 14:44:51 +0000 (10:44 -0400)]
Merge pull request #3030 from ranodeepbanerjee:patch-1

PiperOrigin-RevId: 335653055

8 months agoIssue 2135: Change template args in NiceMock, NaggyMock and StrictMock from A1, A2...
Aralox [Wed, 7 Oct 2020 07:27:41 +0000 (18:27 +1100)]
Issue 2135: Change template args in NiceMock, NaggyMock and StrictMock from A1, A2, ... to TArg1, TArg2,... to avoid clash with legacy header files

8 months agoGoogletest export
Abseil Team [Wed, 30 Sep 2020 01:52:15 +0000 (21:52 -0400)]
Googletest export

Update faq.md on underscore to mention `DISABLED_` prefix.

PiperOrigin-RevId: 334507963

8 months agoA slight Gramatical change.
ranodeepbanerjee [Wed, 30 Sep 2020 20:27:27 +0000 (01:57 +0530)]
A slight Gramatical change.

8 months agoGoogletest export
dmauro [Tue, 29 Sep 2020 19:27:38 +0000 (15:27 -0400)]
Googletest export

Fix undefined pointer comparison

PiperOrigin-RevId: 334436975

8 months agoGoogletest export
Abseil Team [Tue, 29 Sep 2020 18:58:21 +0000 (14:58 -0400)]
Googletest export

Update comment to suggest using SetUpTestSuite and TearDownTestSuite.

PiperOrigin-RevId: 334430329

8 months agoMerge pull request #3024 from Thomas-Barbier-1A:fix_warning_maybe_unintialized
Andy Getz [Wed, 30 Sep 2020 00:47:54 +0000 (20:47 -0400)]
Merge pull request #3024 from Thomas-Barbier-1A:fix_warning_maybe_unintialized

PiperOrigin-RevId: 334391149

8 months agoMerge pull request #3027 from keshavgbpecdelhi:patch-2
Andy Getz [Wed, 30 Sep 2020 00:47:44 +0000 (20:47 -0400)]
Merge pull request #3027 from keshavgbpecdelhi:patch-2

PiperOrigin-RevId: 334384310

8 months agoGoogletest export
Abseil Team [Fri, 25 Sep 2020 16:14:18 +0000 (12:14 -0400)]
Googletest export

Fix typo

PiperOrigin-RevId: 333745750

8 months agoUpdate cook_book.md
keshavgbpecdelhi [Sun, 27 Sep 2020 09:57:14 +0000 (15:27 +0530)]
Update cook_book.md

Please note that changing the default value for a type can make [you]* test.....
Here "you" word doesn't make sense.. rather "your" seems to make it understandable.

8 months agoGoogletest export
Abseil Team [Wed, 23 Sep 2020 21:32:45 +0000 (17:32 -0400)]
Googletest export

Revision of recent DoubleNearPredFormat change to support more toolchains.

isnan() is a macro in C99, and std::isnan() is a function in C++11.  The previous change used `isnan` directly, and broke some tests in open source.

This CL changes it to follow the practice in gmock-matchers.h, and spell uses of isnan as
  (std::isnan)(f)
.  The parens around `std::isnan` prevent it from being recognized as a macro in the preprocessor.

PiperOrigin-RevId: 333374377

8 months agoGoogletest export
Abseil Team [Wed, 23 Sep 2020 14:43:41 +0000 (10:43 -0400)]
Googletest export

Address OSS Issue #2463 https://github.com/google/googletest/issues/2463

PiperOrigin-RevId: 333289989

8 months agoMerge pull request #3014 from JethroSama:patch-1
vslashg [Thu, 24 Sep 2020 16:06:25 +0000 (12:06 -0400)]
Merge pull request #3014 from JethroSama:patch-1

PiperOrigin-RevId: 333288626

8 months agoGoogletest export
Abseil Team [Mon, 21 Sep 2020 22:22:01 +0000 (18:22 -0400)]
Googletest export

Improve DoubleNearPredFormat output on bad epsilons

DoubleNearPredFormat will happily accept epsilon values (abs_error) that
are so small that they are meaningless. This turns EXPECT_NEAR into a
complicated and non-obvious version of EXPECT_EQ.

This change modifies DoubleNearPredFormat) so that when there is a
failure it calculates the smallest meaningful epsilon value, given the
input values, and then prints a message which explains what happened.

If a true equality test is wanted either pass a literal 0.0 as abs_error
or use EXPECT_EQ. If a check for being almost equal is wanted consider
using EXPECT_DOUBLE_EQ which, contrary to its name, verifies that the
two numbers are *almost* equal (within four ULPs).

With this change the flaky test mentioned in crbug.com/786046 gives this
output:

The difference between 4.2934311416234112e+18 and 4.2934311416234107e+18 is 512, where
4.2934311416234112e+18 evaluates to 4.2934311416234112e+18,
4.2934311416234107e+18 evaluates to 4.2934311416234107e+18.
The abs_error parameter 1.0 evaluates to 1 which is smaller than the minimum distance between doubles for numbers of this magnitude which is 512, thus making this EXPECT_NEAR check equivalent to EXPECT_EQUAL. Consider using EXPECT_DOUBLE_EQ instead.

Tested:
I confirmed that this change detects the bad epsilon value that caused
crbug.com/786046 in Chromium and added a test for the desired output.
PiperOrigin-RevId: 332946880

8 months agoFix warning maybe-uninitialized
tbarbier [Thu, 24 Sep 2020 14:51:06 +0000 (16:51 +0200)]
Fix warning maybe-uninitialized

8 months agoGoogletest export
Abseil Team [Fri, 18 Sep 2020 13:10:49 +0000 (09:10 -0400)]
Googletest export

Simplify FooConcrete static calls in googlemock cookbook.

PiperOrigin-RevId: 332437041

8 months agoGoogletest export
Abseil Team [Thu, 17 Sep 2020 15:02:40 +0000 (11:02 -0400)]
Googletest export

Reduce the demangled name bloat of the Action constructor.

PiperOrigin-RevId: 332234887

8 months agoUpdate README.md, added missing 'a'
JethroSama [Fri, 18 Sep 2020 01:56:59 +0000 (09:56 +0800)]
Update README.md, added missing 'a'

8 months agoRemove spaces between Google Test and Google Mock
Hyuk Myeong [Tue, 15 Sep 2020 16:33:41 +0000 (01:33 +0900)]
Remove spaces between Google Test and Google Mock

8 months agoAdd follow-up patch for more natural reading
Hyuk Myeong [Tue, 15 Sep 2020 12:31:07 +0000 (21:31 +0900)]
Add follow-up patch for more natural reading

8 months agoApply the reviewed comment
Hyuk Myeong [Tue, 15 Sep 2020 12:15:43 +0000 (21:15 +0900)]
Apply the reviewed comment

8 months agoRemove a space
Hyuk Myeong [Mon, 14 Sep 2020 17:30:34 +0000 (02:30 +0900)]
Remove a space

8 months agoImprove the tutorial that may be confusing
Hyuk Myeong [Mon, 14 Sep 2020 17:17:23 +0000 (02:17 +0900)]
Improve the tutorial that may be confusing

9 months agoGoogletest export
Abseil Team [Tue, 8 Sep 2020 23:45:18 +0000 (19:45 -0400)]
Googletest export

Mark ACTION_Pn()-generated functions as must-use-result.

This catches when a client creates an action and discards it, thinking that the action has actually been applied to something.

This will help people who make the mistake of defining, for example, both `void Use(Foo*)` and `ACTION(Use) { Use(arg); }` for later application to a Foo.  With such an overload, a client may then write `Use();`, forgetting the param and being confused why nothing happens.

This also catches when a client defines their own action in terms of an ACTION()-generated one, invokes the ACTION's builder, and then fails to invoke the resulting action, thinking it's operating on the outer action's parameters.

PiperOrigin-RevId: 330614454

9 months agoMerge pull request #2994 from xerus2000:gmock-docs
Derek Mauro [Thu, 10 Sep 2020 23:09:21 +0000 (19:09 -0400)]
Merge pull request #2994 from xerus2000:gmock-docs

PiperOrigin-RevId: 330545489

9 months agoGoogletest export
dmauro [Wed, 2 Sep 2020 14:36:59 +0000 (10:36 -0400)]
Googletest export

Implements GetTimeInMillis() using std::chrono for portability
Fixes #2995

PiperOrigin-RevId: 329709958

9 months agoGoogletest export
Abseil Team [Tue, 1 Sep 2020 20:22:52 +0000 (16:22 -0400)]
Googletest export

gtest.cc: make ColoredPrintf static

the prototype was removed from gtest.h in cl/301446904; quiets a
-Wmissing-declarations warning

PiperOrigin-RevId: 329569020

9 months agoGoogletest export
Abseil Team [Tue, 1 Sep 2020 14:31:00 +0000 (10:31 -0400)]
Googletest export

Add millisecond precision to start timestamp in XML/JSON output

- Previous timestamp had format YYYY-MM-DDThh:mm:ss, now YYYY-MM-DDThh:mm:ss.sss
- This conforms to the ISO 8601 standard

PiperOrigin-RevId: 329503623

9 months agoGoogletest export
Abseil Team [Wed, 26 Aug 2020 18:36:31 +0000 (14:36 -0400)]
Googletest export

Replace uses of ACTION_TEMPLATE and ACTION_P with manually written functors.
The latter provide better error diagnostics.
This fixes https://github.com/google/googletest/issues/2729.

PiperOrigin-RevId: 328573022

9 months agoAdd timestamp to in old method mock macro guide
xerus2000 [Tue, 25 Aug 2020 08:07:30 +0000 (10:07 +0200)]
Add timestamp to in old method mock macro guide