This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_at.h
107 lines (93 loc) · 2.16 KB
/
SDL_at.h
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
* Common code for automated test suite.
*
* Written by Edgar Simo "bobbens"
*
* Released under Public Domain.
*/
/**
* @file SDL_at.h
*
* @brief Handles automatic testing functionality.
*
* You create a testsuite and then run multiple testcases within that suite.
* Syntax is similar to OpenGL. An example would be:
*
* @code
* int f;
* SDL_ATinit( "My testsuite" );
*
* SDL_ATbegin( "My first testcase" );
* if (!SDL_ATassert( (1+1)==2, "Trying '1+1=2'."))
* return;
*
* SDL_ATbegin( "My second testcase" );
* if (!SDL_ATassert( (4/2)==2, "Trying '4/2=2'."))
* return;
*
* f = SDL_ATend();
* @endcode
*
* @author Edgar Simo "bobbens"
*/
#ifndef _SDL_AT_H
# define _SDL_AT_H
/*
* Suite level actions.
*/
/**
* @brief Starts the testsuite.
*
* @param suite Name of the suite to start testing.
*/
void SDL_ATinit( const char *suite );
/**
* @brief Finishes the testsuite printing out global results if verbose.
*
* @param verbose Displays global results.
*/
int SDL_ATfinish( int verbose );
/*
* Testcase level actions.
*/
/**
* @brief Begins a testcase.
*
* @param testcase Name of the testcase to begin.
*/
void SDL_ATbegin( const char *testcase );
/**
* @brief Checks a condition in the testcase.
*
* Will automatically call SDL_ATend if the condition isn't met.
*
* @param condition Condition to make sure is true.
* @param msg Message to display for failure.
* @return Returns 1 if the condition isn't met.
*/
int SDL_ATassert( const char *msg, int condition );
/**
* @brief Checks a condition in the testcase.
*
* Will automatically call SDL_ATend if the condition isn't met.
*
* @param condition Condition to make sure is true.
* @param msg Message to display for failure with printf style formatting.
* @return Returns 1 if the condition isn't met.
*/
int SDL_ATvassert( int condition, const char *msg, ... );
/**
* @brief Ends a testcase.
*/
void SDL_ATend (void);
/*
* Misc functions.
*/
/**
* @brief Prints some text.
*
* @param msg printf formatted string to display.
* @return Number of character printed.
*/
int SDL_ATprint( const char *msg, ... );
#endif /* _SDL_AT_H */