2828 Commits

Author SHA1 Message Date
Gennadiy Civil
60b9298653 Fixing CI break by going to bazel 0.26.1 2019-06-17 16:57:54 -04:00
Gennadiy Civil
c1a584d304 Merge branch 'master' of https://github.com/google/googletest 2019-06-17 16:55:04 -04:00
Gennadiy Civil
02767277bb Revert "testing, explicitly specify compiler"
This reverts commit 6c971ca9a34b3eb82180732db807da74ea71cf79.
2019-06-17 16:54:08 -04:00
Abseil Team
d7003576dd Googletest export
Project import generated by Copybara.

PiperOrigin-RevId: 253600369
2019-06-17 16:34:31 -04:00
misterg
d1185b9ffd Googletest export
Internal Change

PiperOrigin-RevId: 253581166
2019-06-17 16:34:23 -04:00
Gennadiy Civil
176eccfb8f
Merge pull request #2287 from PhilLab/patch-1
docs/primer: Fixed usage of test case
2019-06-17 11:44:48 -04:00
Gennadiy Civil
fd20d1ecce
Merge pull request #2286 from gennadiycivil/master
Removing make and automake.
2019-06-17 11:05:13 -04:00
Philipp Hasper
b72b1bee95
docs/primer: Fixed usage of test case
According to the nomenclature, what was called a test case
is actually a test suite
2019-06-16 15:00:02 +02:00
Gennadiy Civil
e110929a7b Documentation sync working on the documentation being included with the code 2019-06-14 11:36:35 -04:00
Gennadiy Civil
cd6b9ae324 googlemock/docs/CookBook.md small doc test 2019-06-14 11:12:17 -04:00
Gennadiy Civil
41961e9e05 Merge branch 'master' of https://github.com/google/googletest 2019-06-14 09:38:34 -04:00
Gennadiy Civil
f7c178ecb3 Makefiles are no longer supported. Adding pseudo-break with their impending removal to make sure that people who are interested will notice 2019-06-13 17:16:43 -04:00
Gennadiy Civil
38d967e889 doc is still valid 2019-06-13 16:48:25 -04:00
Gennadiy Civil
7ada9b66be Finish removing autotools 2019-06-13 16:40:54 -04:00
Gennadiy Civil
807d590a22 Finish removing autotools 2019-06-13 16:40:44 -04:00
Gennadiy Civil
74905ef841 Also remove googlemock/scripts/gmock-config.in 2019-06-13 16:37:17 -04:00
Gennadiy Civil
84a498decc Merge pull request #2285 from tomalakgeretkal:c++17-fix
PiperOrigin-RevId: 253067038
2019-06-13 14:13:37 -04:00
Gennadiy Civil
6b8c138154 Removing make and automake. The only supported build systems are Bazel internally and CMake community supported 2019-06-13 13:49:42 -04:00
Gennadiy Civil
26afdba792 Merge pull request #2283 from xammy:cmake-cmp0054
PiperOrigin-RevId: 253052041
2019-06-13 13:15:59 -04:00
Tom Lachecki
d515158d9c Fixed issue #2284 (Incompatibility with C++17) 2019-06-13 17:37:33 +01:00
Matthias Walter
e580d99193 Setting CMP0054 policy to NEW. This allows to use the string "SHARED" without interpreting it as a variable. 2019-06-12 23:50:01 +02:00
Gennadiy Civil
af4c2cb098 Formatting Changes 2019-06-12 13:23:06 -04:00
Gennadiy Civil
fa9a476816 Formatting Changes, README 2019-06-12 11:18:40 -04:00
Gennadiy Civil
89656ddbe6
Update README.md 2019-06-12 11:15:00 -04:00
Gennadiy Civil
076b7f7788 remove obsolete codegear files 2019-06-10 13:20:02 -04:00
Gennadiy Civil
fbcb2eb200 removing obsolete language from docs, CMake and Bazel is the only supporeted build methods 2019-06-10 10:51:41 -04:00
Gennadiy Civil
6f79a3b8a7 removing gmock msvc solution, as CMake and Bazel is the only supporeted build methods 2019-06-10 10:35:30 -04:00
Gennadiy Civil
527a493fb2 removing build-aux files , as CMake and Bazel is the only supporeted build methods 2019-06-10 10:34:33 -04:00
Gennadiy Civil
b93980dda7 removing xcode files , as CMake and Bazel is the only supporeted build methods 2019-06-10 10:33:14 -04:00
Gennadiy Civil
60a6d5fc34 removing msvc solution, as CMake and Bazel is the only supporeted build methods 2019-06-10 10:32:16 -04:00
Gennadiy Civil
da10da05c2
Merge pull request #2268 from kalaxy/fuse_spi_in_header
Fuse gtest-spi.h into the resulting header.
2019-06-07 13:08:18 -04:00
Gennadiy Civil
577daedd51
Merge pull request #2274 from goudan-er/master
fix typo
2019-06-07 13:08:03 -04:00
Gennadiy Civil
0183a459e5 Merge pull request #2270 from Peter-Levine:fix-signed-wchar
PiperOrigin-RevId: 251713108
2019-06-07 13:06:50 -04:00
Wenyuan Yan
3ff7cd0f1b
fix typo 2019-06-06 11:47:40 +08:00
Abseil Team
31200def0d Googletest export
fdio_pipe_half is now the same as fdio_pipe_half2. We can switch back to the cleaner name.

