1
0
mirror of https://github.com/ThrowTheSwitch/CMock synced 2025-05-18 01:59:34 -04:00

Add test for including mocks for user defined inline functions

- Failing now
This commit is contained in:
laurens 2019-11-14 13:12:42 +01:00
parent 56bad95cf7
commit 31244992db

@ -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" +