Releases: wolfcw/libfaketime
Releases · wolfcw/libfaketime
libfaketime-v0.9.10
Since 0.9.9:
- automatically try to decide about FORCE_MONOTONIC_FIX at run-time when not set as a compile-time flag
- improved macOS Monterey support through dyld interposing
- changed interception hooks for stat() and similar functions, refactored to use a common handler (@sirainen)
- added support for timespec_get, timerfd_{get,set} (@sliquister)
- generic syscall() interception for selected syscalls (@dkg)
- improved testing system (@dkg)
libfaketime-v0.9.9
- When compiled with the
CFLAG
FAKE_RANDOM
set, libfaketime will intercept calls togetrandom()
and return pseudorandom numbers for determinism. The mechanism needs to be activated by setting the environment variableFAKERANDOM_SEED
to a 64-bit seed value, e.g.,"0x12345678DEADBEEF"
. Please note that this completely breaks the security of random numbers for cryptographic purposes and should only be used for deterministic tests. Never use this in production! - When the environment variable
FAKETIME_TIMESTAMP_FILE
is set, points to a writeable (creatable) custom config file and the environment variableFAKETIME_UPDATE_TIMESTAMP_FILE
is"1"
, then the file also is updated on each call. By this, a common "virtual time" can be shared by several processes, where each can adjust the time for all. - Additional link-time
LDFLAGS
can be passed via the environment variableFAKETIME_LINK_FLAGS
when running 'make
'. - Compile-time
CFLAG
FAKE_SETTIME
can be enabled to intercept calls toclock_settime()
,settimeofday()
, andadjtime()
. (suggested and prototyped by @ojura) - Additional compile-time
CFLAG
s can be passed via the environment variableFAKETIME_COMPILE_CFLAGS
when running 'make'. src/Makefile
CFLAG
FORCE_PTHREAD_NONVER
should be set on systems that hang onCLOCK_REALTIME
, or that hang onCLOCK_MONOTONIC
whereFORCE_MONOTONIC_FIX
is not sufficient.
libfaketime-v0.9.8
- Passthrough for unknown clock ids to avoid error messages
- Fixes for multithreaded operations (mliertzer, qnox)
- glibc-related fixes (jprjr) and gcc8 support (tpetazzoni)
- Improved error message output on parsing errors
- fix file stat() faking when 'i' modifier is used for determinism
- Use FAKETIME="%" to take FAKETIME setting from a file as specified in FAKETIME_FOLLOW_FILE
- Added FAKETIME_DONT_RESET environment variable to avoid faketime resets when subprocesses are started (similar to the old v0.9.6 behavior)
- Added FAKETIME_XRESET to avoid large clock jumps when the 'x' modifier is used and changed during run-time
- Do not fake time during libfaketime initialization to improve compatibility with memory allocation libraries that use time-related functions themselves
- Fixes for shared memory related issues, especially when not using the faketime wrapper
- Updated glibc compatibility settings for various platforms
- Support for clock_nanosleep() with realtime and monotonic clocks
- Support for epoll_wait(), epoll_pwait(), and pselect()
- src/Makefile CFLAG FORCE_MONOTONIC_FIX should be set (only) on platforms where the test program hangs forever at the CLOCK_MONOTONIC test.
libfaketime-v0.9.7
Preparations for 0.9.7 release
libfaketime-v0.9.7b1
Pass existing null pointers in select()