Commit Graph

3182 Commits

Author SHA1 Message Date
Abseil Team
a13a062618 Googletest export
Add option (default to disabled) to make C++ type parameterized tests (TYPED_TEST_P) fail when they're not instantiated.

When an un-instantiated TYPED_TEST_P is found, a new test will be inserted that emits a suitable message. For now, that is just a notice, but the hope it to flip the bit to make it fail by default.

PiperOrigin-RevId: 286408038
2020-01-02 16:48:59 -05:00
Andy Soffer
008629ae21 Merge pull request #2624 from ShabbyX:master
PiperOrigin-RevId: 286397298
2020-01-02 16:48:50 -05:00
Abseil Team
d0a521255e Googletest export
Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h.

Make InvokeArgumentAdl use variadic templates to generate its overloads instead
of using pump.py syntax.

PiperOrigin-RevId: 286267615
2020-01-02 16:48:42 -05:00
Abseil Team
6f1a8ffde9 Googletest export
Use C++11 variadic templates for InvokeArgumentAdl in gmock-generated-actions.h.

Make InvokeArgumentAdl use variadic templates to generate its overloads instead
of using pump.py syntax.

PiperOrigin-RevId: 286148805
2020-01-02 16:48:34 -05:00
CJ Johnson
d166e09483 Merge pull request #2590 from kuzkry:remove-workaround_g++-stale-comments
PiperOrigin-RevId: 285812343
2019-12-16 16:03:59 -05:00
krzysio
0a0c826629 Googletest export
Don't use fully qualified ::std types in code examples.

Having a nested user-defined 'std' namespace anywhere in a program is a minefield and shouldn't be either explicitly supported or implicitly condoned.

PiperOrigin-RevId: 285790182
2019-12-16 16:03:51 -05:00
Shahbaz Youssefi
1800a38fb7 Revert "Googletest export": disallow empty prefix
This reverts commit 20b5b8ecc7.
Reason for revert: Breaks existing applications, such as ANGLE
(angleproject.org), requires adding an extra prefix that needs to be
typed for no reason (when testing from command line) and increases the
logs' sizes by a non-trivial amount due to the very large number of
tests ANGLE runs.

Original commit message:

    Add a compile time check to ensure that the parameters to TEST_P and
    INSTANTIATE_TEST_SUITE_P are not empty. Some compilers already fail
    in that case and, even where it works, it's likely to result in
    technically invalid code by virtue of creating reserved identifiers:
    https://en.cppreference.com/w/cpp/language/identifiers

First, every project is perfectly capable of adding a prefix if they
want to support such a compiler. This change penalizes every
project.

Second, using a prefix such as `_p` also results in reserved
identifiers, so this change is not really solving the problem.  For that
matter, instead of generating `gtest_##prefix##...`, you can generate
`gtest_x##prefix##...` to correctly fix the issue, including when empty
prefixes are used.
2019-12-16 13:01:59 -05:00
Shahbaz Youssefi
4b7809c2f5 Revert "Googletest export": Remove test for empty prefix
This reverts commit 4c25e2b87f.
Reason for revert: Reverting the commit that disallows empty prefixes.

Original commit message:

    Remove a test case rendered obsolete by disallowing empty argument for INSTANTIATE_TEST_SUITE_P.
    Remove the code that it was testing.
2019-12-16 13:01:52 -05:00
Shahbaz Youssefi
d201646906 Workaround VS bug w.r.t empty arguments to macros
Empty arguments can be passed to macros per C99 and C++11 specs, which
can then be forwarded to other macros.

Visual Studio's compiler has a bug in the following situation:

    #define A(x) #x
    #define B(x, y) A(x)
    B(, b)

In the above case, Visual Studio first expands x to nothing, then
complains that A is not invoked with the right amount of arguments.
However, x in A(x) is still one argument, even if it expands to no
preprocessing tokens.  See also https://stackoverflow.com/a/7674214.
2019-12-16 11:27:52 -05:00
Matt Calabrese
5b162a79d4 Merge pull request #2589 from kuzkry:remove-workaround_g++-no-space-after-first-macro-argument
PiperOrigin-RevId: 285255373
2019-12-13 12:58:11 -05:00
Abseil Team
d16f86ff1c Googletest export
Add GTEST_API_ to correct a build failure under MSCV.

