Merge pull request #1911 from BrukerJWD:isnice
PiperOrigin-RevId: 218384341
This commit is contained in:
commit
20eaf6e3a9
|
@ -198,7 +198,6 @@ Google Test (the name is chosen to match `static_assert` in C++0x).
|
|||
If you are writing a function that returns an `ACTION` object, you'll
|
||||
need to know its type. The type depends on the macro used to define
|
||||
the action and the parameter types. The rule is relatively simple:
|
||||
|
||||
| **Given Definition** | **Expression** | **Has Type** |
|
||||
|:-------------------------|:-----------------------------|:-------------------------|
|
||||
| `ACTION(Foo)` | `Foo()` | `FooAction` |
|
||||
|
|
|
@ -399,6 +399,16 @@ class GTEST_API_ Mock {
|
|||
static bool VerifyAndClear(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
|
||||
|
||||
// Returns whether the mock was created as a naggy mock (default)
|
||||
static bool IsNaggy(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
|
||||
// Returns whether the mock was created as a nice mock
|
||||
static bool IsNice(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
|
||||
// Returns whether the mock was created as a strict mock
|
||||
static bool IsStrict(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex);
|
||||
|
||||
private:
|
||||
friend class internal::UntypedFunctionMockerBase;
|
||||
|
||||
|
|
|
@ -757,6 +757,19 @@ bool Mock::VerifyAndClearExpectationsLocked(void* mock_obj)
|
|||
return expectations_met;
|
||||
}
|
||||
|
||||
bool Mock::IsNaggy(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
|
||||
return Mock::GetReactionOnUninterestingCalls(mock_obj) == internal::kWarn;
|
||||
}
|
||||
bool Mock::IsNice(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
|
||||
return Mock::GetReactionOnUninterestingCalls(mock_obj) == internal::kAllow;
|
||||
}
|
||||
bool Mock::IsStrict(void* mock_obj)
|
||||
GTEST_LOCK_EXCLUDED_(internal::g_gmock_mutex) {
|
||||
return Mock::GetReactionOnUninterestingCalls(mock_obj) == internal::kFail;
|
||||
}
|
||||
|
||||
// Registers a mock object and a mock method it owns.
|
||||
void Mock::Register(const void* mock_obj,
|
||||
internal::UntypedFunctionMockerBase* mocker)
|
||||
|
|
|
@ -184,6 +184,13 @@ TEST(RawMockTest, InfoForUninterestingCall) {
|
|||
GMOCK_FLAG(verbose) = saved_flag;
|
||||
}
|
||||
|
||||
TEST(RawMockTest, IsNaggy_IsNice_IsStrict) {
|
||||
MockFoo raw_foo;
|
||||
EXPECT_TRUE(Mock::IsNaggy(&raw_foo));
|
||||
EXPECT_FALSE(Mock::IsNice(&raw_foo));
|
||||
EXPECT_FALSE(Mock::IsStrict(&raw_foo));
|
||||
}
|
||||
|
||||
// Tests that a nice mock generates no warning for uninteresting calls.
|
||||
TEST(NiceMockTest, NoWarningForUninterestingCall) {
|
||||
NiceMock<MockFoo> nice_foo;
|
||||
|
@ -309,6 +316,13 @@ TEST(NiceMockTest, AcceptsClassNamedMock) {
|
|||
}
|
||||
#endif // !GTEST_OS_SYMBIAN && !GTEST_OS_WINDOWS_MOBILE
|
||||
|
||||
TEST(NiceMockTest, IsNaggy_IsNice_IsStrict) {
|
||||
NiceMock<MockFoo> nice_foo;
|
||||
EXPECT_FALSE(Mock::IsNaggy(&nice_foo));
|
||||
EXPECT_TRUE(Mock::IsNice(&nice_foo));
|
||||
EXPECT_FALSE(Mock::IsStrict(&nice_foo));
|
||||
}
|
||||
|
||||
#if GTEST_HAS_STREAM_REDIRECTION
|
||||
|
||||
// Tests that a naggy mock generates warnings for uninteresting calls.
|
||||
|
@ -417,6 +431,13 @@ TEST(NaggyMockTest, AcceptsClassNamedMock) {
|
|||
}
|
||||
#endif // !GTEST_OS_SYMBIAN && !GTEST_OS_WINDOWS_MOBILE
|
||||
|
||||
TEST(NaggyMockTest, IsNaggy_IsNice_IsStrict) {
|
||||
NaggyMock<MockFoo> naggy_foo;
|
||||
EXPECT_TRUE(Mock::IsNaggy(&naggy_foo));
|
||||
EXPECT_FALSE(Mock::IsNice(&naggy_foo));
|
||||
EXPECT_FALSE(Mock::IsStrict(&naggy_foo));
|
||||
}
|
||||
|
||||
// Tests that a strict mock allows expected calls.
|
||||
TEST(StrictMockTest, AllowsExpectedCall) {
|
||||
StrictMock<MockFoo> strict_foo;
|
||||
|
@ -506,5 +527,12 @@ TEST(StrictMockTest, AcceptsClassNamedMock) {
|
|||
}
|
||||
#endif // !GTEST_OS_SYMBIAN && !GTEST_OS_WINDOWS_MOBILE
|
||||
|
||||
TEST(StrictMockTest, IsNaggy_IsNice_IsStrict) {
|
||||
StrictMock<MockFoo> strict_foo;
|
||||
EXPECT_FALSE(Mock::IsNaggy(&strict_foo));
|
||||
EXPECT_FALSE(Mock::IsNice(&strict_foo));
|
||||
EXPECT_TRUE(Mock::IsStrict(&strict_foo));
|
||||
}
|
||||
|
||||
} // namespace gmock_nice_strict_test
|
||||
} // namespace testing
|
||||
|
|
|
@ -1487,7 +1487,7 @@ returns the value of `testing::PrintToString(GetParam())`. It does not work for
|
|||
|
||||
NOTE: test names must be non-empty, unique, and may only contain ASCII
|
||||
alphanumeric characters. In particular, they [should not contain
|
||||
underscores](https://github.com/google/googletest/blob/master/googletest/docs/faq.md#why-should-test-case-names-and-test-names-not-contain-underscore).
|
||||
underscores](https://g3doc.corp.google.com/third_party/googletest/googletest/g3doc/faq.md#no-underscores).
|
||||
|
||||
```c++
|
||||
class MyTestCase : public testing::TestWithParam<int> {};
|
||||
|
@ -2204,7 +2204,8 @@ environment variable to `0`.
|
|||
|
||||
googletest can emit a detailed XML report to a file in addition to its normal
|
||||
textual output. The report contains the duration of each test, and thus can help
|
||||
you identify slow tests.
|
||||
you identify slow tests. The report is also used by the http://unittest
|
||||
dashboard to show per-test-method error messages.
|
||||
|
||||
To generate the XML report, set the `GTEST_OUTPUT` environment variable or the
|
||||
`--gtest_output` flag to the string `"xml:path_to_output_file"`, which will
|
||||
|
|
Loading…
Reference in New Issue
Block a user