diff --git a/Call.cpp b/Call.cpp index e3bb419..ad8df87 100644 --- a/Call.cpp +++ b/Call.cpp @@ -1,5 +1,4 @@ #include "elfspy/Call.h" -#include "elfspy/Fake.h" namespace spy { diff --git a/elfspy/Fake.h b/elfspy/Fake.h index 56b1a5a..d98ed8a 100644 --- a/elfspy/Fake.h +++ b/elfspy/Fake.h @@ -4,6 +4,7 @@ #include "elfspy/Lambda.h" #include +#include namespace spy { @@ -19,7 +20,16 @@ namespace spy class FakeI { }; -extern std::vector> fake_list; +extern std::vector fake_list; +void delete_mocks (void) { + while (fake_list.size () != 0) { + auto index = fake_list.size () - 1; + auto element = fake_list[index]; + + fake_list.erase (fake_list.begin() + index); + delete element; + } +} template class Fake : FakeI { diff --git a/elfspy/Lambda.h b/elfspy/Lambda.h index cf95a94..4299da4 100644 --- a/elfspy/Lambda.h +++ b/elfspy/Lambda.h @@ -1,6 +1,8 @@ #ifndef ELFSPY_LAMBDA_H #define ELFSPY_LAMBDA_H +#include + namespace spy { diff --git a/meson.build b/meson.build index 003bff8..afe1c52 100644 --- a/meson.build +++ b/meson.build @@ -11,6 +11,7 @@ sources = [ 'GOTEntry.cpp', 'Fail.cpp', 'MFile.cpp', + 'Fake.cpp', ] headers = [