ucx/test.h

Sat, 18 Feb 2012 18:36:30 +0100

author
Mike Becker <universe@uap-core.de>
date
Sat, 18 Feb 2012 18:36:30 +0100
changeset 27
22644e2572bc
parent 26
59f147baea31
child 33
9c219a62070d
permissions
-rw-r--r--

removed old foreach + refactored list tests

universe@26 1 /*
universe@26 2 * File: test.h
universe@26 3 * Author: Mike
universe@26 4 *
universe@26 5 * Created on 18. Februar 2012, 14:15
universe@26 6 */
universe@26 7
universe@26 8 #ifndef TEST_H
universe@26 9 #define TEST_H
universe@26 10
universe@26 11 #include <stdio.h>
universe@26 12 #include <string.h>
universe@26 13 #include "list.h"
universe@26 14
universe@26 15 #ifdef __cplusplus
universe@26 16 extern "C" {
universe@26 17 #endif
universe@26 18
universe@26 19 typedef struct {
universe@26 20 unsigned int success;
universe@26 21 unsigned int failure;
universe@26 22 UcxList *tests;
universe@26 23 } UcxTestSuite;
universe@26 24
universe@26 25 typedef void(*UcxTest)(UcxTestSuite*,FILE*);
universe@26 26
universe@26 27 UcxTestSuite* ucx_test_suite_new();
universe@26 28 void ucx_test_suite_free(UcxTestSuite*);
universe@26 29
universe@26 30 void ucx_test_register(UcxTestSuite*, UcxTest);
universe@26 31 void ucx_test_run(UcxTestSuite*, FILE*);
universe@26 32
universe@27 33 #define UCX_TEST_DECLARE(name) void name(UcxTestSuite*,FILE *);
universe@26 34 #define UCX_TEST_BEGIN(name) void name(UcxTestSuite* _suite_,FILE *_output_) {\
universe@26 35 fwrite("Running "#name"... ", 1, 12+strlen(#name), _output_);
universe@26 36
universe@26 37 #define UCX_TEST_ASSERT(condition,message) if (!(condition)) { \
universe@26 38 fwrite(message".\n", 1, 2+strlen(message), _output_); \
universe@26 39 _suite_->failure++; \
universe@26 40 return;\
universe@26 41 }
universe@26 42
universe@26 43 #define UCX_TEST_END } fwrite("success.\n", 1, 9, _output_); _suite_->success++;
universe@26 44
universe@26 45 #ifdef __cplusplus
universe@26 46 }
universe@26 47 #endif
universe@26 48
universe@26 49 #endif /* TEST_H */
universe@26 50

mercurial