aboutsummaryrefslogtreecommitdiffstats
path: root/simple-test.h
diff options
context:
space:
mode:
Diffstat (limited to 'simple-test.h')
-rw-r--r--simple-test.h21
1 files changed, 6 insertions, 15 deletions
diff --git a/simple-test.h b/simple-test.h
index c6abebf..34cb4d7 100644
--- a/simple-test.h
+++ b/simple-test.h
@@ -9,6 +9,7 @@
#include <stdarg.h>
#include <string.h>
+
/**************************
* CONFIGURATION MACROS *
**************************/
@@ -394,10 +395,8 @@ static enum simple_test_type simple_test_type_resolve(enum simple_test_type t1,
* BASIC MACROS *
******************/
-#define REGISTER_TEARDOWN(f) \
+#define TEARDOWN(f) \
do { \
- if (simple_test_teardown != NULL) \
- SIMPLE_TEST_ERR("teardown function already defined"); \
simple_test_teardown = _Generic((f), \
void(*)(void): (f), default: NULL); \
if (simple_test_teardown == NULL) { \
@@ -406,13 +405,6 @@ static enum simple_test_type simple_test_type_resolve(enum simple_test_type t1,
} \
} while (0)
-#define USE_TEARDOWN \
- do { \
- if (simple_test_teardown == NULL) \
- SIMPLE_TEST_ERR("teardown function undefined"); \
- simple_test_do_teardown = true; \
- } while (0)
-
/* must appear before all tests */
#define BEGIN_TEST \
int main(int argc, char **argv) \
@@ -425,7 +417,6 @@ static enum simple_test_type simple_test_type_resolve(enum simple_test_type t1,
int simple_test_test_current = 1; \
int simple_test_test_current_at; \
int simple_test_pass_number = 0; \
- bool simple_test_do_teardown = false; \
void (*simple_test_teardown)(void) = NULL; \
do { \
simple_test_test_current_at = 0; \
@@ -447,9 +438,9 @@ static enum simple_test_type simple_test_type_resolve(enum simple_test_type t1,
#define TEST(description) \
} \
- if (simple_test_do_teardown) { \
- simple_test_do_teardown = false; \
+ if (simple_test_teardown != NULL) { \
simple_test_teardown(); \
+ simple_test_teardown = NULL; \
} \
simple_test_test_current_at++; \
if (simple_test_pass_number == 0) { \
@@ -471,9 +462,9 @@ static enum simple_test_type simple_test_type_resolve(enum simple_test_type t1,
/* must appear after all tests */
#define END_TEST \
} \
- if (simple_test_do_teardown) { \
- simple_test_do_teardown = false; \
+ if (simple_test_teardown != NULL) { \
simple_test_teardown(); \
+ simple_test_teardown = NULL; \
} \
if (simple_test_test_count == 0) { \
SIMPLE_TEST_ERR("no tests defined"); \