File: gentest.sh

package info (click to toggle)
grok 1.20110708.1-7.1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,492 kB
  • sloc: ansic: 3,469; ruby: 987; makefile: 278; sh: 124; yacc: 106; python: 11
file content (34 lines) | stat: -rwxr-xr-x 750 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh

#TESTS=`nm $1 | awk '$2 == "T" { printf("CU_add_test(suite, \"%s\", %s);\n", $3, $3) }'`
TESTS=`grep 'void test_' $1 | tr '(' ' ' | awk '{printf("CU_add_test(suite, \"%s:%s\", %s);\n", "'$1'", $2, $2) }'`

cat << EOF
#include <stdio.h>
#include <string.h>
#include "CUnit/Basic.h"

#include "$1"

int main(int argc, char **argv) {
  CU_pSuite suite = NULL;

  if (CUE_SUCCESS != CU_initialize_registry())
    return CU_get_error();

  suite = CU_add_suite("$1", NULL, NULL);
  if (NULL == suite) {
    CU_cleanup_registry();
    return CU_get_error();
  }

  $TESTS

  /* Run all tests using the CUnit Basic interface */
  CU_basic_set_mode(CU_BRM_VERBOSE);
  CU_basic_run_tests();
  CU_cleanup_registry();
  return CU_get_error();
}
EOF