Commit Graph

320 Commits

Author SHA1 Message Date
Krystian Kuzniarek
95b0ea2cf5 specialize UniversalPrinter<> for std::optional 2020-05-29 13:59:42 +02:00
Krystian Kuzniarek
33b44c4b35 specialize UniversalPrinter<> for std::variant 2020-05-29 13:59:42 +02:00
Abseil Team
6f5fd0d719 Googletest export
Add gmock Matcher<std::string_view> specialization.

PiperOrigin-RevId: 294443240
2020-02-11 15:50:26 -05:00
Abseil Team
f1a6db9d4a Googletest export
Deleted an orphaned duplicate file and exclude another that shouldn't be part of :gtest_all_test.

This showed up while trying to debug the presubmit failure for: https://github.com/google/googletest/pull/2683

PiperOrigin-RevId: 291398123
2020-02-07 13:33:55 -05:00
Abseil Team
18b67bfc58 Googletest export
Add extra filtering so that the reported message differentiates between the case where INSTANTIATE_TEST_SUITE_P is missing vs. the case where TEST_P is missing.

PiperOrigin-RevId: 290114508
2020-01-21 16:26:08 -05:00
Abseil Team
8b4817e3df Googletest export
Correct the spelling of PARAMETERIZED.

PiperOrigin-RevId: 289897278
2020-01-16 13:56:21 -05:00
Abseil Team
3e79d366e3 Googletest export
Wire up things to support marking a type paramaterized test as allowed to be un-instantiated.

PiperOrigin-RevId: 289699939
2020-01-16 13:56:04 -05:00
Abseil Team
0b024bd91a Googletest export
Add GTEST_ALLOW_UNINSTANTIATED_PARAMTERIZED_TEST to mark a paramaterized test as allowed to be un-instantiated.

