Index: head/tools/regression/p1003_1b/main.c =================================================================== --- head/tools/regression/p1003_1b/main.c (revision 283017) +++ head/tools/regression/p1003_1b/main.c (revision 283018) @@ -1,78 +1,79 @@ /* $FreeBSD$ */ #include +#include int fifo(int argc, char *argv[]); int memlock(int argc, char *argv[]); int p26(int argc, char *argv[]); int sched(int argc, char *argv[]); int yield(int argc, char *argv[]); static struct { const char *t; int (*f)(int, char *[]); int works; } tab[] = { { "fifo", fifo, 1 }, { "memlock", memlock, 0 }, { "p26", p26, 1 }, { "sched", sched, 1 }, { "yield", yield, 1 }, }; #define N(T) (sizeof (T)/ sizeof(T[0])) static int usage(int argc, char *argv[]) { int i; if (argc > 1) fprintf(stderr, "%s is unknown\n", argv[1]); fprintf(stderr, "usage: %s [-a] or one of [", argv[0]); for (i = 0; i < (sizeof(tab) / sizeof(tab[0])); i++) fprintf(stderr, "%s%s", (i)? " | " : "", tab[i].t); fprintf(stderr, "]\n"); return -1; } int main(int argc, char *argv[]) { int i; if (argc == 2 && strcmp(argv[1], "-a") == 0) { #if 1 fprintf(stderr, "-a should but doesn't really work" " (my notes say \"because things detach\");\n" "meanwhile do these individual tests and look" " for a non-zero exit code:\n"); for (i = 0; i < N(tab); i++) if (tab[i].works) fprintf(stderr, "p1003_1b %s\n", tab[i].t); return -1; #else { int r; for (i = 0; i < N(tab); i++) { if (tab[i].works) { if ( (r = (*tab[i].f)(argc - 1, argv + 1)) ) { fprintf(stderr, "%s failed\n", tab[i].t); return r; } } } return 0; } #endif } if (argc > 1) { for (i = 0; i < N(tab); i++) if (strcmp(tab[i].t, argv[1]) == 0) return (*tab[i].f)(argc - 1, argv + 1); } return usage(argc, argv); } Index: head/tools/regression/p1003_1b/prutil.c =================================================================== --- head/tools/regression/p1003_1b/prutil.c (revision 283017) +++ head/tools/regression/p1003_1b/prutil.c (revision 283018) @@ -1,61 +1,62 @@ +#include #include -#include #include #include - -#include +#include #include +#include + #include "prutil.h" /* * $FreeBSD$ */ void quit(const char *text) { - err(errno, text); + err(errno, "%s", text); } char *sched_text(int scheduler) { switch(scheduler) { case SCHED_FIFO: return "SCHED_FIFO"; case SCHED_RR: return "SCHED_RR"; case SCHED_OTHER: return "SCHED_OTHER"; default: return "Illegal scheduler value"; } } int sched_is(int line, struct sched_param *p, int shouldbe) { int scheduler; struct sched_param param; /* What scheduler are we running now? */ errno = 0; scheduler = sched_getscheduler(0); if (sched_getparam(0, ¶m)) quit("sched_getparam"); if (p) *p = param; if (shouldbe != -1 && scheduler != shouldbe) { fprintf(stderr, "At line %d the scheduler should be %s yet it is %s.\n", line, sched_text(shouldbe), sched_text(scheduler)); exit(-1); } return scheduler; }