Commit Graph

1114 Commits

Author SHA1 Message Date
xyb
dcdb65065f Fix internal memory leak in Windows _Crt report.
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.
2019-11-16 09:13:52 -08:00
Brian Gianforcaro
0c469a5a06 Fix FlatTuple compilation on older msvc.
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.
2019-11-15 17:41:40 -08:00
Andy Getz
c27acebba3 Merge pull request #2521 from Sinclair-John:master
PiperOrigin-RevId: 280666222
2019-11-15 17:30:15 -05:00
Andy Getz
f73898f3ff Merge pull request #2554 from kuzkry:update-gen_gtest_pred_impl
PiperOrigin-RevId: 279734102
2019-11-13 17:03:54 -05:00
Andy Getz
11440f27c6 Merge pull request #2556 from ienorand:avoid-pkg-config-lpthread-cflag
PiperOrigin-RevId: 279375858
2019-11-13 17:03:46 -05:00
Abseil Team
d5707695cb Googletest export
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
2019-11-08 15:47:19 -05:00
Abseil Team
681454dae4 Googletest export
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
2019-11-08 15:47:12 -05:00
Xiaoyi Zhang
3e062a6efe Merge pull request #2373 from Youw:master
PiperOrigin-RevId: 278601074
2019-11-05 17:08:09 -05:00
Martin Erik Werner
6caa879a42 pkg-config: Remove pthread link flag from Cflags
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 .
2019-11-05 22:40:49 +01:00
Krystian Kuzniarek
f79ac2ce0e change incorrect comments 2019-11-05 06:55:32 +01:00
Krystian Kuzniarek
f9665846e4 update gen_gtest_pred_impl.py
After 7bd4a7f3 gtest_pred_impl_unittest.cc used to be newer than
its template.
2019-11-05 06:53:20 +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
Abseil Team
2bee6da24e Googletest export
Editorial cleanup of the "write the main function" section

PiperOrigin-RevId: 277102507
2019-10-29 16:51:40 -04:00
Abseil Team
757d39a79b Googletest export
Make it clearer that users should _not_ write their own main functions.

PiperOrigin-RevId: 277079721
2019-10-29 16:51:22 -04:00
vslashg
a8b1a66cfd Merge pull request #2388 from kuzkry:remove-gtest-type-util.pump
PiperOrigin-RevId: 276944601
2019-10-29 16:50:52 -04:00
Krystian Kuzniarek
1a49b67aeb update CONTRIBUTORS 2019-10-25 17:03:39 +02:00
Krystian Kuzniarek
002905f29f move the pumping script to googlemock 2019-10-25 17:03:39 +02:00
Krystian Kuzniarek
a7083564d5 remove gtest-type-util.h.pump 2019-10-25 17:03:39 +02:00
Krystian Kuzniarek
e3a9a567d8 replace autogenerated TemplatesX classes by variadic ones 2019-10-25 17:01:50 +02:00
Krystian Kuzniarek
eed64b5fc6 replace autogenerated TypesX classes by variadic ones 2019-10-25 16:58:35 +02:00
vslashg
540835fa68 Merge pull request #2515 from ciband:feat/support_esp8266
PiperOrigin-RevId: 276333426
2019-10-25 10:21:03 -04:00
Krystian Kuzniarek
6e87238c9b remove BiggestInt 2019-10-24 08:31:26 +02:00
Abseil Team
37f3227831 Googletest export
Add a matcher `testing::ReturnRoundRobin` which, on each call, returns the next element in the sequence, restarting at the beginning once it has reached the end.

PiperOrigin-RevId: 276312136
2019-10-23 15:54:45 -04:00
vslashg
1110c471ca Merge pull request #2522 from cloudrex:patch-1
PiperOrigin-RevId: 276271201
2019-10-23 13:35:36 -04:00
Abseil Team
aa1146da81 Googletest export
Split the scoped trace examples into two snippets.

