blob: e57db3872d370a52adbd7fe7c63f4d30f6e15f73 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#include "test.h"
#include "header_with_stuff_to_be_tested.h"
BEGIN_TEST
/* a simple test using only stack mem */
TEST("description of the first test")
{
int var1=2;
int var2=4;
/* add is a function included from our hypothetical
* header_with_stuff_to_be_tested */
EXPECT_INT("error message shown on failing",
var1+var2, add(var1, var2));
}
/* this test uses heap memory, so things get a bit
* more complicated */
TEST("this is the second test")
{
/* first, ensure all your pointers which will
* point to heap mem are declared */
char *heap_string=NULL;
/* next, declare a list of statements to be
* called to clean up memory once the test
* is completed */
CLEANUP(
if(heap_string != NULL)
free(heap_string);
)
/* then, define the body of the test */
/* STATE can be used to report (with pretty
* formatting) the current state within the
* test, which may be useful in the case of
* a segfault */
STATE("grabbing heap string");
heap_string=get_heap_string_value();
EXPECT_STR("i suck at grabbing pointers!",
"expected value", heap_string);
/* finally, call RETURN(); to run the
* cleanup code and continue */
RETURN();
}
END_TEST
|