aboutsummaryrefslogtreecommitdiff
path: root/tools/interface_generator/templates/interface_mock.hpp.mako
diff options
context:
space:
mode:
authoraqua <aqua@iserlohn-fortress.net>2024-08-07 17:36:57 +0300
committeraqua <aqua@iserlohn-fortress.net>2024-08-07 17:36:57 +0300
commitdcd2f898af9d4efcb22417c19fa1b3abc8c548c5 (patch)
tree3ef0eaa4b9595bf90c733e8f196edd1c3f72c472 /tools/interface_generator/templates/interface_mock.hpp.mako
parentAdded interface_generator (diff)
downloadkernel-dcd2f898af9d4efcb22417c19fa1b3abc8c548c5.tar.xz
Added bazel rule for interface_generator
Diffstat (limited to 'tools/interface_generator/templates/interface_mock.hpp.mako')
-rw-r--r--tools/interface_generator/templates/interface_mock.hpp.mako26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/interface_generator/templates/interface_mock.hpp.mako b/tools/interface_generator/templates/interface_mock.hpp.mako
new file mode 100644
index 0000000..e33d50e
--- /dev/null
+++ b/tools/interface_generator/templates/interface_mock.hpp.mako
@@ -0,0 +1,26 @@
+<%include file="__header.mako" />
+#ifndef ${ name.upper() }_MOCK
+#define ${ name.upper() }_MOCK
+
+extern "C" {
+#include "${ name }.h"
+}
+
+#include <gtest/gtest.h>
+#include <gmock/gmock.h>
+
+class I${name}_mock
+{
+public:
+ I${name}_mock();
+ ~I${name}_mock();
+
+ /* Functions */
+% for fn in functions:
+ MOCK_METHOD(${fn['return']}, ${fn['name']}, (${ ", ".join(fn['arguments']) }));
+% endfor
+};
+
+using ${name}_mock = ::testing::NiceMock<I${name}_mock>;
+
+#endif /* ${ name.upper() }_MOCK */