summaryrefslogtreecommitdiffstats
path: root/googletest/include/gtest
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Add missing call for gtest_list_output_unittest_ unitTest.NINI19882020-02-212-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Add unitTest for fixed TEST_P line number. Use CodeLocation TestInfo struct.
| * | | | Fix: shadow memberNINI19882020-02-181-2/+2
| | | | |
| * | | | Add correct line number to TEST_P test cases for gtest_output.NINI19882020-02-182-6/+8
| | | | |
* | | | | Merge pull request #2891 from zoddicus:fixMinGWMark Barolak2020-06-261-3/+3
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | PiperOrigin-RevId: 317666280
| * | | | Fix build issue for MinGWRyan Harrison2020-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes #2885
* | | | | Googletest exportdmauro2020-06-121-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for printing pointers of types char8_t, char16_t, and char32_t. PiperOrigin-RevId: 316112767
* | | | | Googletest exportAbseil Team2020-06-101-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change string matchers, like HasSubstr, to accept `string_view` input if available. PiperOrigin-RevId: 315726484
* | | | | Googletest exportAbseil Team2020-06-101-1/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make visible ParseInt32 in case users have separate gmock/gtest libraries and hidden-by-default symbols. This function is still considered an internal implementation detail and is subject to change without notice. It is still unsafe/unsupported to link together libraries built at different commits. PiperOrigin-RevId: 315405429
* | | / Googletest exportdmauro2020-06-051-0/+26
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for printing the types char8_t, char16_t, and char32_t This changes prints these types as Unicode code points. It is possible that there is a better way of printing these types, but that change is more complex, and the format in which Googletest prints these types is subject to change if someone implements a better way of printing them. This fixes the C++20 build, which removed support for printing these types. https://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt2 Fixes #2854 PiperOrigin-RevId: 314826912
* | | Merge pull request #2742 from kuzkry:c++17-type-printersGennadiy Rozental2020-06-053-29/+165
|\ \ \ | | | | | | | | | | | | PiperOrigin-RevId: 314593695
| * | | make UniversalPrinter<std::any> support RTTIKrystian Kuzniarek2020-05-292-19/+30
| | | |
| * | | specialize UniversalPrinter<> for std::any (without support for RTTI)Krystian Kuzniarek2020-05-292-0/+50
| | | |
| * | | specialize UniversalPrinter<> for std::optionalKrystian Kuzniarek2020-05-292-6/+37
| | | |
| * | | specialize UniversalPrinter<> for std::variantKrystian Kuzniarek2020-05-292-7/+47
| | | |
* | | | Googletest exportdmauro2020-05-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fix compile error from protected destructor of std::codecvt PiperOrigin-RevId: 313584603
* | | | Googletest exportAbseil Team2020-05-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Change 'suite' to 'case' in comments. PiperOrigin-RevId: 313429487
* | | | Googletest exportAbseil Team2020-05-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Addresses https://github.com/google/googletest/issues/2848 by using `_wfopen(...)` on Windows PiperOrigin-RevId: 312198825
* | | | Googletest exportAbseil Team2020-05-131-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed #2823 - Make it so that a semicolon appearing after an invocation of GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_ does not trigger a redundant semicolon warning. This works by introducing an else block with a statement that intentionally does not end with a semicolon, forcing users to place the semicolon after the expansion. The approach here is preferred as opposed to removing semicolons that appear after each invocation because complete statements that do not have a visible semicolon or braces confuse users and code formatters, since the macro invocation looks superficially like an expression. PiperOrigin-RevId: 311327491
* | | | Merge pull request #2751 from calumr:quiet-flagvslashg2020-05-051-0/+3
|\ \ \ \ | |_|_|/ |/| | | | | | | PiperOrigin-RevId: 309958629
| * | | Merge branch 'master' into quiet-flagvslashg2020-03-272-5/+28
| |\ \ \
| * | | | Add GTEST_BRIEF optionCalum Robinson2020-03-191-0/+3
| | | | | | | | | | | | | | | | | | | | Only prints failures and a total pass count
* | | | | Merge pull request #2818 from inazarenko:masterGennadiy Rozental2020-05-011-13/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | PiperOrigin-RevId: 308711492
* | | | | | Merge pull request #2818 from inazarenko:masterGennadiy Rozental2020-05-011-2/+13
|\| | | | | | | | | | | | | | | | | | | | | | | PiperOrigin-RevId: 308650221
| * | | | | Enable protobuf printing for open-source proto messages.Igor Nazarenko2020-04-191-2/+13
| | | | | |
* | | | | | Merge pull request #2815 from Quuxplusone:simpleGennadiy Rozental2020-05-012-8/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | PiperOrigin-RevId: 308625388
| * | | | | | Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_.Arthur O'Dwyer2020-04-232-6/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | None of these are strictly needed for correctness. A large number of them (maybe all of them?) trigger `-Wdeprecated` warnings on Clang trunk as soon as you try to use the implicitly defaulted (but deprecated) copy constructor of a class that has deleted its copy assignment operator. By declaring a deleted copy assignment operator, the old code also caused the move constructor and move assignment operator to be non-declared. This means that the old code never got move semantics -- "move-construction" would simply call the defaulted (but deprecated) copy constructor instead. With the new code, "move-construction" calls the defaulted move constructor, which I believe is what we want to happen. So this is a runtime performance optimization. Unfortunately we can't yet physically remove the definitions of these macros from gtest-port.h, because they are being used by other code internally at Google (according to zhangxy988). But no new uses should be added going forward.
* / / / / / Googletest exportAbseil Team2020-05-011-3/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly define copy constructors used in googletest tests As of C++11, providing a user-declared copy assignment operator should suppress the availability of an implicit default copy constructor. Classes that provide (or delete) a copy assignment operator must provide their own copy constructor if one is desired. This may be an explicit default copy constructor if appropriate. As googletest is a C++11 codebase, this change should be made without qualification. This addresses the -Wdeprecated-copy warnings issued by trunk clang: While compiling googletest/test/googletest-death-test-test.cc: In file included from .../googletest/test/googletest-death-test-test.cc:33: .../googletest/include/gtest/gtest-death-test.h:196:8: error: definition of implicit copy constructor for 'ExitedWithCode' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] void operator=(const ExitedWithCode& other); ^ .../googletest/test/googletest-death-test-test.cc:279:16: note: in implicit copy constructor for 'testing::ExitedWithCode' first required here EXPECT_PRED1(pred0, status0); ^ While compiling googletest/test/googletest-param-test-test.cc: .../googletest/test/googletest-param-test-test.cc:502:8: error: definition of implicit copy constructor for 'NonDefaultConstructAssignString' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] void operator=(const NonDefaultConstructAssignString&); ^ .../googletest/test/googletest-param-test-test.cc:507:36: note: in implicit copy constructor for 'NonDefaultConstructAssignString' first required here Combine(Values(0, 1), Values(NonDefaultConstructAssignString("A"), This matches other changes made elsewhere in the googletest codebase, such as 306f3754a71d. Perhaps those previous changes did not consider test code. PiperOrigin-RevId: 307495126
* | / / / Googletest exportAbseil Team2020-04-041-3/+5
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | This change updates testing::internal::IsAProtocolMessage to return true not just for full proto messages but also for lite ones (i.e. those inheriting directly from MessageLite). PiperOrigin-RevId: 304286535
* | | | Googletest exportAbseil Team2020-03-241-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add --gtest_fail_fast support to googletest. - Analogous functionality to to golang -test.failfast and python --failfast - Stops test execution upon first test failure. - Also add support Bazel equivalent env var (TESTBRIDGE_TEST_RUNNER_FAIL_FAST) PiperOrigin-RevId: 302488880
* | | | Merge pull request #2746 from Romain-Geissler-1A:mastervslashg2020-03-201-5/+18
|\ \ \ \ | |/ / / |/| | | | | | | PiperOrigin-RevId: 302045808
| * | | Make sure IsATTY does not clobber errno.Romain Geissler2020-03-111-5/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exposition of the problem: > cat main.cpp TEST(errnoTest, errnoTest) { ASSERT_EQ(errno, 0); } int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } Compiled with gcc 10 like this: > g++ -pthread -o runtest main.cpp -Wl,-Bstatic -lgtest -Wl,-Bdynamic Before patch: > ./runtest [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from errnoTest [ RUN ] errnoTest.errnoTest [ OK ] errnoTest.errnoTest (0 ms) [----------] 1 test from errnoTest (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (0 ms total) [ PASSED ] 1 test. (output is colored, I run this inside an interactive terminal). > ./runtest | cat [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from errnoTest [ RUN ] errnoTest.errnoTest main.cpp:5: Failure Expected equality of these values: (*__errno_location ()) Which is: 25 0 [ FAILED ] errnoTest.errnoTest (0 ms) [----------] 1 test from errnoTest (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (0 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] errnoTest.errnoTest 1 FAILED TEST (output is not colored, since IsTTY return false, because of the pipe, however it also clobbered errno for the tests). After the patch, both cases are working fine: > ./runtest [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from errnoTest [ RUN ] errnoTest.errnoTest [ OK ] errnoTest.errnoTest (0 ms) [----------] 1 test from errnoTest (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (0 ms total) [ PASSED ] 1 test. > ./runtest | cat [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from errnoTest [ RUN ] errnoTest.errnoTest [ OK ] errnoTest.errnoTest (0 ms) [----------] 1 test from errnoTest (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (0 ms total) [ PASSED ] 1 test.
* | | Googletest exportAbseil Team2020-03-171-6/+0
| | | | | | | | | | | | | | | | | | Move internal function out of header because Hyrum's law always wins. PiperOrigin-RevId: 301446904
* | | Googletest exportAbseil Team2020-03-171-254/+159
|/ / | | | | | | | | | | Simplify the fallback printing logic to have a single sequence of trial printers. PiperOrigin-RevId: 298621376
* / Googletest exportAbseil Team2020-02-281-1/+1
|/ | | | | | | Rename internal color enumerators to avoid conflicts with curses.h macro definitions. Fixes #2685 PiperOrigin-RevId: 297639382
* Googletest exportAbseil Team2020-02-113-31/+63
| | | | | | Add gmock Matcher<std::string_view> specialization. PiperOrigin-RevId: 294443240
* Googletest exportAbseil Team2020-02-071-2/+6
| | | | | | | | | | Disable warning C4800 for Visual Studio 2019. The compiler warning C4800 is disabled by default in Visual Studio 2019, but it can be enabled on the command line. The only version of Visual Studio that does not support warning C4800 is Visual Studio 2017. PiperOrigin-RevId: 292624510
* Googletest exportAbseil Team2020-02-071-0/+2
| | | | | | Adds missing `#define` guard around `TEST_F(...)` PiperOrigin-RevId: 291703056
* Googletest exportAbseil Team2020-01-211-2/+3
| | | | | | 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
* Googletest exportAbseil Team2020-01-161-1/+1
| | | | | | Correct the spelling of PARAMETERIZED. PiperOrigin-RevId: 289897278
* Googletest exportAbseil Team2020-01-163-0/+17
| | | | | | | | | | 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
* Googletest exportAbseil Team2020-01-091-1/+1
| | | | | | | | Removing GTEST_API from TrueWithString. This type is only used in test code on one side of a DLL boundary so it is not necessary. PiperOrigin-RevId: 288927929
* Googletest exportAbseil Team2020-01-091-1/+1
| | | | | | | Close #2658 Mark test case destrucors as override. PiperOrigin-RevId: 288507991
* Merge pull request #2639 from trzecieu:trzeci/move_ctor_assignAndy Soffer2020-01-022-5/+21
|\ | | | | | | PiperOrigin-RevId: 286896167
| * Make move operation noexcept.Piotr Paczkowski (trzeci.eu)2019-12-201-2/+2
| |
| * Define default destructor for test classesPiotr Paczkowski (trzeci.eu)2019-12-201-0/+1
| |
| * Deleted functions as part of public interfacePiotr Paczkowski (trzeci.eu)2019-12-201-4/+4
| |
| * Review notes: Return T& from assignment operatorsPiotr Paczkowski (trzeci.eu)2019-12-201-2/+2
| |
| * Disable move constructor and assignment operator for test classes.trzeci2019-12-172-2/+17
| | | | | | | | | | | | | | | | | | Disable move operations for TEST() and TEST_F() macros. Previous implementation disabled only copy ctor and assing operator, but this was violating rule of 5[1], which was captured by static code analysis tools like clang-tidy `cppcoreguidelines-special-member-functions`. [1]: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-default-operation-define-or-delete-them-all
* | Googletest exportAbseil Team2020-01-023-3/+38
| | | | | | | | | | | | | | | | 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
* | Merge pull request #2624 from ShabbyX:masterAndy Soffer2020-01-023-17/+19
|\ \ | |/ |/| | | PiperOrigin-RevId: 286397298
OpenPOWER on IntegriCloud