1.1 --- a/src/test.c Mon Dec 30 09:54:10 2019 +0100 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,91 +0,0 @@ 1.4 -/* 1.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 1.6 - * 1.7 - * Copyright 2017 Mike Becker, Olaf Wintermann All rights reserved. 1.8 - * 1.9 - * Redistribution and use in source and binary forms, with or without 1.10 - * modification, are permitted provided that the following conditions are met: 1.11 - * 1.12 - * 1. Redistributions of source code must retain the above copyright 1.13 - * notice, this list of conditions and the following disclaimer. 1.14 - * 1.15 - * 2. Redistributions in binary form must reproduce the above copyright 1.16 - * notice, this list of conditions and the following disclaimer in the 1.17 - * documentation and/or other materials provided with the distribution. 1.18 - * 1.19 - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 1.20 - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1.21 - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1.22 - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 1.23 - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1.24 - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1.25 - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 1.26 - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 1.27 - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 1.28 - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1.29 - * POSSIBILITY OF SUCH DAMAGE. 1.30 - */ 1.31 - 1.32 -#include "ucx/test.h" 1.33 - 1.34 -UcxTestSuite* ucx_test_suite_new() { 1.35 - UcxTestSuite* suite = (UcxTestSuite*) malloc(sizeof(UcxTestSuite)); 1.36 - if (suite != NULL) { 1.37 - suite->success = 0; 1.38 - suite->failure = 0; 1.39 - suite->tests = NULL; 1.40 - } 1.41 - 1.42 - return suite; 1.43 -} 1.44 - 1.45 -void ucx_test_suite_free(UcxTestSuite* suite) { 1.46 - UcxTestList *l = suite->tests; 1.47 - while (l != NULL) { 1.48 - UcxTestList *e = l; 1.49 - l = l->next; 1.50 - free(e); 1.51 - } 1.52 - free(suite); 1.53 -} 1.54 - 1.55 -int ucx_test_register(UcxTestSuite* suite, UcxTest test) { 1.56 - if (suite->tests) { 1.57 - UcxTestList *newelem = (UcxTestList*) malloc(sizeof(UcxTestList)); 1.58 - if (newelem) { 1.59 - newelem->test = test; 1.60 - newelem->next = NULL; 1.61 - 1.62 - UcxTestList *last = suite->tests; 1.63 - while (last->next) { 1.64 - last = last->next; 1.65 - } 1.66 - last->next = newelem; 1.67 - 1.68 - return EXIT_SUCCESS; 1.69 - } else { 1.70 - return EXIT_FAILURE; 1.71 - } 1.72 - } else { 1.73 - suite->tests = (UcxTestList*) malloc(sizeof(UcxTestList)); 1.74 - if (suite->tests) { 1.75 - suite->tests->test = test; 1.76 - suite->tests->next = NULL; 1.77 - 1.78 - return EXIT_SUCCESS; 1.79 - } else { 1.80 - return EXIT_FAILURE; 1.81 - } 1.82 - } 1.83 -} 1.84 - 1.85 -void ucx_test_run(UcxTestSuite* suite, FILE* output) { 1.86 - suite->success = 0; 1.87 - suite->failure = 0; 1.88 - for (UcxTestList* elem = suite->tests ; elem ; elem = elem->next) { 1.89 - elem->test(suite, output); 1.90 - } 1.91 - fwrite("\nAll test completed.\n", 1, 21, output); 1.92 - fprintf(output, " Total: %u\n Success: %u\n Failure: %u\n", 1.93 - suite->success+suite->failure, suite->success, suite->failure); 1.94 -}