To generate the test executable, the following is needed : the code being tested, the test, and the testape framework. These are combined to form the test executable using the instrumenter together with the compiler or linker.
calc.c shown below will be used in the following examples.
The calculator will perform a simple addition or subtraction. It will do that
calling invalid(), add() and subtract().
The calculator program is normally assembled of calc.c, add.c,
subtract.c, multiply.c and divide.c, but
calc.c is the only unit being tested in the following samples.
int validate(int a, int b) { return 1; }
int calculate(int operand1, int operand2, char operation) {
if ( invalid(operand1) || invalid(operand2) )
return ERROR;
switch(operation) {
case '+':
return add(operand1, operand2);
case '-':
return subtract(operand1, operand2);
case '*':
return multiply(a,b);
case '/':
return divide(a,b);
}
return ERROR;
}
Sample1 is shown here, 2.1
#include "testape.h"
void test_addition(void) {
int result;
result = calculate(3,7,'+');
}
void testmain(void) {
EXECUTE(test_addition);
}
can be compiled and run in an CygWIN/GCC environment like it is shown below.
Notice that add.c, multiply.c, divide.c, and subtract.c
are not compiled. Instead the instrumenter is invoked in front of the compiler.
The instrumenter will launch the compiler and generate default mocks for the
missing functions in the unit.
c:\>testape gcc calc.c sample1.c testape.a
TestApe instrumentation tool, release beta-Mar--7-2010-linux.
Unit testing for embedded software - http://testape.com
_____________
------ OOO ----
++
,,, ++
(o_o)**
(_)**
** +
*+ + .
++ ()
oo () oo
oo
Analyzing ...
Generating default mocks -> add subtract multiply divide
Generating hooks -> None
c:\>test_calculator
Executing test testmain
Executing test test_addition
PASSED test test_addition
PASSED test testmain
TestApe will also run with Visual Studio CL.EXE or with GCC in Linux. See more details about supported environments in section [*].
testape
New is this release are support for floating point validations and function mocking. Also, MinGW has been added to the list of supported platforms.
moreTestApe forum is now hosted on Proboards. Support questions can be posted here or send directly on email. Due to ...
moreTestApe can now be used with MinGW GCC on windows. Also supported in this beta are floating point types in validations or when mocking functions
moreA small fix for webtty scripts, to allow the usage from Apple IPads. Tab on textarea to bring up IPad keyboard - you may have to scroll webpage beneath keyboard, in order to actually see what you're typing.
This release contains a new flexible mocking system with default mocks automatically generated for unresolved functions. Installation packages are available for GCC/Linux, GCC/CygWin as well Visual Studio 2009/Windows XP or Vista.
moreNew beta version is now available for download. This is the last beta before official release. The release supports an extensive mocking system.
moreThere is a change for the forum hosted on this site. The previous phpBB forum is closed for now. All forum threads will be migrated to a new simple blog. ...
more