ucx/test.c

Fri, 08 Feb 2013 17:09:12 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 08 Feb 2013 17:09:12 +0100
changeset 83
3b552d7a9610
parent 26
59f147baea31
child 97
499e1b465d77
permissions
-rw-r--r--

modified code to compile with -pedantic

universe@26 1 /*
universe@26 2 * File: test.c
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 #include "test.h"
universe@26 9
universe@26 10 UcxTestSuite* ucx_test_suite_new() {
universe@26 11 UcxTestSuite* suite = (UcxTestSuite*) malloc(sizeof(UcxTestSuite));
universe@26 12 if (suite != NULL) {
universe@26 13 suite->success = 0;
universe@26 14 suite->failure = 0;
universe@26 15 suite->tests = NULL;
universe@26 16 }
universe@26 17 return suite;
universe@26 18 }
universe@26 19
universe@26 20 void ucx_test_suite_free(UcxTestSuite* suite) {
universe@83 21 UcxTestList *l = suite->tests;
universe@83 22 while (l != NULL) {
universe@83 23 UcxTestList *e = l;
universe@83 24 l = l->next;
universe@83 25 free(e);
universe@83 26 }
universe@26 27 free(suite);
universe@26 28 }
universe@26 29
universe@83 30 int ucx_test_register(UcxTestSuite* suite, UcxTest test) {
universe@83 31 if (suite->tests) {
universe@83 32 UcxTestList *list = (UcxTestList*) malloc(sizeof(UcxTestList));
universe@83 33 if (list) {
universe@83 34 list->test = test;
universe@83 35 list->next = suite->tests;
universe@83 36 suite->tests = list;
universe@83 37
universe@83 38 return EXIT_SUCCESS;
universe@83 39 } else {
universe@83 40 return EXIT_FAILURE;
universe@83 41 }
universe@83 42 } else {
universe@83 43 suite->tests = (UcxTestList*) malloc(sizeof(UcxTestList));
universe@83 44 if (suite->tests) {
universe@83 45 suite->tests->test = test;
universe@83 46 suite->tests->next = NULL;
universe@83 47
universe@83 48 return EXIT_SUCCESS;
universe@83 49 } else {
universe@83 50 return EXIT_FAILURE;
universe@83 51 }
universe@83 52 }
universe@26 53 }
universe@26 54
universe@26 55 void ucx_test_run(UcxTestSuite* suite, FILE* output) {
universe@26 56 suite->success = 0;
universe@26 57 suite->failure = 0;
universe@83 58 UCX_FOREACH (UcxTestList*, suite->tests, e) {
universe@83 59 e->test(suite, output);
universe@26 60 }
universe@26 61 fwrite("\nAll test completed.\n", 1, 21, output);
universe@26 62 fprintf(output, " Total: %d\n Success: %d\n Failure: %d\n",
universe@26 63 suite->success+suite->failure, suite->success, suite->failure);
universe@26 64 }

mercurial