I'm certainly trying to achieve something weird here, but I want to fake the date locally for a shell session on GNU/Linux. I need to black-box test how a program behaves at different dates, and modifying the system-wide date can have unwanted side effects (cron jobs, messed up logs, etc).
Any ideas ?
You can just use executable
faketime
(from ubuntu repositoriessudo apt-get install faketime
) by:Or even fake time in whole shell by
Haven't tried this one out yet. But if this is current is looks like someone already wrote the library you can preload with libfaketime.
The basic usage is:
You can use
ltrace
to make sure all the time functions your application uses are covered.You can set the TZ variable to an oddball value.
You might be able to preload a library that has an alternative
time()
implementation.