aboutsummaryrefslogtreecommitdiffstats
path: root/googletest
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Googletest exportAbseil Team2020-01-163-1/+22
| | | | | | | | | | | | | | | | | | Wire up things to support marking a type paramaterized test as allowed to be un-instantiated. PiperOrigin-RevId: 289699939
* | | Googletest exportAbseil Team2020-01-168-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-161-1/+5
| | | | | | | | | | | | | | | | | | Change testing::TempDir() return value for Android PiperOrigin-RevId: 289102017
* | | 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-0210-14/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-026-21/+34
|\ \ \ \ | |/ / / |/| | | | | | | PiperOrigin-RevId: 286397298
| * | | Revert "Googletest export": disallow empty prefixShahbaz Youssefi2019-12-164-20/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 20b5b8ecc7a81d23b4716e22a2b35fd53379c8c6. 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.
| * | | Revert "Googletest export": Remove test for empty prefixShahbaz Youssefi2019-12-163-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4c25e2b87fcb78abcfdee2739db9ed7a19754cd3. 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.
| * | | Workaround VS bug w.r.t empty arguments to macrosShahbaz Youssefi2019-12-161-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #2590 from kuzkry:remove-workaround_g++-stale-commentsCJ Johnson2019-12-161-12/+0
|\ \ \ \ | |/ / / |/| | | | | | | PiperOrigin-RevId: 285812343
| * | | remove stale comments about older GCC versionsKrystian Kuzniarek2019-11-221-12/+0
| | | |
* | | | Merge pull request #2589 from ↵Matt Calabrese2019-12-131-9/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | kuzkry:remove-workaround_g++-no-space-after-first-macro-argument PiperOrigin-RevId: 285255373
| * | | | remove g++ 2.95.0 workaround: no space after first comma in macrosKrystian Kuzniarek2019-11-221-9/+3
| |/ / /
* | | | Googletest exportAbseil Team2019-12-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Add GTEST_API_ to correct a build failure under MSCV. PiperOrigin-RevId: 285208464
* | | | Googletest exportAbseil Team2019-12-135-4/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge pull request #2609 from kuzkry:revert-2596Mark Barolak2019-12-061-8/+3
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 284041013
| * | | | Revert "unify googletest and googlemock main functions"Krystian Kuzniarek2019-11-271-8/+3
| | | | | | | | | | | | | | | | | | | | This reverts commit a909becdc599c46bcb57346b6123cb57cd07d15d.
* | | | | Googletest exportAbseil Team2019-12-066-31/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Googletest exportAbseil Team2019-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update example Environment class destructor annotation PiperOrigin-RevId: 283986183
* | | | | Googletest exportAbseil Team2019-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Internal change PiperOrigin-RevId: 283948137
* | | | | Rename test case to test suiteOleksandr Yefremov2019-11-271-1/+1
|/ / / /
* | | | Merge pull request #2596 from kuzkry:remove-workaround_msvc-wmain-link-errorGennadiy Rozental2019-11-261-3/+8
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 282589492
| * | | | unify googletest and googlemock main functionsKrystian Kuzniarek2019-11-221-3/+8
| |/ / /
* | | | Googletest exportAbseil Team2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap call to std::numeric_limits<>::max into round braces to appease MSVC. Closes #2589 PiperOrigin-RevId: 282581361
* | | | Merge pull request #2591 from kuzkry:remove-workaround_g++-using-on-operator<<Gennadiy Rozental2019-11-261-4/+2
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 282575040
| * | | | remove g++ 3.3 workaround: using on operator<<Krystian Kuzniarek2019-11-221-4/+2
| |/ / /
* | | | Merge pull request #2588 from kuzkry:remove-workaround_g++-incorrect-commentsGennadiy Rozental2019-11-262-19/+13
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 282568282
| * | | | change incorrect commentsKrystian Kuzniarek2019-11-052-19/+13
| |/ / /
* | | | Googletest exportAbseil Team2019-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Googletest exportAbseil Team2019-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix typo in the predicate assertion table. PiperOrigin-RevId: 281973457
* | | | Merge pull request #2570 from xieyubo:1.10Gennadiy Civil2019-11-221-0/+3
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 281971090
| * | | | Fix internal memory leak in Windows _Crt report.xyb2019-11-161-0/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use "MemoryIsNotDeallocated" to aovid internal expected leak reported in Windows _Crt report, like: { #ifdef _MSC_VER MemoryIsNotDeallocated memory_is_not_deeallocated; #endif static ThreadIdToThreadLocals* map = new ThreadIdToThreadLocals(); return map; } But int the above code, only "new ThreadIdToThreadLocals()" is protected, if we invoke "insert()" function of the return value, the memory allocated in "insert()" will be reported to _Crt report also. This change try to fix this issue.
* | | | Googletest exportAbseil Team2019-11-228-136/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge pull request #2569 from bgianfo:masterGennadiy Civil2019-11-201-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 281321427
| * | | | Fix FlatTuple compilation on older msvc.Brian Gianforcaro2019-11-151-2/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | googletest 1.10.0 fails to compile on msvc version 19.00.23917 with one compilation error: src\googletest\include\gtest\internal\gtest-internal.h(1188) : error C2039: 'FlatTupleBase<testing::internal::FlatTuple<bool,bool>,testing::internal::IndexSequence<0,1> >': is not a member of 'testing::internal::FlatTuple<bool,bool>' This PR fixes the compilation error by explicitly specifying the full type that Indices is located in the base type.
* | | | Merge pull request #2521 from Sinclair-John:masterAndy Getz2019-11-151-1/+4
|\ \ \ \ | | | | | | | | | | | | | | | PiperOrigin-RevId: 280666222
| * | | | Fix Issue 2418Sinclair-John2019-10-181-1/+4
| | | | |
* | | | | Merge pull request #2554 from kuzkry:update-gen_gtest_pred_implAndy Getz2019-11-131-10/+10
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | PiperOrigin-RevId: 279734102
| * | | | update gen_gtest_pred_impl.pyKrystian Kuzniarek2019-11-051-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | After 7bd4a7f3 gtest_pred_impl_unittest.cc used to be newer than its template.
* | | | | Merge pull request #2556 from ienorand:avoid-pkg-config-lpthread-cflagAndy Getz2019-11-132-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | PiperOrigin-RevId: 279375858
| * | | | | pkg-config: Remove pthread link flag from CflagsMartin Erik Werner2019-11-052-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the threads link library variable references from the pkg-config Cflags: field, removing -lpthread(s) from the compile flags. "-l*" linker flags should only be part of the Libs: section and should not be part of the Cflags: section in pkg-config files. This was first suggested in https://github.com/google/googletest/pull/2006 and further discussed in https://github.com/google/googletest/pull/2483 .
* | | | | | Googletest exportAbseil Team2019-11-081-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly deal with stringification, and forbid empty arguments where they could slip thought, in the type parameterized test API. Note: even where empty args work, 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: 279330971
* | | | | | Googletest exportAbseil Team2019-11-081-1/+1
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clone+exec death test allocates a single page of stack to run chdir + exec on. This is not enough when gtest is built with ASan and run on particular hardware. With ASan on x86_64, ExecDeathTestChildMain has frame size of 1728 bytes. Call to chdir() in ExecDeathTestChildMain ends up in _dl_runtime_resolve_xsavec, which attempts to save register state on the stack; according to cpuid(0xd) XSAVE register save area size is 2568 on my machine. This results in something like this in all death tests: Result: died but not with expected error. ... [ DEATH ] AddressSanitizer:DEADLYSIGNAL [ DEATH ] ================================================================= [ DEATH ] ==178637==ERROR: AddressSanitizer: stack-overflow on address ... PiperOrigin-RevId: 278709790