Module Name: src Committed By: pooka Date: Mon Feb 7 20:05:09 UTC 2011
Modified Files: src/tests/rump/rumpkern/h_client: h_sigcli.c Log Message: Limit test duration based on wall time instead of loops (took a long time on slow platforms). To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/rump/rumpkern/h_client/h_sigcli.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/rump/rumpkern/h_client/h_sigcli.c diff -u src/tests/rump/rumpkern/h_client/h_sigcli.c:1.2 src/tests/rump/rumpkern/h_client/h_sigcli.c:1.3 --- src/tests/rump/rumpkern/h_client/h_sigcli.c:1.2 Mon Jan 10 19:30:21 2011 +++ src/tests/rump/rumpkern/h_client/h_sigcli.c Mon Feb 7 20:05:09 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: h_sigcli.c,v 1.2 2011/01/10 19:30:21 pooka Exp $ */ +/* $NetBSD: h_sigcli.c,v 1.3 2011/02/07 20:05:09 pooka Exp $ */ #include <sys/types.h> #include <sys/sysctl.h> @@ -35,6 +35,7 @@ main(void) { char buf[128]; + time_t tstart; struct itimerval itv; size_t hnbsize; int i; @@ -57,13 +58,24 @@ if (setitimer(ITIMER_REAL, &itv, NULL) == -1) err(1, "itimer"); - for (i = 0; i < 20000; i++) { + tstart = time(NULL); + for (i = 0;; i++) { blen = sizeof(buf); if (rump_sys___sysctl(hostnamemib, __arraycount(hostnamemib), buf, &blen, NULL, 0) == -1) err(1, "sysctl"); if (strcmp(buf, hostnamebuf) != 0) errx(1, "main hostname"); + + /* + * check every 100 cycles to avoid doing + * nothing but gettimeofday() + */ + if (i == 100) { + if (time(NULL) - tstart > 5) + break; + i = 0; + } } if (!sigexecs) {