c3d27e0a | 27-Apr-2023 |
Andrew Jeffery <andrew@aj.id.au> |
host-bmc: test: Avoid -Werror=overloaded-virtual
Drop the const qualifier for the createHostEffecterMatch() mock to resolve the following error:
``` In file included from ../host-bmc/test/dbus_to_h
host-bmc: test: Avoid -Werror=overloaded-virtual
Drop the const qualifier for the createHostEffecterMatch() mock to resolve the following error:
``` In file included from ../host-bmc/test/dbus_to_host_effecter_test.cpp:3: ../host-bmc/dbus_to_host_effecters.hpp:169:18: error: ‘virtual void pldm::host_effecters::HostEffecterParser::createHostEffecterMatch(const std::string&, const std::string&, size_t, size_t, uint16_t)’ was hidden [-Werror=overloaded-virtual=] 169 | virtual void createHostEffecterMatch(const std::string& objectPath, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ../subprojects/googletest/googlemock/include/gmock/gmock-actions.h:147, from ../subprojects/googletest/googlemock/include/gmock/gmock.h:56, from ../common/test/mocked_utils.hpp:3, from ../host-bmc/test/dbus_to_host_effecter_test.cpp:1: ../host-bmc/test/dbus_to_host_effecter_test.cpp:28:23: note: by ‘testing::internal::Function<void(const std::__cxx11::basic_string<char>&, const std::__cxx11::basic_string<char>&, long unsigned int, long unsigned int, short unsigned int)>::Result MockHostEffecterParser::createHostEffecterMatch(testing::internal::ElemFromList<0, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, long unsigned int, short unsigned int>::type, testing::internal::ElemFromList<1, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, long unsigned int, short unsigned int>::type, testing::internal::ElemFromList<2, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, long unsigned int, short unsigned int>::type, testing::internal::ElemFromList<3, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, long unsigned int, short unsigned int>::type, testing::internal::ElemFromList<4, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, long unsigned int, long unsigned int, short unsigned int>::type) const’ 28 | MOCK_METHOD(void, createHostEffecterMatch, | ^~~~~~~~~~~~~~~~~~~~~~~ ../subprojects/googletest/googlemock/include/gmock/internal/gmock-pp.h:17:31: note: in definition of macro ‘GMOCK_PP_IDENTITY’ 17 | #define GMOCK_PP_IDENTITY(_1) _1 | ^~ ../subprojects/googletest/googlemock/include/gmock/gmock-function-mocker.h:132:3: note: in expansion of macro ‘GMOCK_INTERNAL_MOCK_METHOD_IMPL’ 132 | GMOCK_INTERNAL_MOCK_METHOD_IMPL( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../subprojects/googletest/googlemock/include/gmock/internal/gmock-pp.h:152:39: note: in expansion of macro ‘GMOCK_INTERNAL_MOCK_METHOD_ARG_4’ 152 | #define GMOCK_PP_INTERNAL_CAT(_1, _2) _1##_2 | ^~ ../subprojects/googletest/googlemock/include/gmock/gmock-function-mocker.h:114:3: note: in expansion of macro ‘GMOCK_PP_VARIADIC_CALL’ 114 | GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~~~~~~~ ../host-bmc/test/dbus_to_host_effecter_test.cpp:28:5: note: in expansion of macro ‘MOCK_METHOD’ 28 | MOCK_METHOD(void, createHostEffecterMatch, | ^~~~~~~~~~~ ../host-bmc/dbus_to_host_effecters.hpp:145:9: error: ‘virtual int pldm::host_effecters::HostEffecterParser::setHostStateEffecter(size_t, std::vector<state_field_for_state_effecter_set>&, uint16_t)’ was hidden [-Werror=overloaded-virtual=] 145 | setHostStateEffecter(size_t effecterInfoIndex, | ^~~~~~~~~~~~~~~~~~~~ ../host-bmc/test/dbus_to_host_effecter_test.cpp:24:23: note: by ‘testing::internal::Function<void(long unsigned int, std::vector<state_field_for_state_effecter_set>&, short unsigned int)>::Result MockHostEffecterParser::setHostStateEffecter(testing::internal::ElemFromList<0, long unsigned int, std::vector<state_field_for_state_effecter_set, std::allocator<state_field_for_state_effecter_set> >&, short unsigned int>::type, testing::internal::ElemFromList<1, long unsigned int, std::vector<state_field_for_state_effecter_set, std::allocator<state_field_for_state_effecter_set> >&, short unsigned int>::type, testing::internal::ElemFromList<2, long unsigned int, std::vector<state_field_for_state_effecter_set, std::allocator<state_field_for_state_effecter_set> >&, short unsigned int>::type) const’ 24 | MOCK_METHOD(void, setHostStateEffecter, | ^~~~~~~~~~~~~~~~~~~~ ../subprojects/googletest/googlemock/include/gmock/internal/gmock-pp.h:17:31: note: in definition of macro ‘GMOCK_PP_IDENTITY’ 17 | #define GMOCK_PP_IDENTITY(_1) _1 | ^~ ../subprojects/googletest/googlemock/include/gmock/gmock-function-mocker.h:132:3: note: in expansion of macro ‘GMOCK_INTERNAL_MOCK_METHOD_IMPL’ 132 | GMOCK_INTERNAL_MOCK_METHOD_IMPL( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../subprojects/googletest/googlemock/include/gmock/internal/gmock-pp.h:152:39: note: in expansion of macro ‘GMOCK_INTERNAL_MOCK_METHOD_ARG_4’ 152 | #define GMOCK_PP_INTERNAL_CAT(_1, _2) _1##_2 | ^~ ../subprojects/googletest/googlemock/include/gmock/gmock-function-mocker.h:114:3: note: in expansion of macro ‘GMOCK_PP_VARIADIC_CALL’ 114 | GMOCK_PP_VARIADIC_CALL(GMOCK_INTERNAL_MOCK_METHOD_ARG_, __VA_ARGS__) \ | ^~~~~~~~~~~~~~~~~~~~~~ ../host-bmc/test/dbus_to_host_effecter_test.cpp:24:5: note: in expansion of macro ‘MOCK_METHOD’ 24 | MOCK_METHOD(void, setHostStateEffecter, | ^~~~~~~~~~~ ```
The warning was triggered by g++ on Fedora 38:
``` $ ( . /etc/os-release && echo $PRETTY_NAME ) Fedora Linux 38 (Server Edition) $ g++ --version g++ (GCC) 13.0.1 20230401 (Red Hat 13.0.1-0) Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ```
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I138e73d733f9c220e62534815b5a2d1ddcb85b8a
show more ...
|