runtest.c 1.18 KB
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>

#include "runtest.h"

#define TEST_OK_CHAR		'.'
#define TEST_FAILED_CHAR	'F'
#define TEST_ERROR_CHAR		'E'


const char results[3] = {
    TEST_OK_CHAR,
    TEST_FAILED_CHAR,
    TEST_ERROR_CHAR
};


int
main(int argc, char * argv[])
{
    size_t errors     = 0;
    size_t failures   = 0;
    size_t assertions = 0;

    size_t index;

    printf("running tests for %s\n", testname);

    for (index=0; index<count; index++) {
        int result;

        if (NULL != setUp) {
            setUp();
        }

        result = tests[index]();

        if (NULL != setUp) {
            tearDown();
        }

        switch (result) {
            case TEST_FAILED: failures++; break;
            case TEST_ERROR:  errors++; break;
        }

        putchar(results[result]);

        if (79 == index%80) {
            putchar('\n');
        }

        fflush(stdout);
    }
    puts("\n");

    printf("running %lu tests: %lu - OK, %lu - FAILED, %lu - ERRORS\n",
            count,
            count - errors - failures,
            failures,
            errors);

    return failures + errors;
}

// vim: set et ts=4 sw=4: