- no longer takes in cmock_line argument when not needed

git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@218 bf332499-1b4d-0410-844d-d2d48d5cc64c
This commit is contained in:
mvandervoord
2012-05-28 00:55:08 +00:00
parent 5a09a46ebb
commit 9afcb4c832
5 changed files with 28 additions and 6 deletions
+14 -4
View File
@@ -34,8 +34,13 @@ class CMockGeneratorPluginIgnore
def mock_function_declarations(function)
if (function[:return][:void?])
return "#define #{function[:name]}_Ignore() #{function[:name]}_CMockIgnore(__LINE__)\n" +
"void #{function[:name]}_CMockIgnore(UNITY_LINE_TYPE cmock_line);\n"
if (@config.ignore == :args_only)
return "#define #{function[:name]}_Ignore() #{function[:name]}_CMockIgnore(__LINE__)\n" +
"void #{function[:name]}_CMockIgnore(UNITY_LINE_TYPE cmock_line);\n"
else
return "#define #{function[:name]}_Ignore() #{function[:name]}_CMockIgnore()\n" +
"void #{function[:name]}_CMockIgnore(void);\n"
end
else
return "#define #{function[:name]}_IgnoreAndReturn(cmock_retval) #{function[:name]}_CMockIgnoreAndReturn(__LINE__, cmock_retval)\n" +
"void #{function[:name]}_CMockIgnoreAndReturn(UNITY_LINE_TYPE cmock_line, #{function[:return][:str]});\n"
@@ -57,12 +62,17 @@ class CMockGeneratorPluginIgnore
def mock_interfaces(function)
lines = ""
args_only = (@config.ignore == :args_only)
if (function[:return][:void?])
lines << "void #{function[:name]}_CMockIgnore(UNITY_LINE_TYPE cmock_line)\n{\n"
if (args_only)
lines << "void #{function[:name]}_CMockIgnore(UNITY_LINE_TYPE cmock_line)\n{\n"
else
lines << "void #{function[:name]}_CMockIgnore(void)\n{\n"
end
else
lines << "void #{function[:name]}_CMockIgnoreAndReturn(UNITY_LINE_TYPE cmock_line, #{function[:return][:str]})\n{\n"
end
if (@config.ignore == :args_only)
if (args_only)
lines << @utils.code_add_base_expectation(function[:name], true)
elsif (!function[:return][:void?])
lines << @utils.code_add_base_expectation(function[:name], false)
+1
View File
@@ -8,6 +8,7 @@ compiler:
options:
- '-c'
- '-Wall'
- '-Wunused-parameter'
- '-Wno-address'
- '-std=c99'
- '-pedantic'
+1
View File
@@ -8,6 +8,7 @@ compiler:
options:
- '-c'
- '-Wall'
- '-Wunused-parameter'
- '-Wno-address'
- '-std=c99'
- '-pedantic'
+1
View File
@@ -8,6 +8,7 @@ compiler:
options:
- '-c'
- '-Wall'
- '-Wunused-parameter'
- '-std=c99'
- '-Wno-address'
- '-pedantic-errors'
@@ -38,9 +38,18 @@ class CMockGeneratorPluginIgnoreTest < Test::Unit::TestCase
assert_equal(expected, returned)
end
should "handle function declarations for functions without return values" do
should "handle function declarations for functions without return values when args_only" do
function = {:name => "Mold", :args_string => "void", :return => test_return[:void]}
expected = "#define Mold_Ignore() Mold_CMockIgnore(__LINE__)\nvoid Mold_CMockIgnore(UNITY_LINE_TYPE cmock_line);\n"
@config.expect.ignore.returns(:args_only)
returned = @cmock_generator_plugin_ignore.mock_function_declarations(function)
assert_equal(expected, returned)
end
should "handle function declarations for functions without return values when args_and_calls" do
function = {:name => "Mold", :args_string => "void", :return => test_return[:void]}
expected = "#define Mold_Ignore() Mold_CMockIgnore()\nvoid Mold_CMockIgnore(void);\n"
@config.expect.ignore.returns(:args_and_calls)
returned = @cmock_generator_plugin_ignore.mock_function_declarations(function)
assert_equal(expected, returned)
end
@@ -117,7 +126,7 @@ class CMockGeneratorPluginIgnoreTest < Test::Unit::TestCase
should "add a new mock interface for ignoring when function had no return value" do
function = {:name => "Slime", :args => [], :args_string => "void", :return => test_return[:void]}
expected = ["void Slime_CMockIgnore(UNITY_LINE_TYPE cmock_line)\n",
expected = ["void Slime_CMockIgnore(void)\n",
"{\n",
" Mock.Slime_IgnoreBool = (int)1;\n",
"}\n\n"