4 ms·
For linux, there is faketime, which will set a specific date and time for all child processes. This enables you to test software you don't even compile for time
by rmetzler 2y ago
For linux, there is faketime, which will set a specific date and time for all child processes. This enables you to test software you don't even compile for time-based problems, e.g. logic around Feb 29th or daylight saving time.
- zokier 2y agoLD_PRELOAD is bit yucky though in my opinion. I suppose ptrace is the only other option though :/
- deivid 2y agoIt's not the only other option! It's not less yucky, but you can creatively stomp on the vDSO functions which back the time-related functions (gettimeofday, clock_gettime, time); I've written about it at [0] and have a "library" (more like a proof of concept) at [1]. [0]: https://blog.davidv.dev/posts/cursing-a-process-vdso-for-time-hacking/ https://blog.davidv.dev/posts/cursing-a-process-vdso-for-tim... [1]: https://github.com/DavidVentura/tpom https://github.com/DavidVentura/tpom
- TheDong 2y agoSince go don’t use the libc related time functions on linux, but rather makes syscalls directly, faketime will not work for any programs written in Go.
- rmetzler 2y agoThank you for clarifying.