#include #include #include extern const char *__progname; #include "test.h" static char *to_do; static void print_test_list(void) { int i; for (i=0;i (i=1;av[i];i++) { for (j=n_tests-1;j>=0;j--) { if (! strcmp(av[i],test_names[j])) { to_do[j] = 1; continue <"arg">; } } li = strtol(av[i],&ep,0); li2 = li; if (ep == av[i]) { fprintf(stderr,"%s: bad arg %s (not a name and no number found)\n",__progname,av[i]); exit(1); } if ((ep[0] == '+') && !ep[1]) { li2 = n_tests; } else if (ep[0] == '-') { li2 = strtol(ep+1,&ep2,0); if (ep2 == ep+1) { fprintf(stderr,"%s: bad range %s (no number after -)\n",__progname,av[i]); exit(1); } if (*ep2) { fprintf(stderr,"%s: bad range %s (junk after second number)\n",__progname,av[i]); exit(1); } if (li2 < li) { fprintf(stderr,"%s: bad range %s (endpoints out of order)\n",__progname,av[i]); exit(1); } } else if (*ep) { fprintf(stderr,"%s: bad arg %s (not a name and junk after number)\n",__progname,av[i]); exit(1); } if ((li < 1) || (li > n_tests)) { fprintf(stderr,"%s: bad arg %s (%ld out of range 1..%d)\n",__progname,av[i],li,n_tests); exit(1); } if ((li2 < 1) || (li2 > n_tests)) { fprintf(stderr,"%s: bad arg %s (%ld out of range 1..%d)\n",__progname,av[i],li2,n_tests); exit(1); } for (;li<=li2;li++) to_do[li-1] = 1; } } test_init(); pidconn(PIDCONN_DEBUG,8,0); for (i=0;irun)(); if (test_failed()) { sleep(1); printf("Exiting on test failure\n"); break; } sleep(1); checkstats(); } sepline(-1); return(0); }