Я использовал std::mktime для установки/получения времени в своей программе. На странице руководства указано:
Значения во времени могут выходить за пределы нормального диапазона.
а также, что она возвращает -1, если не может представить результат в виде std::time_t
В своих модульных тестах я пробовал все, чтобы эта функция не сработала, но безуспешно.
Это всего лишь несколько попыток:
#include
#include
#include
#include
int main()
{
setenv("TZ", "/usr/share/zoneinfo/America/New_York", 1); // POSIX-specific
std::time_t t = std::time(nullptr);
std::tm tm = *std::localtime(&t);
std::cout
Подробнее здесь: https://stackoverflow.com/questions/499 ... me-to-fail