This doesn't have an effect in the github markdown renderer, but in some other renderers/templates, this leads them to be independently copy-pastable. In particular, the markdown rendering that Google uses internally has a copy button for each code snippet, which, before this change, would copy both lines. Bad copy button, no cookie! After this change, there will be two such buttons, one per line, and clicking a copy button will copy only the one snippet it is next to, and not the other. This is desirable because nobody will ever want to copy both lines, only one or the other.

PiperOrigin-RevId: 276079009
2019-10-23 13:35:16 -04:00
Abseil Team
f1afeaa643 Googletest export
Typo in Registering tests programmatically section. Changed "were" to "where".

PiperOrigin-RevId: 276060801
2019-10-22 10:54:55 -04:00
Gennadiy Civil
8c91ecef29 Merge pull request #2517 from snarkmaster:master
PiperOrigin-RevId: 275869169
2019-10-22 09:38:29 -04:00
Gennadiy Civil
de11283554 Merge pull request #2444 from kuzkry:remove-GTEST_ARRAY_SIZE_
PiperOrigin-RevId: 275842505
2019-10-22 09:38:21 -04:00
Abseil Team
611a321a6e Googletest export
Remove bool_constant in favor of std::integral_constant<bool, ...>;
The one non-trivial use of bool_constant has been changed to have significantly
fewer template specializations.

PiperOrigin-RevId: 275842490
2019-10-22 09:38:12 -04:00
Gennadiy Civil
8ce64c084d Merge pull request #2454 from kuzkry:gtest-port-clean-up_dead-function
PiperOrigin-RevId: 275838743
2019-10-22 09:37:55 -04:00
λtlas
f164a9e23c
Remove extra space 2019-10-19 11:46:52 -04:00
Sinclair-John
5f92697d46 Fix Issue 2418 2019-10-18 19:36:58 +02: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
Chris
778733f9ec feat: Add ESP8266 support
* Added support for ESP8266
* Removed previous Arduino defines in favor
  of GTEST_OS_* syntax
* Improved PlatformIO library file to be more
  stable when consumed in client applications.
2019-10-13 21:39:54 -05: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
Chris Johnson
84a5ae8b85 Update to distinguish prelease purpose of this fork. 2019-10-11 14:31:59 -05:00
Chris Johnson
c2206b05aa Add ESP8266 configs to PlatformIO build
Added various conditional compliations for ESP8266 to stub out
missing functionality.
2019-10-11 11:47:49 -05:00
Chris Johnson
40a6b96621 feat: Add support for ESP8266 platform
Added support for ESP8266 Arduino platform.

Refactored Arduino defines to use the GTEST_OS_* model.
2019-10-11 11:47:49 -05:00
Gennadiy Civil
eafd2a91bb Merge pull request #2456 from kuzkry:gtest-port-clean-up_breaking-changes
PiperOrigin-RevId: 274100752
2019-10-11 07:07:21 -04: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
Gennadiy Civil
5395345ca4 Merge pull request #2497 from thejcannon:handle_null_filename
PiperOrigin-RevId: 273585229
2019-10-10 09:21:47 -04:00
Gennadiy Civil
cb1d5db1a1 Merge pull request #2448 from kuzkry:bad-googletest-export
PiperOrigin-RevId: 273585026
2019-10-10 09:21:38 -04:00
Gennadiy Civil
cd17fa2abd Merge pull request #2475 from peterbarker:pr/google-add-override
PiperOrigin-RevId: 273379796
2019-10-08 14:13:46 -04:00
Gennadiy Civil
3f5a8c6ee6 Merge pull request #2495 from hyukmyeong:typo
PiperOrigin-RevId: 273346440
2019-10-07 15:16:08 -04:00
Joshua Cannon
2ed2211db9 Use FormatFileLocation for streaming file and line 2019-10-07 14:04:31 -05:00
Gennadiy Civil
4360e4267c Merge pull request #2491 from SoapGentoo:fix-GNUInstallDirs-pkg-config
PiperOrigin-RevId: 273342665
2019-10-07 14:52:49 -04:00
David Seifert
b96832a44b
Add documentation for pkg-config in cross-compilation settings 2019-10-05 15:58:48 +02:00
David Seifert
5126ff48d9
Revert "Use pcfiledir for prefix in pkgconfig file"
The change makes implicit assumptions on the layout of the install
tree, which is going to break in many ways.

