| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Removing a semicolon that triggers a lint error in sample code.
PiperOrigin-RevId: 337095451
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Disable -Wmismatched-tags warning for struct/class tuple_size
PiperOrigin-RevId: 337087493
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Prefer using over typedef.
PiperOrigin-RevId: 337080404
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix -Wmismatched-tags error with struct tuple_size vs class tuple_size
PiperOrigin-RevId: 336930166
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes AppVeyor by upgrading to Bazel 3.6.0
PiperOrigin-RevId: 336887434
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
PiperOrigin-RevId: 336881266
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Use absl::StrCat in MATCHER_P example for consistency with https://abseil.io/tips/3
PiperOrigin-RevId: 336878481
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add helper methos to internal FlatTuple. Refactor constructors.
PiperOrigin-RevId: 336306681
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Make the code Python3 compliant.
PiperOrigin-RevId: 336144198
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | | |
PiperOrigin-RevId: 336087297
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | | |
PiperOrigin-RevId: 335653055
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Update faq.md on underscore to mention `DISABLED_` prefix.
PiperOrigin-RevId: 334507963
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix undefined pointer comparison
PiperOrigin-RevId: 334436975
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Update comment to suggest using SetUpTestSuite and TearDownTestSuite.
PiperOrigin-RevId: 334430329
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
PiperOrigin-RevId: 334391149
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
PiperOrigin-RevId: 334384310
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fix typo
PiperOrigin-RevId: 333745750
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Address OSS Issue #2463 https://github.com/google/googletest/issues/2463
PiperOrigin-RevId: 333289989
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
PiperOrigin-RevId: 333288626
|
| | |_|_|/
| |/| | | |
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Simplify FooConcrete static calls in googlemock cookbook.
PiperOrigin-RevId: 332437041
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Reduce the demangled name bloat of the Action constructor.
PiperOrigin-RevId: 332234887
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 330545489
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implements GetTimeInMillis() using std::chrono for portability
Fixes #2995
PiperOrigin-RevId: 329709958
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
gtest.cc: make ColoredPrintf static
the prototype was removed from gtest.h in cl/301446904; quiets a
-Wmissing-declarations warning
PiperOrigin-RevId: 329569020
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | |
| | | | |
PiperOrigin-RevId: 327799934
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
WebKit passes -Wl,--no-undefined to the compiler when linking shared
libraries. This is usually a good practice, but it causes gtest to fail
to link because of the use of environ. FreeBSD puts environ symbol in
crt1.o instead of libc.so, so the linker is unable to find environ when
linking a shared library.
Fortunately, there is an easy way to fix it. Since the only use of
environ in gtest is to pass it to execve, we can simply replace execve
with execv to avoid the need of environ. execv is usually a simple
wrapper around execve, so it should be safe to use.
This problem was found and reported more than three years ago. The same
fix is already committed to WebKit and we don't see any problem reports
caused by the change.
https://bugs.webkit.org/show_bug.cgi?id=138420
https://trac.webkit.org/changeset/194501/webkit
https://bugs.webkit.org/show_bug.cgi?id=208409
https://trac.webkit.org/changeset/257691/webkit
https://groups.google.com/forum/#!topic/googletestframework/wrrMj_fmXMc
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Workaround static assert in early versions libc++
The error is "Attempted to construct a reference element in a tuple with an
rvalue". We can fix this by putting everything into a non temporary tuple_args
and implitly convert to the other tuple types. This avoids binding an rvalue
reference to an lvalue reference inside the tuple.
PiperOrigin-RevId: 327624990
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
PiperOrigin-RevId: 327324992
|
| | | | |
| | | | |
| | | | | |
This makes it easier to include the license in redistributions, as required by the license.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
PiperOrigin-RevId: 327294137
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|