Типичный программист | IT, программирование, разработка, ИИ
IT и технологии · 4 октября 2026 г.
18 тысяч тестов нашли то, что пропустили 185 обычных
18 тысяч тестов нашли то, что пропустили 185 обычных При переносе robfig/cron с Go на Rust код компилировался, а все 185 модульных тестов проходили. Затем одинаковые расписания прогнали через обе реализации и сравнили результаты в 18 тысячах точек. Так вскрылась разница при переводе часов: несуществующее 02:30 Go переносил на 03:30, а библиотека chrono-tz сообщала, что такого локального времени нет. В Rust пропущенный час стали сдвигать вперёд, после чего сравнительные тесты не нашли ни одного расхождения. Код проверки и история переноса показывают полезный подход: совместимость порта стоит доказывать одинаковым поведением на сложных входных данных, а не успешной сборкой.