1#!/usr/bin/env bash 2 3# Auto generate single AllTests file for CuTest. 4# Searches through all *.c files in the current directory. 5# Prints to stdout. 6# Author: Asim Jalis 7# Date: 01/08/2003 8 9if test $# -eq 0 ; then FILES=*.c ; else FILES=$* ; fi 10 11echo ' 12 13/* This is auto-generated code. Edit at your own peril. */ 14#include <stdio.h> 15#include <stdlib.h> 16 17#include "CuTest.h" 18 19' 20 21cat $FILES | grep '^void Test' | 22 sed -e 's/(.*$//' \ 23 -e 's/$/(CuTest*);/' \ 24 -e 's/^/extern /' 25 26echo \ 27' 28 29void RunAllTests(void) 30{ 31 CuString *output = CuStringNew(); 32 CuSuite* suite = CuSuiteNew(); 33 34' 35cat $FILES | grep '^void Test' | 36 sed -e 's/^void //' \ 37 -e 's/(.*$//' \ 38 -e 's/^/ SUITE_ADD_TEST(suite, /' \ 39 -e 's/$/);/' 40 41echo \ 42' 43 CuSuiteRun(suite); 44 CuSuiteSummary(suite, output); 45 CuSuiteDetails(suite, output); 46 printf("%s\n", output->buffer); 47 CuStringDelete(output); 48 CuSuiteDelete(suite); 49} 50 51int main(void) 52{ 53 RunAllTests(); 54 return 0; 55} 56' 57