PiperOrigin-RevId: 285208464
2019-12-13 12:58:02 -05:00
Abseil Team
d8eeb9760a Googletest export
Use C++11 variadic templates for ActionHelper in gmock-generated-actions.h.

Make ActionHelper use variadic templates to generate Perform static member function specializations instead of using pump.py syntax.

PiperOrigin-RevId: 284988441
2019-12-13 12:57:53 -05:00
Abseil Team
d442089d53 Googletest export
Detect when C++ parametric tests (TEST_P) are not instantiated.

When an un-instantiated TEST_P is found, a new test will be inserted that will emit a warning message.

This can be made to error with minor code edits.
In the future, that is intended to be the default.

PiperOrigin-RevId: 284901666
2019-12-13 12:57:44 -05:00
Matt Calabrese
88ba008c23 Merge pull request #2595 from kuzkry:remove-workaround_msvc-warning-4355
PiperOrigin-RevId: 284234675
2019-12-13 12:57:35 -05:00
Matt Calabrese
a3097c826e Merge pull request #2592 from kuzkry:remove-workaround_msvc-error-C2665
PiperOrigin-RevId: 284207090
2019-12-13 12:57:26 -05:00
misterg
6251071a20 Googletest export
Require all appveyor googletest windows builds to work on Pull Requests to increase CI coverage

PiperOrigin-RevId: 284206759
2019-12-13 12:57:17 -05:00
Mark Barolak
78fdd6c00b Merge pull request #2609 from kuzkry:revert-2596
PiperOrigin-RevId: 284041013
2019-12-06 11:34:42 -05:00
Abseil Team
9ed99c6c83 Googletest export
Change googletest to notice failures during SetUpTestSuite() and TearDownTestSuite().

Previously, errors that occurred during those functions were logged but otherwise ignored. After this change, such failures will cause the test to fail and a brief summary will be printed at the bottom of the test log.

See https://github.com/google/googletest/issues/2330.

PiperOrigin-RevId: 284033342
2019-12-06 11:34:34 -05:00
Abseil Team
2002f267f0 Googletest export
Update example Environment class destructor annotation

PiperOrigin-RevId: 283986183
2019-12-05 14:41:59 -05:00
Mark Barolak
1d563578c8 Merge pull request #2594 from kuzkry:remove-workaround_msvc-unneeded-const-dropping
PiperOrigin-RevId: 283979494
2019-12-05 14:41:50 -05:00
Abseil Team
cf75d4b92e Googletest export
Internal change

PiperOrigin-RevId: 283948137
2019-12-05 14:41:41 -05:00
Abseil Team
ae8d1fc81b Googletest export
Clarify use of IsTrue and IsFalse matchers.

These matchers are subtle and confusing: what are they for?
The docs in the code are clear, but not very accessible.
googletest/googlemock/include/gmock/gmock-more-matchers.h

PiperOrigin-RevId: 283393275
2019-12-02 16:42:01 -05:00
Mark Barolak
52825d78aa Merge pull request #2603 from maximilianschwab:patch-1
PiperOrigin-RevId: 283349646
2019-12-02 16:41:53 -05:00
Mark Barolak
11a9482f84 Merge pull request #2607 from oyefremov:patch-1
PiperOrigin-RevId: 283349621
2019-12-02 16:41:45 -05:00
Gennadiy Rozental
b155875f32 Merge pull request #2583 from ChristophStrehle:master
PiperOrigin-RevId: 282817206
2019-11-27 16:20:38 -05:00
Krystian Kuzniarek
3957b8898b Revert "remove MSVC workaround: wmain link error in the static library"
This reverts commit 298a40f023.
2019-11-27 15:01:03 +01:00
Krystian Kuzniarek
967d8e05c2 Revert "unify googletest and googlemock main functions"
This reverts commit a909becdc5.
2019-11-27 15:00:52 +01:00
Oleksandr Yefremov
b8a92f7c86
Rename test case to test suite 2019-11-27 10:30:03 +02:00
Gennadiy Rozental
34e92be31c Merge pull request #2604 from matepek:readme-update-with-opensource-proj
PiperOrigin-RevId: 282620313
2019-11-26 15:47:46 -05:00
Gennadiy Rozental
39803f3c51 Merge pull request #2593 from kuzkry:remove-workaround_msvc-namespace-scope-from-nested-class
PiperOrigin-RevId: 282593823
2019-11-26 15:47:38 -05:00
Gennadiy Rozental
0361bdf591 Merge pull request #2596 from kuzkry:remove-workaround_msvc-wmain-link-error
PiperOrigin-RevId: 282589492
2019-11-26 15:47:30 -05:00
Gennadiy Rozental
db13ff1f0b Merge pull request #2597 from kuzkry:remove-workaround_Nokia-Sybian-SafeMatcherCastImpl
PiperOrigin-RevId: 282581402
2019-11-26 15:47:21 -05:00
Abseil Team
be74b4b2e0 Googletest export
Wrap call to std::numeric_limits<>::max into round braces to appease MSVC.

