Как запустить процесс с настройками даты / времени, отличными от остальной системы?

0

Я разрабатываю настольное приложение для OS X, поведение которого зависит от даты. Я хочу проверить поведение, не дожидаясь определенной даты.

Я бы предпочел не изменять настройки даты всей системы, так как боюсь, что это может привести к сбоям в сборке систем и т. Д. Использование ВМ возможно, но для настройки требуется время.

Есть ли простой способ запустить процесс и его потомков в дельте времени относительно фактического времени, не влияя на остальную часть системы?

jacwah
источник
1
Реальное решение состоит в том, чтобы позволить вашему коду переопределить дату (создайте функцию, которая получает дату, но когда вы находитесь в разработке, переопределите эту функцию, чтобы всегда возвращать дату теста).
Andrew Larsson

Ответы:

1

Нет. Система не раздваивает время.

Вам понадобится приложение для обработки временного сдвига или запуска независимо от системного времени или упаковки приложения для запуска на виртуальной машине или в другом контейнере, таком как докер. В некоторых ограниченных случаях переменная часового пояса может помочь вам немного настроить, но произвольная установка абсолютно не связанного времени не реализована в OS X.

bmike
источник
Не возможно изменить дату, отредактировав Схемы? Я знаю, что вы можете сделать симуляцию местоположения, например. (CMD & lt;)
StrawHara
1
@MrMojoRisin С программным обеспечением возможно все :-). Однако в настоящее время это не реализовано.
bmike
@MrMojoRisin Какие схемы?
jacwah
@jacwah Сделать CMD + & lt; в xcode;) developer.apple.com/library/ios/recipes/...
StrawHara
1
@danielAzuelos Linux имеет виртуализацию времени через UML ( LWN ).
jacwah