#include "mytime.h" #include #include #include bool fake_time; struct timespec global_time; struct timespec get_current_time() { if(fake_time) { return global_time; } struct timespec val; if(clock_gettime(CLOCK_REALTIME, &val) != 0) { abort(); } return val; } void enable_fake_time() { assert(!fake_time); global_time = (struct timespec){ .tv_sec = 0, .tv_nsec = 0, }; fake_time = true; } void progress_time(uint64_t diff) { assert(fake_time); // Right now the diff is only seconds resolution global_time.tv_sec += diff; }