PiperOrigin-RevId: 251633832
2019-06-05 11:52:45 -04:00
misterg
08a68b6fb7 Googletest export
comment change

PiperOrigin-RevId: 251231524
2019-06-05 11:52:33 -04:00
Peter Levine
711fccf831 Don't allow signed/unsigned wchar_t in gcc 9 and later 2019-06-04 01:07:18 -04:00
Kalon Mills
6044c267e8 Fuse gtest-spi.h into the resulting header.
Previously this was fused into the source file, but this prevents users of the
fused file from using those utilities directly.
2019-06-03 17:09:08 -07:00
Gennadiy Civil
8ffb7e5c88 Merge pull request #2264 from mbrobbel:suppress-cmp0048-warning
PiperOrigin-RevId: 250620088
2019-05-29 23:36:08 -04:00
Abseil Team
899c082633 Googletest export
Add a safety nullptr check to catch the case where the /tmp file used for capturing a stream cannot be created.

PiperOrigin-RevId: 250523012
2019-05-29 23:35:59 -04:00
Matthijs Brobbel
97d8c47df9
Suppress CMake policy warning (CMP0048)
As suggested in #2150.
2019-05-28 11:06:26 +02:00
Gennadiy Civil
f5edb4f542
Update CONTRIBUTING.md 2019-05-27 09:51:46 -04:00
Gennadiy Civil
a2059b408c
Update CONTRIBUTING.md
Clarify googler PR policy
2019-05-27 09:51:18 -04:00
gennadiycivil
7f1c0f6f81 Merge pull request #2260 from 741g:master
PiperOrigin-RevId: 249660276
2019-05-23 16:20:24 -04:00
Gennadiy Civil
88f0493098 Merge pull request #2259 from ngie-eign:fix-maintainers-typo
PiperOrigin-RevId: 249500162
2019-05-22 18:11:29 -04:00
Gennadiy Civil
dc792bc607
Update README.md
Cleanup, remove legacy build scripts, googletest only provides Bazel and CMake
2019-05-22 13:41:35 -04:00
gennadiycivil
feb55f22c0 removing msvc 2019-05-22 12:10:54 -04:00
gennadiycivil
a67e9a8488 removing msvc 2019-05-22 12:10:06 -04:00
gennadiycivil
928f7a3422 removing codegear 2019-05-22 12:08:29 -04:00
Lingfeng Yang
2f58f41d1a unbreak windows build
windows msvc toolchain with werror and wconversion
will break if converting long to DWORD.
2019-05-22 08:57:06 -07:00
Enji Cooper
699943fe40 Fix typo introduced in 63be3dcc245 (maintaners -> maintainers)
Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-05-19 23:31:04 -07:00
Gennadiy Civil
f71fb4f9a9
Update advanced.md
Adding back section that was lost in merge
2019-05-17 15:10:47 -04:00
Gennadiy Civil
03273a8982 Merge pull request #2254 from chaoran:master
PiperOrigin-RevId: 248759825
2019-05-17 15:05:44 -04:00
Chaoran Yang
5b4a135f62 add unit test for overload & operator 2019-05-13 15:39:18 +00:00
Gennadiy Civil
9d4cde44a4
Added docs for testing::RegisterTest 2019-05-13 10:35:10 -04:00
Chaoran Yang
2fc2383165 Use std::addressof to instead of plain '&'.
Otherwise the code won't compile if the '&' operater is overloaded and
return something that cannot be casted to void *.
2019-05-12 00:14:54 +00:00
Abseil Team
5299815377 Googletest export
Print the test output on assertion failure.

