What steps will reproduce the problem?
1. call a mocked function one too many times on a line with multiple mocked
calls
mock_object<interface> mock;
mock_object<other> other_mock;
if (mock.getInstance().f() && other_mock.getInstance().g()) {}
2. a missing_implementation_exception() is thrown with no details about which
class/member is involved
this is presenting a major usability problem, requiring disassembly-level
debugging on some platforms.
What is the expected output? What do you see instead?
the exception ideally would have the member name in the what() of the
exception. while there's no platform-agnostic way to do this, glibc offers
dladdr() that returns a struct containing the symbol name in the dli_sname
field.
non-ideally, the typeinfo() or method signature ((bool)interface::*) being in
the what() would provide enough of a clue in most cases.
I have some ideas for ways to modify dynamic_object to do some of this, but
want to get other ideas as well.
Original issue reported on code.google.com by
plaztiks...@gmail.comon 7 Mar 2013 at 9:55