5879cc6f49
CuTest is a relatively simple unit testing framework for C code. It is distributed under the zlib license; this is an import of the pristine sources. Signed-off-by: Dan Cross <patchdev@fat-dragon.org>
56 lines
993 B
Bash
56 lines
993 B
Bash
#!/usr/bin/env bash
|
|
|
|
# Auto generate single AllTests file for CuTest.
|
|
# Searches through all *.c files in the current directory.
|
|
# Prints to stdout.
|
|
# Author: Asim Jalis
|
|
# Date: 01/08/2003
|
|
|
|
if test $# -eq 0 ; then FILES=*.c ; else FILES=$* ; fi
|
|
|
|
echo '
|
|
|
|
/* This is auto-generated code. Edit at your own peril. */
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "CuTest.h"
|
|
|
|
'
|
|
|
|
cat $FILES | grep '^void Test' |
|
|
sed -e 's/(.*$//' \
|
|
-e 's/$/(CuTest*);/' \
|
|
-e 's/^/extern /'
|
|
|
|
echo \
|
|
'
|
|
|
|
void RunAllTests(void)
|
|
{
|
|
CuString *output = CuStringNew();
|
|
CuSuite* suite = CuSuiteNew();
|
|
|
|
'
|
|
cat $FILES | grep '^void Test' |
|
|
sed -e 's/^void //' \
|
|
-e 's/(.*$//' \
|
|
-e 's/^/ SUITE_ADD_TEST(suite, /' \
|
|
-e 's/$/);/'
|
|
|
|
echo \
|
|
'
|
|
CuSuiteRun(suite);
|
|
CuSuiteSummary(suite, output);
|
|
CuSuiteDetails(suite, output);
|
|
printf("%s\n", output->buffer);
|
|
CuStringDelete(output);
|
|
CuSuiteDelete(suite);
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
RunAllTests();
|
|
}
|
|
'
|