PiperOrigin-RevId: 247283764
2019-05-10 15:28:12 -04:00
Abseil Team
3f5b5b8f84 Googletest export
Remove special case for protocol buffers. It is no longer needed.

PiperOrigin-RevId: 246550795
2019-05-03 15:11:37 -04:00
gennadiycivil
bf3ef5c9b7 Merge pull request #2245 from daquexian:fix_wsign_conversion
PiperOrigin-RevId: 246550729
2019-05-03 15:11:30 -04:00
misterg
63be3dcc24 Googletest export
Clarify build system support - CMake and automake community supported

PiperOrigin-RevId: 245821927
2019-05-03 15:11:22 -04:00
daquexian
ca642a925e Fix -Wsign-conversion error by adding static_cast 2019-05-03 00:21:44 +08:00
Gennadiy Civil
9997a830ee Merge pull request #2242 from SylvestreG:master
PiperOrigin-RevId: 245798478
2019-04-29 15:22:54 -04:00
Gennadiy Civil
3c911d2de2 Removing obsolete msvc 2005 and 2010 2019-04-29 14:43:45 -04:00
Gennadiy Civil
87348c217f Removing obsolete codegear and msvc 2010 2019-04-29 14:39:48 -04:00
misterg
82f9c8d65d Googletest export
Internal Change

PiperOrigin-RevId: 245788057
2019-04-29 14:32:28 -04:00
Gennadiy Civil
61cdca569b Merge pull request #2241 from ngie-eign:fix-wsign-conversion-fallout
PiperOrigin-RevId: 245430295
2019-04-26 13:04:12 -04:00
Sylvestre Gallon
9037e9bda1 Fix compilation on CentOS 7 2019-04-26 13:48:37 +02:00
Enji Cooper
bd47c09b73 Address fallout from -Wsign-conversion work on Windows
Some Windows users builds were broken after a0d60be. This change
addresses the lingering -Wsign-conversion issues with those platforms
by adding some missing `static_cast` calls as needed.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-26 04:08:16 -07:00
Abseil Team
84d986531e Googletest export
Add GTEST_FAIL_AT, an equivalent to ADD_FAILURE_AT but that
spawns a fatal failure rather than a non-fatal, eg. the equivalent
of an ASSERT* failure rather than an EXPECT* failure.

PiperOrigin-RevId: 244746609
2019-04-24 09:34:40 -04:00
Gennadiy Civil
a53e931dcd
Update README.md 2019-04-18 15:58:27 -04:00
misterg
0c68c865f3 Googletest export
Fixes https://github.com/google/googletest/issues/2232

PiperOrigin-RevId: 244237560
2019-04-18 15:46:04 -04:00
Abseil Team
9f4f27b2a5 Googletest export
Remove GMock Doctor.
It has not been actively supported for a while.
We also now have better techniques to improve compiler errors where needed
instead of requiring a separate tool to diagnose them.

PiperOrigin-RevId: 244196068
2019-04-18 15:45:56 -04:00
misterg
fa52cd6363 Googletest export
Expose more information in SuiteApiResolver diagnostic output

PiperOrigin-RevId: 244179347
2019-04-18 15:45:49 -04:00
Gennadiy Civil
a0d60bed4d Merge pull request #2170 from ngie-eign:issue-2146-ver2
PiperOrigin-RevId: 244069956
2019-04-18 09:44:24 -04:00
Abseil Team
9f893b9959 Googletest export
[googletest] Fix death test condition.

PiperOrigin-RevId: 243742424
2019-04-16 16:17:41 -04:00
Abseil Team
6d66818066 Googletest export
Migrate ZX_WAIT_ASYNC_REPEATING to ZX_WAIT_ASYNC_ONCE

ZX_WAIT_ASYNC_REPEATING is deprecated so convert code to use
ZX_WAIT_ASYNC_ONCE instead.

