summaryrefslogtreecommitdiff
path: root/tests/cu-test/make-tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cu-test/make-tests.sh')
-rwxr-xr-xtests/cu-test/make-tests.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/cu-test/make-tests.sh b/tests/cu-test/make-tests.sh
new file mode 100755
index 0000000..c651033
--- /dev/null
+++ b/tests/cu-test/make-tests.sh
@@ -0,0 +1,51 @@
+#!/usr/local/bin/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 "CuTest.h"
+
+'
+
+cat $FILES | grep '^unit_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);
+}
+
+int main(void)
+{
+ RunAllTests();
+}
+'