Add test for including mocks for user defined inline functions

- Failing now
This commit is contained in:
laurens
2019-11-14 13:15:39 +01:00
parent 56bad95cf7
commit 31244992db
+31
View File
@@ -510,6 +510,37 @@ describe CMockHeaderParser, "Verify CMockHeaderParser Module" do
assert_equal(expected, @parser.import_source(source).map!{|s|s.strip})
end
it "Include inline functions that contain user defined inline function formats" do
source =
"uint32 foo(unsigned int);\n" +
"uint32 bar(unsigned int);\n" +
"inline void inlineBar(void)\n" +
"{\n" +
" return 43;\n" +
"}\n" +
"static __inline__ __attribute__ ((always_inline)) int alwaysinlinefunc(int a)\n" +
"{\n" +
" return a + inlineBar();\n" +
"}\n" +
"static __inline__ void inlinebar(unsigned int)\n" +
"{\n" +
" int a = alwaysinlinefunc()\n" +
"}\n"
expected =
[
"uint32 foo(unsigned int)",
"uint32 bar(unsigned int)",
"void inlineBar(void)",
"int alwaysinlinefunc(int a)",
"void inlinebar(unsigned int)"
]
@parser.treat_inlines = :include
@parser.inline_function_patterns = ['static __inline__ __attribute__ \(\(always_inline\)\)', 'static __inline__', '\binline\b']
assert_equal(expected, @parser.import_source(source).map!{|s|s.strip})
end
it "remove defines" do
source =
"#define whatever you feel like defining\n" +