- 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.