The correct solution is to use the `PKG_CONFIG_SYSROOT_DIR` variable
to inject the cross-compiled sysroot into `-I` and `-L` paths.
2019-10-05 15:58:45 +02:00
Abseil Team
4105eb7263 Googletest export
Add a compile time check to ensure that the parameters to TEST and TEST_F are not empty

Some compilers may 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: 272543242
2019-10-03 10:52:07 -04:00
hyuk.myeong
51f7396d40 Fix typo in documents 2019-10-01 14:24:55 +09:00
Abseil Team
bf0fe874a2 Googletest export
Use a more portable path for Android to write temp files to.

/sdcard is *not* guaranteed to be available, but /data/local/tmp is.

In some emulated situations, /sdcard may not be mounted, may not be R/W, or
mounting may be delayed until *after* the test process begins.

This is fairly common location to use. See e.g.:
https://reviews.llvm.org/D9569

PiperOrigin-RevId: 270909282
2019-09-27 16:48:17 -04:00
Peter Barker
2460f97152 Add many missing override keywords
This helps corrects builds with -Werror=suggest-overrides
2019-09-25 11:10:09 +10:00
Krystian Kuzniarek
e0d16aa336 remove GTEST_ARRAY_SIZE_
This macro didn't work when an array was passed to a function by pointer,
in which case the information about its size was lost.
Better alternatives are:
* std::extent<T>::value (compile-time)
* std::array<T, N>::size() (compile-time)
* std::distance(std::begin(array), std::end(array)) (run-time)
2019-09-23 19:31:06 +02:00
Krystian Kuzniarek
3339b97c6a square away the stuff that hasn't been merged in a manual review
This fixes up f2fb48c3 (a manual merge) that has abandoned some things
from PR #2407.
2019-09-16 19:22:10 +02:00
kuzkry
f2fb48c3b3 Googletest export
Merge 3bdefdb473d304803d2a38e2a2cd5cdc1827c3bd into fb49e6c164

Closes #2407

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2407 from kuzkry:StaticAssertTypeEq 3bdefdb473d304803d2a38e2a2cd5cdc1827c3bd
PiperOrigin-RevId: 269255328
2019-09-16 11:47:35 -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
Abseil Team
274afe50cf Googletest export
In the text fixtures section, point to the specific FAQ entry on constructors vs. `SetUp`.

PiperOrigin-RevId: 268509969
2019-09-12 12:10:33 -04:00
Krystian Kuzniarek
0cd3fbc8ab change includes in gtest-port.h 2019-09-11 10:45:51 +02:00
Abseil Team
33a0d4f6d7 Googletest export
Some mechanical and grammatical fixes to the Primer.

PiperOrigin-RevId: 268200783
2019-09-10 10:54:21 -04:00
Krystian Kuzniarek
838ea5cea3 remove GTEST_HAS_STD_STRING 2019-09-10 14:49:06 +02:00
Krystian Kuzniarek
bafa644c18 remove a dead function 2019-09-10 14:14:01 +02:00
Abseil Team
3f05f651ae Googletest export
Extend gtest-port and stubs for ESP_PLATFORM

ESP_PLATFORM is the macro used to indicate compilation for the ESP32
using the esp-idf. This isn't a fully posix compatible system so
various features of google test need to be stubbed out in order for
it to work. It's oddly similar to the GTEST_OS_WINDOWS_PHONE setup.

PiperOrigin-RevId: 267471968
2019-09-06 08:00:18 -04:00
Abseil Team
6123df929d Googletest export
Internal Change

PiperOrigin-RevId: 267457395
2019-09-06 08:00:11 -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
Abseil Team
eb56ee5a28 Googletest export
Fix invalid g3doc syntax highlighting languages.

