Z pewnością staram się tutaj osiągnąć coś dziwnego, ale chcę lokalnie sfałszować datę sesji powłoki w systemie GNU / Linux. Muszę przetestować czarną skrzynkę, jak program zachowuje się w różnych terminach, a modyfikacja daty systemowej może mieć niepożądane skutki uboczne (zadania crona, pomieszane logi itp.).
Jakieś pomysły ?
Jeszcze tego nie wypróbowałem. Ale jeśli jest to aktualne, wygląda na to, że ktoś już napisał bibliotekę, którą można wstępnie załadować z libfaketime .
Podstawowym zastosowaniem jest:
Możesz użyć,
ltrace
aby upewnić się, że wszystkie funkcje czasowe używane przez aplikację są objęte gwarancją.źródło
Możesz ustawić zmienną TZ na nieparzystą wartość.
źródło
date Thu Aug 9 12:12:50 CDT 2018
, data „TZ = 'UTC + 120: 00” sob. 4 sierpnia 09:00:47 UTC 2018,
TZ = data „UTC-120: 00” wtorek 14 09:01:41 UTC 2018`. Z grubsza + - jeden tydzień.Być może będziesz mógł wstępnie załadować bibliotekę, która ma alternatywną
time()
implementację.źródło