From 9f79a9597ad9b5394e5c620ebf76824f77ffbde4 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Tue, 13 May 2025 18:25:24 -0700 Subject: [PATCH] Add [[nodiscard]] to GetParam() to prevent accidental misuse. This helps avoid a situation where someone sets up a parameterized test but forgets to actually use the parameter. PiperOrigin-RevId: 758455362 Change-Id: Ie4db03e82b6a4e1787be96f154b3fbb25657ae64 --- googletest/include/gtest/gtest.h | 2 +- googletest/test/googletest-param-test-test.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/googletest/include/gtest/gtest.h b/googletest/include/gtest/gtest.h index 7be0caaf5..cbe680c1a 100644 --- a/googletest/include/gtest/gtest.h +++ b/googletest/include/gtest/gtest.h @@ -1693,7 +1693,7 @@ class WithParamInterface { // The current parameter value. Is also available in the test fixture's // constructor. - static const ParamType& GetParam() { + [[nodiscard]] static const ParamType& GetParam() { GTEST_CHECK_(parameter_ != nullptr) << "GetParam() can only be called inside a value-parameterized test " << "-- did you intend to write TEST_P instead of TEST_F?"; diff --git a/googletest/test/googletest-param-test-test.cc b/googletest/test/googletest-param-test-test.cc index bc1306019..fab977e07 100644 --- a/googletest/test/googletest-param-test-test.cc +++ b/googletest/test/googletest-param-test-test.cc @@ -1174,7 +1174,7 @@ TEST_P(ParameterizedDerivedTest, SeesSequence) { class ParameterizedDeathTest : public ::testing::TestWithParam {}; TEST_F(ParameterizedDeathTest, GetParamDiesFromTestF) { - EXPECT_DEATH_IF_SUPPORTED(GetParam(), ".* value-parameterized test .*"); + EXPECT_DEATH_IF_SUPPORTED((void)GetParam(), ".* value-parameterized test .*"); } INSTANTIATE_TEST_SUITE_P(RangeZeroToFive, ParameterizedDerivedTest,