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:
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" +
|
||||
|
Loading…
x
Reference in New Issue
Block a user