PiperOrigin-RevId: 265905539
2019-08-28 13:11:18 -04:00
kuzkry
db1b739943 Googletest export
Merge b8ca465e73ac0954a0c9eec2a84bdd8913d5763b into 90a443f9c2

Closes #2396

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2396 from kuzkry:custom-type-traits-true/false_type-and-bool_constant b8ca465e73ac0954a0c9eec2a84bdd8913d5763b
PiperOrigin-RevId: 265064856
2019-08-23 16:39:13 -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
9bf34ace71 Merge pull request #2400 from kuzkry:custom-type-traits-enable_if
PiperOrigin-RevId: 264693952
2019-08-23 16:38:47 -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
d5e9e0c38f Merge pull request #2397 from kuzkry:custom-type-traits-is_reference
PiperOrigin-RevId: 264193098
2019-08-19 14:20:11 -04:00
Gennadiy Civil
30e58a89a4 Merge pull request #2381 from Yannic:fix_bazel
PiperOrigin-RevId: 264186624
2019-08-19 14:20:03 -04:00
Gennadiy Civil
9b70406919 Merge pull request #2399 from kuzkry:custom-type-traits-is_same
PiperOrigin-RevId: 263568712
2019-08-15 17:34:18 -04:00
Gennadiy Civil
6aba4a5c45 Merge pull request #2382 from kuzkry:dead-metafunction
PiperOrigin-RevId: 263416977
2019-08-15 17:34:09 -04:00
Gennadiy Civil
c16f57053c Merge pull request #2386 from kuzkry:outdated-comment
PiperOrigin-RevId: 263400925
2019-08-15 17:34:01 -04:00
Abseil Team
de38f63807 Googletest export
Internal change, documentation only.

PiperOrigin-RevId: 262554386
2019-08-15 17:33:20 -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
Krystian Kuzniarek
11471da793 remove a custom implementation of std::enable_if 2019-08-14 00:09:53 +02:00
Krystian Kuzniarek
2c2c9e3357 remove a custom implementation of std::add_lvalue_reference 2019-08-13 22:22:17 +02:00
Krystian Kuzniarek
871dcd1ff5 remove an outdated comment 2019-08-11 13:10:47 +02:00
Krystian Kuzniarek
d51cce4fc7 remove a dead metafunction 2019-08-08 00:36:31 +02:00
Gennadiy Civil
90a443f9c2 Merge pull request #2378 from kuzkry:markdown-table
PiperOrigin-RevId: 262135359
2019-08-07 11:57:30 -04:00
Gennadiy Civil
79690c5375 Merge pull request #2372 from pitrou:issue2371-windows-crt-asserts
PiperOrigin-RevId: 262040609
2019-08-07 11:57:04 -04:00
Yannic Bonenberger
6fd262ecf7 Prepare for Bazel incompatible changes
Fixes googletest for upcoming `--incompatible_load_cc_rules_from_bzl` (https://github.com/bazelbuild/bazel/issues/8743) and `--incompatible_load_python_rules_from_bzl` (https://github.com/bazelbuild/bazel/issues/9006).

This change was automatically generated with `buildifier -lint=fix -warnings=all $(find . -name "BUILD" -o -name "BUILD.bazel" -o -name "*.bzl")`.
2019-08-07 17:08:10 +02:00
Krystian Kuzniarek
6aa98d5cdc fix an improperly generated table 2019-08-07 00:38:37 +02:00
Gennadiy Civil
2f499db00e Merge pull request #2111 from knuto:pr/remove_slash
PiperOrigin-RevId: 261906004
2019-08-06 13:14:49 -04:00
Antoine Pitrou
c39ee9c460 Fix #2371: Redirect Windows CRT assertions to stderr 2019-08-06 13:11:40 +02:00
misterg
11be5f534c Googletest export
Internal Change

PiperOrigin-RevId: 261683482
2019-08-05 13:27:00 -04:00