Closes #2589

PiperOrigin-RevId: 282581361
2019-11-26 15:47:13 -05:00
Gennadiy Rozental
7a8a5bcec0 Merge pull request #2591 from kuzkry:remove-workaround_g++-using-on-operator<<
PiperOrigin-RevId: 282575040
2019-11-26 15:47:05 -05:00
Gennadiy Rozental
a32a200094 Merge pull request #2588 from kuzkry:remove-workaround_g++-incorrect-comments
PiperOrigin-RevId: 282568282
2019-11-26 15:46:55 -05:00
Abseil Team
51545ee515 Googletest export
Make generating goldens work with Python 3

golden_file.write(output) fails with Python 3 with:
TypeError: a bytes-like object is required, not 'str'
PiperOrigin-RevId: 282316101
2019-11-26 15:46:46 -05:00
Mate Pek
5a62d400e0 README.md: added Catch2 and Google Test Explorer 2019-11-25 23:53:49 +07:00
Maximilian Schwab
838a32845c
Fixed typo 2019-11-25 08:11:28 +01:00
Abseil Team
679bfec6db Googletest export
Fix typo in the predicate assertion table.

PiperOrigin-RevId: 281973457
2019-11-22 16:33:37 -05:00
Gennadiy Civil
af71b6607f Merge pull request #2570 from xieyubo:1.10
PiperOrigin-RevId: 281971090
2019-11-22 16:33:23 -05:00
Abseil Team
717ce7feb8 Googletest export
Use standard C++11 integer types in gtest-port.h.

Remove testing::internal::{Int,Uint}{32,64} in favor of types
guaranteed to be in <cstdint> since C++11.

Tests for built-in integer type coverage are switched from
{Int,Uint}64 to [unsigned] long long, which is guaranteed by
C++11 to exist and be at least 64-bit wide.

PiperOrigin-RevId: 281565263
2019-11-22 16:33:15 -05:00
Krystian Kuzniarek
a909becdc5 unify googletest and googlemock main functions 2019-11-22 17:45:04 +01:00
Krystian Kuzniarek
298a40f023 remove MSVC workaround: wmain link error in the static library 2019-11-22 17:45:04 +01:00
Krystian Kuzniarek
bbbc5d8a4b remove Nokia's Symbian compiler workaround: SafeMatcherCastImpl 2019-11-22 17:25:34 +01:00
Krystian Kuzniarek
e0c80b0a6e consistency fix for SafeMatcherCastImpl member functions 2019-11-22 17:25:34 +01:00
Krystian Kuzniarek
6748df1eab remove MSVC workaround: cease const dropping 2019-11-22 17:17:41 +01:00
Krystian Kuzniarek
ecefcbd4aa remove MSVC workaround: warning 4355 2019-11-22 17:15:23 +01:00
Krystian Kuzniarek
a5136dbdd2 remove MSVC workaround: error C2665 2019-11-22 17:12:11 +01:00
Krystian Kuzniarek
21d276b5c4 remove MSVC workaround: accessing namespace scope from within nested classes 2019-11-22 17:10:39 +01:00
Krystian Kuzniarek
a91e4e73b7 remove stale comments about older GCC versions 2019-11-22 17:09:52 +01:00