blob: 4874d80d90ea61eb3b991a1dc4d07b61337b9712 (
plain) (
tree)
|
|
#include <timer.h>
#include <unistd.h>
#include <cassert>
#include <cstdio>
int main() {
timer::timer t;
const auto kShowTime = [&t]() {
std::fprintf(stderr, "usec=%f msec=%f sec=%f\n", t.as_usec(), t.as_msec(),
t.as_sec());
};
{
puts("Sleep 100ms");
const timer::scoped_timer kS{t};
usleep(100 * 1000);
}
assert(100000 < t.as_usec() && t.as_usec() < 102000);
assert(100 < t.as_msec() && t.as_msec() < 102);
assert(0.100 < t.as_sec() && t.as_sec() < 0.102);
kShowTime();
{
puts("Sleep 500ms");
const timer::scoped_timer kS{t};
usleep(500 * 1000);
}
kShowTime();
assert(600000 < t.as_usec() && t.as_usec() < 603000);
assert(600 < t.as_msec() && t.as_msec() < 603);
assert(0.600 < t.as_sec() && t.as_sec() < 0.603);
kShowTime();
t.reset();
{
puts("Sleep 200ms");
timer::scoped_timer s{t};
usleep(200 * 1000);
}
assert(200000 < t.as_usec() && t.as_usec() < 202000);
assert(200 < t.as_msec() && t.as_msec() < 202);
assert(0.200 < t.as_sec() && t.as_sec() < 0.202);
kShowTime();
return 0;
}
|