Merge 9d0754ba6b6de882d55bdfb9439a84c9aa85dd3e into d72f9c8aea6817cdf1ca0ac10887f328de7f3da2

This commit is contained in:
Thorsten Klein 2026-03-31 11:33:35 -04:00 committed by GitHub
commit 69cfa8b724
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 38 additions and 9 deletions

View File

@ -5795,7 +5795,7 @@ PolymorphicMatcher<internal::ExceptionMatcherImpl<Err>> ThrowsMessage(
} \
template <typename arg_type> \
bool name##Matcher::gmock_Impl<arg_type>::MatchAndExplain( \
const arg_type& arg, \
[[maybe_unused]] const arg_type& arg, \
[[maybe_unused]] ::testing::MatchResultListener* result_listener) const
#define MATCHER_P(name, p0, description) \
@ -5880,7 +5880,7 @@ PolymorphicMatcher<internal::ExceptionMatcherImpl<Err>> ThrowsMessage(
template <typename arg_type> \
bool full_name<GMOCK_INTERNAL_MATCHER_TYPE_PARAMS(args)>:: \
gmock_Impl<arg_type>::MatchAndExplain( \
const arg_type& arg, \
[[maybe_unused]] const arg_type& arg, \
[[maybe_unused]] ::testing::MatchResultListener* result_listener) \
const

View File

@ -301,6 +301,8 @@ void UnorderedElementsAreMatcherImplBase::DescribeToImpl(
case UnorderedMatcherRequire::Subset:
*os << "an injection from elements to requirements exists such that:\n";
break;
default:
break;
}
const char* sep = "";
@ -343,6 +345,8 @@ void UnorderedElementsAreMatcherImplBase::DescribeNegationToImpl(
case UnorderedMatcherRequire::Subset:
*os << "no injection from elements to requirements exists such that:\n";
break;
default:
break;
}
const char* sep = "";
for (size_t i = 0; i != matcher_describers_.size(); ++i) {

View File

@ -301,6 +301,7 @@ void ReportUninterestingCall(CallReaction reaction, const std::string& msg) {
"knowing-when-to-expect-useoncall for details.\n",
stack_frames_to_skip);
break;
case kFail:
default: // FAIL
Expect(false, nullptr, -1, msg);
}

View File

@ -80,7 +80,7 @@ class TemplatedCopyable {
TemplatedCopyable() = default;
template <typename U>
TemplatedCopyable(const U& other) {} // NOLINT
TemplatedCopyable(const U&) {} // NOLINT
};
class FooInterface {

View File

@ -2829,6 +2829,8 @@ class PredicateFormatterFromMatcherTest : public ::testing::Test {
// an "interested" listener; so this will return |true|, thus
// simulating a flaky matcher.
return listener->IsInterested();
default:
break;
}
GTEST_LOG_(FATAL) << "This should never be reached";

View File

@ -91,7 +91,17 @@ macro(config_compiler_and_linker)
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR
CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
set(cxx_base_flags "-Wall -Wshadow -Wconversion -Wundef")
set(cxx_base_flags "-Wall \
-Wshadow \
-Wconversion \
-Wundef \
-Wswitch-default \
-Wswitch-enum \
-Wextra \
-Wcast-align \
-Wunused \
-Wunreachable-code \
")
set(cxx_exception_flags "-fexceptions")
set(cxx_no_exception_flags "-fno-exceptions")
set(cxx_strict_flags "-W -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wunused-parameter -Wcast-align -Winline -Wredundant-decls")

View File

@ -243,6 +243,8 @@ GTEST_API_ bool ExitedUnsuccessfully(int exit_status);
gtest_dt->Abort(::testing::internal::DeathTest::TEST_DID_NOT_DIE); \
break; \
} \
default: \
break; \
} \
} \
} else \

View File

@ -1497,6 +1497,8 @@ class Hunk {
++adds_;
hunk_adds_.push_back(std::make_pair('+', line));
break;
default:
break;
}
}
@ -3308,6 +3310,7 @@ static const char* GetAnsiColorCode(GTestColor color) {
return "2";
case GTestColor::kYellow:
return "3";
case GTestColor::kDefault:
default:
assert(false);
return "9";
@ -3564,6 +3567,9 @@ void PrettyUnitTestResultPrinter::OnTestPartResult(
// If the test part succeeded, we don't need to do anything.
case TestPartResult::kSuccess:
return;
case TestPartResult::kNonFatalFailure:
case TestPartResult::kFatalFailure:
case TestPartResult::kSkip:
default:
// Print failure message from the assertion
// (e.g. expected this and got that).
@ -3782,6 +3788,9 @@ void BriefUnitTestResultPrinter::OnTestPartResult(
// If the test part succeeded, we don't need to do anything.
case TestPartResult::kSuccess:
return;
case TestPartResult::kNonFatalFailure:
case TestPartResult::kFatalFailure:
case TestPartResult::kSkip:
default:
// Print failure message from the assertion
// (e.g. expected this and got that).

View File

@ -348,7 +348,7 @@ TEST_F(TestForDeathTest, SwitchStatement) {
ASSERT_DEATH(_Exit(1), "") << "exit in default switch handler";
switch (0)
case 0:
default:
EXPECT_DEATH(_Exit(1), "") << "exit in switch case";
GTEST_DISABLE_MSC_WARNINGS_POP_()
@ -1501,7 +1501,7 @@ TEST(ConditionalDeathMacrosSyntaxDeathTest, SwitchStatement) {
ASSERT_DEATH_IF_SUPPORTED(_Exit(1), "") << "exit in default switch handler";
switch (0)
case 0:
default:
EXPECT_DEATH_IF_SUPPORTED(_Exit(1), "") << "exit in switch case";
GTEST_DISABLE_MSC_WARNINGS_POP_()

View File

@ -239,7 +239,7 @@ TEST(GtestCheckSyntaxTest, WorksWithSwitch) {
}
switch (0)
case 0:
default:
GTEST_CHECK_(true) << "Check failed in switch case";
}

View File

@ -63,6 +63,7 @@ class MyEnvironment : public testing::Environment {
case FATAL_FAILURE:
FAIL() << "Expected fatal failure in global set-up.";
break;
case NO_FAILURE:
default:
break;
}

View File

@ -4248,7 +4248,7 @@ TEST(AssertionSyntaxTest, WorksWithSwitch) {
}
switch (0)
case 0:
default:
EXPECT_FALSE(false) << "EXPECT_FALSE failed in switch case";
// Binary assertions are implemented using a different code path
@ -4260,7 +4260,7 @@ TEST(AssertionSyntaxTest, WorksWithSwitch) {
}
switch (0)
case 0:
default:
EXPECT_NE(1, 2);
}