PiperOrigin-RevId: 243707147
2019-04-16 16:17:34 -04:00
Gennadiy Civil
39f72ea6f5 Merge pull request #2230 from return:style-issue
PiperOrigin-RevId: 243313653
2019-04-12 16:36:56 -04:00
Calvin Hill
698d45d3a4 Sort Haiku platform definition alphabetically.
Fixes a minor ordering issue when defining the platform macro.
Also fixes a minor typo: 'Max OS X' -> 'Mac OS X'.
2019-04-12 19:26:07 +01:00
Gennadiy Civil
adc8a88ff0 Merge pull request #2226 from davidben:msvc-5046
PiperOrigin-RevId: 243121568
2019-04-11 15:59:46 -04:00
Gennadiy Civil
ea9c49b9cd Merge pull request #2229 from return:haiku-support
PiperOrigin-RevId: 243104604
2019-04-11 14:31:18 -04:00
Gennadiy Civil
520a1e52a1
Merge pull request #2228 from rongou/patch-2
replace test case with test suite in the primer
2019-04-11 13:53:21 -04:00
Calvin Hill
0a00ba64d5 Add Haiku platform support.
This allows googletest to recognize the Haiku operating system when
running tests in other projects.
2019-04-11 17:28:06 +01:00
Rong Ou
f658dcbaa0
replace test case with test suite in the primer 2019-04-11 09:13:44 -07:00
Gennadiy Civil
7473c5ca5c
Merge pull request #2225 from rongou/patch-1
add missing period
2019-04-11 09:43:03 -04:00
David Benjamin
8e9297b503 MSVC C5046 warning is unavailable in MSVC 2015.
Per the MSVC documentation the warning is new as of Visual Studio 2017,
version 15.8.
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5046?view=vs-2019

GTest users building on MSVC 2015 or older versions of 2017 will, when
C4616 is enabled, see a warning like:

[...]gtest-matchers.h(53): error C2220: warning treated as error - no 'object' file generated
[...]gtest-matchers.h(53): warning C4619: #pragma warning: there is no warning number '5046'

Guard the mention of 5046 by an _MSC_VER check. VS2017 15.8 corresponds
to an _MSC_VER of 1915.
https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019
2019-04-09 18:13:32 -05:00
Rong Ou
d622dfe8ab
add missing period 2019-04-09 10:04:58 -07:00
Gennadiy Civil
604ba376c3
Update README.md 2019-04-07 23:04:31 -04:00
Gennadiy Civil
f683de6587
Merge pull request #2222 from Ivaylo-Kirov/patch-1
Update ForDummies.md
2019-04-07 23:01:52 -04:00
Ivaylo Kirov
dc62d1e76d
Update ForDummies.md 2019-04-06 22:06:17 -04:00
Enji Cooper
3829b84e99 clang: fix -Wsign-conversion errors
Cast some values as their unsigned equivalents or `size_t` to match the
parameter type used for the template object under test. Also, provide
UInt32 equivalent delegate methods for some callers (with
int-equivalents for backwards compatibility).

This closes #2146.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-05 21:30:19 -07:00
Gennadiy Civil
5ba69d5cb9 Merge pull request #2148 from ngie-eign:clang-add-explicit-c++11-rtti-flag
PiperOrigin-RevId: 242038269
2019-04-05 11:46:13 -04:00
Abseil Team
c061ffafd8 Googletest export
[fdio] Improve fdio_pipe_half signature, step 3.

The return value on fdio_pipe_half conflated two things: the error code
on failure (as a zx_status_t) or a file descriptor on success. This
technically worked, because they're both ints, the error code was always
negative, and the file descriptor always positive. However, the stated
return type of zx_status_t was misleading. This changes the signature
such that it always returns an actual zx_status_t, and the file
descriptor is returned through a pointer argument.

Also remove the last argument, since it was always given the same value.

This needs to be done as a soft transition because it's called from the
Dart runtime, from googletest, and from Crashpad, and Crashpad and
Chromium both depend on googletest on Fuchsia. The steps are as follows:
1) Add fdio_pipe_half2.
2) Update Dart to use fdio_pipe_half2.
3) Update googletest to use fdio_pipe_half2.
4) Roll updated googletest into Chronium.
5) Update Crashpad to use fdio_pipe_half2 and roll updated googletest into it.
6) Update fdio_pipe_half to match fdio_pipe_half2.
7) Update Dart to use fdio_pipe_half again.
8) Update googletest to use fdio_pipe_half again.
9) Roll updated googletest into Chronium.
10) Update Crashpad to use fdio_pipe_half again and roll updated googletest into it.
11) Remove fdio_pipe_half2.

This is step 3.

PiperOrigin-RevId: 241957137
2019-04-05 11:46:06 -04:00
Enji Cooper
7475ba5039 clang: explicitly enable/disable RTTI support with the compiler
Add `-frtti` to the compiler with the base flags case so that RTTI is
enabled by default with clang. Add its inverse analog,
`cxx_no_rtti_flags` in order to test the case with RTTI off, similar to
gcc.

