X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ffailtest%2Ffailtest.c;h=f79768d87877f3ff7c8d6a3865842c0a3ee85ceb;hb=670ba98f74b52df541d153eeab9d3310932e75cd;hp=224898f9cb75ad8ad782c0dc983ade12c544cc06;hpb=0a379f773681c7b3e53866b9a6e9cd0006012c1a;p=ccan diff --git a/ccan/failtest/failtest.c b/ccan/failtest/failtest.c index 224898f9..f79768d8 100644 --- a/ccan/failtest/failtest.c +++ b/ccan/failtest/failtest.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -457,18 +458,13 @@ static bool should_fail(struct failtest_call *call) if (child == 0) { if (tracefd != -1) { - struct timeval now; + struct timeval diff; const char *p; - gettimeofday(&now, NULL); - if (now.tv_usec < start.tv_usec) { - now.tv_sec--; - now.tv_usec += 1000000; - } - now.tv_usec -= start.tv_usec; - now.tv_sec -= start.tv_sec; + + diff = time_sub(time_now(), start); p = failpath_string(); trace("%u->%u (%u.%02u): %s (", getppid(), getpid(), - (int)now.tv_sec, (int)now.tv_usec / 10000, p); + (int)diff.tv_sec, (int)diff.tv_usec / 10000, p); free((char *)p); p = strrchr(history[history_num-1].file, '/'); if (p) @@ -705,7 +701,7 @@ int failtest_open(const char *pathname, free((char *)call.pathname); p->u.open.ret = open(pathname, call.flags, call.mode); - if (!failpath && p->u.open.ret == -1) { + if (p->u.open.ret == -1) { p->fail = false; p->error = errno; } else if (should_fail(p)) { @@ -1067,7 +1063,7 @@ void failtest_init(int argc, char *argv[]) debugpath = argv[i] + strlen("--debugpath="); } } - gettimeofday(&start, NULL); + start = time_now(); } bool failtest_has_failed(void)