mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-08-13 22:57:52 +00:00
- updated to support latest cexception changes
git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@149 bf332499-1b4d-0410-844d-d2d48d5cc64c
This commit is contained in:
@@ -13,7 +13,7 @@ class CMockGeneratorPluginCexception
|
||||
|
||||
def include_files
|
||||
include = @config.cexception_include
|
||||
include = "Exception.h" if (include.nil?)
|
||||
include = "CException.h" if (include.nil?)
|
||||
return "#include \"#{include}\"\n"
|
||||
end
|
||||
|
||||
@@ -23,9 +23,9 @@ class CMockGeneratorPluginCexception
|
||||
|
||||
def mock_function_declarations(function)
|
||||
if (function[:args_string] == "void")
|
||||
return "void #{function[:name]}_ExpectAndThrow(EXCEPTION_T toThrow);\n"
|
||||
return "void #{function[:name]}_ExpectAndThrow(CEXCEPTION_T toThrow);\n"
|
||||
else
|
||||
return "void #{function[:name]}_ExpectAndThrow(#{function[:args_string]}, EXCEPTION_T toThrow);\n"
|
||||
return "void #{function[:name]}_ExpectAndThrow(#{function[:args_string]}, CEXCEPTION_T toThrow);\n"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -36,10 +36,10 @@ class CMockGeneratorPluginCexception
|
||||
def mock_interfaces(function)
|
||||
arg_insert = (function[:args_string] == "void") ? "" : "#{function[:args_string]}, "
|
||||
call_string = function[:args].map{|m| m[:name]}.join(', ')
|
||||
[ "void #{function[:name]}_ExpectAndThrow(#{arg_insert}EXCEPTION_T toThrow)\n{\n",
|
||||
[ "void #{function[:name]}_ExpectAndThrow(#{arg_insert}CEXCEPTION_T toThrow)\n{\n",
|
||||
@utils.code_add_base_expectation(function[:name]),
|
||||
@utils.code_insert_item_into_expect_array('int', "Mock.#{function[:name]}_ThrowOnCallCount", "Mock.#{function[:name]}_CallsExpected"),
|
||||
@utils.code_insert_item_into_expect_array('EXCEPTION_T', "Mock.#{function[:name]}_ThrowValue", "toThrow"),
|
||||
@utils.code_insert_item_into_expect_array('CEXCEPTION_T', "Mock.#{function[:name]}_ThrowValue", "toThrow"),
|
||||
(MOCK_INTERFACE_THROW_HANDLING_SNIPPET % function[:name]),
|
||||
(function[:args_string] != "void") ? " ExpectParameters_#{function[:name]}(#{call_string});\n" : nil,
|
||||
"}\n\n" ].join
|
||||
@@ -55,9 +55,9 @@ class CMockGeneratorPluginCexception
|
||||
int *%1$s_ThrowOnCallCount;
|
||||
int *%1$s_ThrowOnCallCount_Head;
|
||||
int *%1$s_ThrowOnCallCount_Tail;
|
||||
EXCEPTION_T *%1$s_ThrowValue;
|
||||
EXCEPTION_T *%1$s_ThrowValue_Head;
|
||||
EXCEPTION_T *%1$s_ThrowValue_Tail;
|
||||
CEXCEPTION_T *%1$s_ThrowValue;
|
||||
CEXCEPTION_T *%1$s_ThrowValue_Head;
|
||||
CEXCEPTION_T *%1$s_ThrowValue_Tail;
|
||||
]
|
||||
|
||||
MOCK_IMPLEMENTATION_SNIPPET = %q[
|
||||
@@ -67,7 +67,7 @@ class CMockGeneratorPluginCexception
|
||||
if (*Mock.%1$s_ThrowOnCallCount &&
|
||||
(Mock.%1$s_CallCount == *Mock.%1$s_ThrowOnCallCount))
|
||||
{
|
||||
EXCEPTION_T toThrow = *Mock.%1$s_ThrowValue;
|
||||
CEXCEPTION_T toThrow = *Mock.%1$s_ThrowValue;
|
||||
Mock.%1$s_ThrowOnCallCount++;
|
||||
Mock.%1$s_ThrowValue++;
|
||||
Throw(toThrow);
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#ifndef _EXCEPTION_H
|
||||
#define _EXCEPTION_H
|
||||
|
||||
// Just use defaults
|
||||
// INCLUDE THE ACTUAL CEXCEPTION LIBRARY
|
||||
#include "CException.h"
|
||||
|
||||
#endif // _EXCEPTION_H
|
||||
@@ -14,7 +14,7 @@
|
||||
} POINT_T;
|
||||
|
||||
:mockable: |
|
||||
#include "Exception.h"
|
||||
#include "CException.h"
|
||||
void foo(POINT_T* a);
|
||||
POINT_T* bar(void);
|
||||
void fooa(POINT_T a[]);
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
:source:
|
||||
:header: |
|
||||
#include "Exception.h"
|
||||
#include "CException.h"
|
||||
void function_a(void);
|
||||
void function_b(void);
|
||||
void function_c(void);
|
||||
@@ -42,7 +42,7 @@
|
||||
}
|
||||
|
||||
void function_c(void) {
|
||||
EXCEPTION_T e;
|
||||
CEXCEPTION_T e;
|
||||
Try {
|
||||
foos(bars());
|
||||
} Catch(e) { foos("err"); }
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
typedef signed int custom_type;
|
||||
|
||||
:mockable: |
|
||||
#include "Exception.h"
|
||||
#include "CException.h"
|
||||
UINT32 foo(custom_type a);
|
||||
UINT32 bar(custom_type b);
|
||||
void baz(custom_type c);
|
||||
|
||||
:source:
|
||||
:header: |
|
||||
#include "Exception.h"
|
||||
#include "CException.h"
|
||||
UINT32 function_a(int a, int b);
|
||||
void function_b(void);
|
||||
void function_c(void);
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
void function_d(void)
|
||||
{
|
||||
EXCEPTION_T e;
|
||||
CEXCEPTION_T e;
|
||||
Try
|
||||
{
|
||||
foo((custom_type)1);
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
typedef signed int custom_type;
|
||||
|
||||
:mockable: |
|
||||
#include "Exception.h"
|
||||
#include "CException.h"
|
||||
UINT32 foo(custom_type a);
|
||||
UINT32 bar(custom_type b);
|
||||
UINT32 foo_varargs(custom_type a, ...);
|
||||
|
||||
:source:
|
||||
:header: |
|
||||
#include "Exception.h"
|
||||
#include "CException.h"
|
||||
UINT32 function_a(int a);
|
||||
void function_b(char a);
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
UINT32 function_a(int a)
|
||||
{
|
||||
UINT32 r = 0;
|
||||
EXCEPTION_T e;
|
||||
CEXCEPTION_T e;
|
||||
|
||||
Try
|
||||
{
|
||||
@@ -41,7 +41,7 @@
|
||||
{
|
||||
if (a)
|
||||
{
|
||||
Throw((EXCEPTION_T)a);
|
||||
Throw((CEXCEPTION_T)a);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
:code: |
|
||||
test()
|
||||
{
|
||||
EXCEPTION_T e;
|
||||
CEXCEPTION_T e;
|
||||
Try
|
||||
{
|
||||
function_b(3);
|
||||
|
||||
@@ -18,15 +18,15 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
should "include the cexception library" do
|
||||
expected = "#include \"Exception.h\"\n"
|
||||
expected = "#include \"CException.h\"\n"
|
||||
@config.expect.cexception_include.returns(nil)
|
||||
returned = @cmock_generator_plugin_cexception.include_files
|
||||
assert_equal(expected, returned)
|
||||
end
|
||||
|
||||
should "include the cexception library with a custom path if specified" do
|
||||
expected = "#include \"../cexception/lib/Exception.h\"\n"
|
||||
@config.expect.cexception_include.returns("../cexception/lib/Exception.h")
|
||||
expected = "#include \"../cexception/lib/CException.h\"\n"
|
||||
@config.expect.cexception_include.returns("../cexception/lib/CException.h")
|
||||
returned = @cmock_generator_plugin_cexception.include_files
|
||||
assert_equal(expected, returned)
|
||||
end
|
||||
@@ -37,9 +37,9 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
|
||||
" int *Oak_ThrowOnCallCount;\n",
|
||||
" int *Oak_ThrowOnCallCount_Head;\n",
|
||||
" int *Oak_ThrowOnCallCount_Tail;\n",
|
||||
" EXCEPTION_T *Oak_ThrowValue;\n",
|
||||
" EXCEPTION_T *Oak_ThrowValue_Head;\n",
|
||||
" EXCEPTION_T *Oak_ThrowValue_Tail;\n"
|
||||
" CEXCEPTION_T *Oak_ThrowValue;\n",
|
||||
" CEXCEPTION_T *Oak_ThrowValue_Head;\n",
|
||||
" CEXCEPTION_T *Oak_ThrowValue_Tail;\n"
|
||||
].join
|
||||
returned = @cmock_generator_plugin_cexception.instance_structure(function)
|
||||
assert_equal(expected, returned)
|
||||
@@ -47,14 +47,14 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
|
||||
|
||||
should "add mock function declarations for functions without arguments" do
|
||||
function = { :name => "Spruce", :args_string => "void", :return_type => "void" }
|
||||
expected = "void Spruce_ExpectAndThrow(EXCEPTION_T toThrow);\n"
|
||||
expected = "void Spruce_ExpectAndThrow(CEXCEPTION_T toThrow);\n"
|
||||
returned = @cmock_generator_plugin_cexception.mock_function_declarations(function)
|
||||
assert_equal(expected, returned)
|
||||
end
|
||||
|
||||
should "add mock function declarations for functions with arguments" do
|
||||
function = { :name => "Spruce", :args_string => "const char* Petunia, uint32_t Lily", :return_type => "void" }
|
||||
expected = "void Spruce_ExpectAndThrow(const char* Petunia, uint32_t Lily, EXCEPTION_T toThrow);\n"
|
||||
expected = "void Spruce_ExpectAndThrow(const char* Petunia, uint32_t Lily, CEXCEPTION_T toThrow);\n"
|
||||
returned = @cmock_generator_plugin_cexception.mock_function_declarations(function)
|
||||
assert_equal(expected, returned)
|
||||
end
|
||||
@@ -68,7 +68,7 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
|
||||
" if (*Mock.Cherry_ThrowOnCallCount &&\n",
|
||||
" (Mock.Cherry_CallCount == *Mock.Cherry_ThrowOnCallCount))\n",
|
||||
" {\n",
|
||||
" EXCEPTION_T toThrow = *Mock.Cherry_ThrowValue;\n",
|
||||
" CEXCEPTION_T toThrow = *Mock.Cherry_ThrowValue;\n",
|
||||
" Mock.Cherry_ThrowOnCallCount++;\n",
|
||||
" Mock.Cherry_ThrowValue++;\n",
|
||||
" Throw(toThrow);\n",
|
||||
@@ -83,9 +83,9 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
|
||||
function = {:name => "Pear", :args_string => "void", :args => [], :return_type => "void"}
|
||||
@utils.expect.code_add_base_expectation("Pear").returns("mock_retval_0")
|
||||
@utils.expect.code_insert_item_into_expect_array("int", "Mock.Pear_ThrowOnCallCount", "Mock.Pear_CallsExpected").returns("mock_return_1")
|
||||
@utils.expect.code_insert_item_into_expect_array("EXCEPTION_T", "Mock.Pear_ThrowValue", "toThrow").returns("mock_return_2")
|
||||
@utils.expect.code_insert_item_into_expect_array("CEXCEPTION_T", "Mock.Pear_ThrowValue", "toThrow").returns("mock_return_2")
|
||||
|
||||
expected = ["void Pear_ExpectAndThrow(EXCEPTION_T toThrow)\n",
|
||||
expected = ["void Pear_ExpectAndThrow(CEXCEPTION_T toThrow)\n",
|
||||
"{\n",
|
||||
"mock_retval_0",
|
||||
"mock_return_1",
|
||||
@@ -108,9 +108,9 @@ class CMockGeneratorPluginCexceptionTest < Test::Unit::TestCase
|
||||
function = {:name => "Pear", :args_string => "int blah", :args => [{ :type => "int", :name => "blah" }], :return_type => "void"}
|
||||
@utils.expect.code_add_base_expectation("Pear").returns("mock_retval_0")
|
||||
@utils.expect.code_insert_item_into_expect_array("int", "Mock.Pear_ThrowOnCallCount", "Mock.Pear_CallsExpected").returns("mock_return_1")
|
||||
@utils.expect.code_insert_item_into_expect_array("EXCEPTION_T", "Mock.Pear_ThrowValue", "toThrow").returns("mock_return_2")
|
||||
@utils.expect.code_insert_item_into_expect_array("CEXCEPTION_T", "Mock.Pear_ThrowValue", "toThrow").returns("mock_return_2")
|
||||
|
||||
expected = ["void Pear_ExpectAndThrow(int blah, EXCEPTION_T toThrow)\n",
|
||||
expected = ["void Pear_ExpectAndThrow(int blah, CEXCEPTION_T toThrow)\n",
|
||||
"{\n",
|
||||
"mock_retval_0",
|
||||
"mock_return_1",
|
||||
|
||||
Reference in New Issue
Block a user