This allows test suites, that are defined in libraries and, for other reasons, get linked in (which should probably be avoided, but isn't always possible) to be marked as allowed to go uninstantiated.

This can also be used to grandfather existing issues and expedite adoption of the checks with regards to new cases before they can be fixed.

PiperOrigin-RevId: 289581573
2020-01-16 13:55:45 -05:00
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
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
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
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
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
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
cf75d4b92e Googletest export
Internal change

PiperOrigin-RevId: 283948137
2019-12-05 14:41:41 -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
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
a91e4e73b7 remove stale comments about older GCC versions 2019-11-22 17:09:52 +01:00
Krystian Kuzniarek
e1dd49835e remove g++ 2.95.0 workaround: no space after first comma in macros 2019-11-22 17:09:03 +01:00
Xiaoyi Zhang
3e062a6efe Merge pull request #2373 from Youw:master
PiperOrigin-RevId: 278601074
2019-11-05 17:08:09 -05:00
Krystian Kuzniarek
f79ac2ce0e change incorrect comments 2019-11-05 06:55:32 +01:00
Xiaoyi Zhang
8697709e03 Merge pull request #2453 from kuzkry:gtest-port-clean-up_kMaxBiggestInt
PiperOrigin-RevId: 278008286
2019-11-04 11:43:27 -05:00
vslashg
e8a82dc7ed Merge pull request #2453 from kuzkry:gtest-port-clean-up_kMaxBiggestInt
PiperOrigin-RevId: 277979766
2019-11-01 16:02:16 -04:00
Ihor Dutchak
f626deda19 Added special catch for std::exception in GTEST_TEST_NO_THROW_ 2019-10-30 21:57:48 +02:00
Krystian Kuzniarek
eed64b5fc6 replace autogenerated TypesX classes by variadic ones 2019-10-25 16:58:35 +02:00
Krystian Kuzniarek
6e87238c9b remove BiggestInt 2019-10-24 08:31:26 +02:00
Gennadiy Civil
8c91ecef29 Merge pull request #2517 from snarkmaster:master
PiperOrigin-RevId: 275869169
2019-10-22 09:38:29 -04:00
Gennadiy Civil
2995ca563d Merge pull request #2507 from roblub:master
PiperOrigin-RevId: 275076905
2019-10-17 13:07:51 -04:00
Alexey Spiridonov
cbf019de22 [googletest] Output skip message
Closes #2208

Previously, skip messages were invisible, so debugging skips was hard.

Now we have this:

```
$ ./googletest/gtest_skip_test
Running main() from /home/lesha/github/snarkmaster/googletest/googletest/src/gtest_main.cc
[==========] Running 3 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from SkipTest
[ RUN      ] SkipTest.DoesSkip
/home/lesha/github/snarkmaster/googletest/googletest/test/gtest_skip_test.cc:38: Skipped
skipping single test
[  SKIPPED ] SkipTest.DoesSkip (0 ms)
[----------] 1 test from SkipTest (1 ms total)
...
```
2019-10-17 00:32:47 -07:00
Andy Soffer
bdc29d5dc1 Merge pull request #2421 from kuzkry:cleanup-for-regex
PiperOrigin-RevId: 275058934
2019-10-16 14:32:31 -04:00
Abseil Team
4c25e2b87f Googletest export
Remove a test case rendered obsolete by disallowing empty argument for INSTANTIATE_TEST_SUITE_P.
Remove the code that it was testing.

PiperOrigin-RevId: 275040108
2019-10-16 14:32:23 -04:00
Robert Luberda
3cddd56e19 Add more override keywords
Mark more functions with "override" keyword, just like
it was done in commit 2460f97152.

This should prevent compiler from complaining while compiling both
user code, and the googletest code itself with the -Wsuggest-override
option turned on; with the exception of:
 * calls to new MOCK_METHOD() in test/gmock-function-mocker_test.cc
 * calls to old MOCK_METHODx()/MOCK_CONST_METHODx() in other
   unit test files.

Closes #2493
2019-10-11 23:45:31 +02:00
Abseil Team
a4a5a7c768 Googletest export
- Fix a bug in dealing with paramaterized tests where the name is it self a macro expansion.
- Add a compile time check to ensure that the parameters to TEST_P and INSTANTIATE_TEST_SUITE_P are not empty. The above fix causes some compilers to 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

PiperOrigin-RevId: 274047249
2019-10-11 07:07:03 -04:00
Abseil Team
ed78e54f38 Googletest export
Fix the O(n^2) number of instantiations in ElemFromList.
It is now O(n). It still has O(1) instantiation depth.

PiperOrigin-RevId: 273980821
2019-10-11 07:06:56 -04:00
Abseil Team
20b5b8ecc7 Googletest export
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

PiperOrigin-RevId: 273832263
2019-10-10 09:21:56 -04:00
Krystian Kuzniarek
c96da8fea8 change usings 2019-09-12 18:21:31 +02:00
Shaindel Schwartz
c7a03daa99 Merge pull request #2387 from kuzkry:iff
PiperOrigin-RevId: 268693457
2019-09-12 12:10:51 -04:00
Hosein Ghahremanzadeh
ac24edd6e0 Googletest export
Merge 4c9ef099b29d2c840c04643cd9662fd7be712f7b into 565f1b8482

Closes #2403

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2403 from IYP-Programer-Yeah:remove-compile-assert-type-equal 4c9ef099b29d2c840c04643cd9662fd7be712f7b
PiperOrigin-RevId: 268681883
2019-09-12 12:10:41 -04:00
kuzkry
ab8f346b07 Googletest export
Merge 7f4f58da20e1066a888d3e4bcbef541db798a605 into 90a443f9c2

Closes #2395

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2395 from kuzkry:custom-type-traits-remove_reference 7f4f58da20e1066a888d3e4bcbef541db798a605
PiperOrigin-RevId: 266189044
2019-09-06 08:00:03 -04:00
Gennadiy Civil
565f1b8482 Merge pull request #2398 from kuzkry:custom-type-traits-iterator_traits
PiperOrigin-RevId: 266136896
2019-08-29 10:52:57 -04:00
Xiaoyi Zhang
c6d884096a Merge pull request #2401 from kuzkry:custom-type-traits-add_lvalue_reference
PiperOrigin-RevId: 264842713
2019-08-23 16:38:55 -04:00
Xiaoyi Zhang
fb49e6c164 Merge pull request #2393 from kuzkry:custom-type-traits-remove_const
PiperOrigin-RevId: 264652890
2019-08-21 17:13:34 -04:00
Krystian Kuzniarek
7bd4a7f3e9 restore mistakenly removed iffs in their explicit form
Due to confusion arisen from "iff" standing for "if and only if",
this commit uses the latter.
2019-08-20 12:14:22 +02:00
Gennadiy Civil
30e58a89a4 Merge pull request #2381 from Yannic:fix_bazel
PiperOrigin-RevId: 264186624
2019-08-19 14:20:03 -04:00
Krystian Kuzniarek
ec49fbca4c remove custom implementations of std::is_same 2019-08-14 14:00:44 +02:00
Krystian Kuzniarek
364839ab14 remove a custom implementation of std::remove_const 2019-08-14 00:34:04 +02:00
Krystian Kuzniarek
e2c06aa249 remove a custom implementation of std::iterator_traits 2019-08-14 00:18:54 +02:00