eranpeer / FakeIt

C++ mocking made easy. A simple yet very expressive, headers only library for c++ mocking.
MIT License
1.24k stars 170 forks source link

gcc 6 with -Wsuggest-override #100

Closed myrgy closed 6 years ago

myrgy commented 7 years ago

gcc report plenty of warnings on fakeit.hpp (single file version for catch) I think it might be nice to add some FAKEIT_OVERRIDE macro or just mark all methods as override

fakeit/include/fakeit.hpp: In instantiation of 'class fakeit::MockImpl<Handler>::MethodMockingContextBase<void, MyTest*>': /fakeit/include/fakeit.hpp:8006:15: required from 'class fakeit::MockImpl<Handler>::MethodMockingContextImpl<void, MyTest*>' fakeit/include/fakeit.hpp:8031:15: required from 'class fakeit::MockImpl<Handler>::UniqueMethodMockingContextImpl<0, void, MyTest*>' fakeit/include/fakeit.hpp:7952:50: required from 'fakeit::MockingContext<R, arglist ...> fakeit::MockImpl<C, baseclasses>::stubMethod(R (T::*)(arglist ...)) [with int id = 0; R = void; T = Handler; arglist = {MyTest*}; <template-parameter-2-5> = void; C = Handler; baseclasses = {}]' fakeit/include/fakeit.hpp:8289:75: required from 'fakeit::MockingContext<void, arglist ...> fakeit::Mock<C, baseclasses>::stub(R (T::*)(arglist ...)) [with int id = 0; R = void; T = Handler; arglist = {MyTest*}; <template-parameter-2-5> = void; C = Handler; baseclasses = {}]' fakeit/include/fakeit.hpp:7978:18: warning: 'void fakeit::MockImpl<C, baseclasses>::MethodMockingContextBase<R, arglist>::addMethodInvocationHandler(typename fakeit::ActualInvocation<arglist ...>::Matcher*, fakeit::ActualInvocationHandler<R, arglist ...>*) [with R = void; arglist = {MyTest*}; C = Handler; baseclasses = {}; typename fakeit::ActualInvocation<arglist ...>::Matcher = fakeit::ActualInvocation<MyTest*>::Matcher]' can be marked override [-Wsuggest-override] void addMethodInvocationHandler(typename ActualInvocation<arglist...>::Matcher *matcher, ^~~~~~~~~~~~~~~~~~~~~~~~~~ fakeit/include/fakeit.hpp:7983:18: warning: 'void fakeit::MockImpl<C, baseclasses>::MethodMockingContextBase<R, arglist>::scanActualInvocations(const std::function<void(fakeit::ActualInvocation<arglist ...>&)>&) [with R = void; arglist = {MyTest*}; C = Handler; baseclasses = {}]' can be marked override [-Wsuggest-override] void scanActualInvocations(const std::function<void(ActualInvocation<arglist...> &)> &scanner) { ^~~~~~~~~~~~~~~~~~~~~ fakeit/include/fakeit.hpp:7987:18: warning: 'void fakeit::MockImpl<C, baseclasses>::MethodMockingContextBase<R, arglist>::setMethodDetails(std::__cxx11::string, std::__cxx11::string) [with R = void; arglist = {MyTest*}; C = Handler; baseclasses = {}; std::__cxx11::string = std::__cxx11::basic_string<char>]' can be marked override [-Wsuggest-override] void setMethodDetails(std::string mockName, std::string methodName) { ^~~~~~~~~~~~~~~~ fakeit/include/fakeit.hpp:7991:18: warning: 'bool fakeit::MockImpl<C, baseclasses>::MethodMockingContextBase<R, arglist>::isOfMethod(fakeit::MethodInfo&) [with R = void; arglist = {MyTest*}; C = Handler; baseclasses = {}]' can be marked override [-Wsuggest-override] bool isOfMethod(MethodInfo &method) { ^~~~~~~~~~