This reduces the amount of testing/support overhead needed in the
non-RTTI case with clang, as the tests currently fail when these two
features are off with version 1.8.1. This something I used in when
investigating test failures on FreeBSD, as the tests that rely on
RTTI were failing with googletest 1.8.1 on the OS platform.

More investigation is being done to determine how this should be fixed
on FreeBSD 11.2-RELEASE with ports, as the package doesn't currently
compile the tests, and when enabled (based on my WIP diff), the tests
fail in similar ways.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-03 21:09:20 -07:00
Gennadiy Civil
1f3b098ef3 Merge pull request #2203 from ngie-eign:issue-2189
PiperOrigin-RevId: 241803437
2019-04-03 17:15:16 -04:00
Abseil Team
c9e0aed90b Googletest export
Typos: "more then" -> "more than".
PiperOrigin-RevId: 241483698
2019-04-03 15:14:17 -04:00
Abseil Team
b617b27718 Googletest export
Add HWASan annotations.

These mirror existing ASan annotations.

HWASan uses memory (address) tagging to detect memory errors:
https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html

It inserts a random tag in the MSB of heap and stack allocation addresses. This tag dominates pointer comparison in StackGrowsDown(), making the result non-deterministic, and entirely unrelated to the actual stack growth direction. The function attribute disables this behavior.

The annotations in gtest-printers are there because the printers are used to basically dump memory. The sanitizers may have ideas why this memory should not be accessed, and that is counter productive. In particular, the test may access only part of an array, but in case of a test failure gtest will dump the entire array which may contain uninitialized bytes - that's what SANITIZE_MEMORY annotation is for. There are similar reasons for ADDRESS and THREAD annotations. HWADDRESS in its current implementation can not cause issues there, I believe, but it falls under the same umbrella of tools whose checking should not apply to test printers because it is not the code under test.

PiperOrigin-RevId: 241379822
2019-04-01 15:45:51 -04:00
Gennadiy Civil
2efd659a13 Merge pull request #2163 from ngie-eign:cmake-fix-gtest-binary-prefixing-when-gmock-enabled
PiperOrigin-RevId: 241376090
2019-04-01 15:27:49 -04:00
Abseil Team
d982543131 Googletest export
Remove support for "global" ::string and ::wstring types.
This support existed for legacy codebases that existed from before namespaces
where a thing. It is no longer necessary.

PiperOrigin-RevId: 241335738
2019-04-01 15:05:10 -04:00
Enji Cooper
67c75ff8ba Handle GTEST_SKIP() when calling Environment::SetUp()
gtest prior to this change would completely ignore `GTEST_SKIP()` if
called in `Environment::SetUp()`, instead of bailing out early, unlike
`Test::SetUp()`, which would cause the tests themselves to be skipped.
The only way (prior to this change) to skip the tests would be to
trigger a fatal error via `GTEST_FAIL()`.

Desirable behavior, in this case, when dealing with
`Environment::SetUp()` is to check for prerequisites on a system
(example, kernel supports a particular featureset, e.g., capsicum), and
skip the tests. The alternatives prior to this change would be
undesirable:

- Failing sends the wrong message to the test user, as the result of the
  tests is indeterminate, not failed.
- Having to add per-test class abstractions that override `SetUp()` to
  test for the capsicum feature set, then skip all of the tests in their
  respective SetUp fixtures, would be a lot of human and computational
  work; checking for the feature would need to be done for all of the
  tests, instead of once for all of the tests.

For those reasons, making `Environment::SetUp()` handle `GTEST_SKIP()`,
by not executing the testcases, is the most desirable solution.

In order to properly diagnose what happened when running the tests if
they are skipped, print out the diagnostics in an ad hoc manner.

Update the documentation to note this change and integrate a new test,
gtest_skip_in_environment_setup_test, into the test suite.

This change addresses #2189.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-03-30 11:38:03 -07:00
Enji Cooper
9b6de41b5d Prefix googletest binaries under its own subtree instead of gtest
Building all test binaries under their respective subtrees makes
building the project via cmake easier to grok without additional hacks.
In particular, when dealing with the conversion I proposed in
https://reviews.freebsd.org/D19430 (switching from autotools to cmake),
I ran into unexpected gtest prefixing under the googlemock directory, as
opposed to the googletest directory. Example:

Before: `googlemock/gtest/googletest-break-on-failure-unittest_`
After:  `googletest/googletest-break-on-failure-unittest_`

The latter form is easier to translate to packaging manifests when
building googlemock is disabled, as well as enabled, as the path remains
consistent when the feature flag is disabled.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-03-29 15:00:05 -07:00