Путь к исполняемому файлу теста теперь доступен и во время самого теста
07.01.2026Переменные окружения с путями к исполняемым файлам тестов стали доступны не только при сборке теста, но и при его выполнении.
Какая была проблема
Тест, который запускает другую программу, должен знать, где она лежит. Путь сообщался только на этапе сборки, а на этапе выполнения переменная отсутствовала.
Обходной путь был один: код полностью собирался внутри макроса, который подставлял путь как константу. Именно так работает популярная библиотека для тестов запуска программ, у которой больше двух тысяч зависимых крейтов — и она не может использовать собственный путь, потому что у неё нет макроса.
Что даёт
Путь доступен как обычная переменная окружения во время выполнения. То есть библиотека может получить его обычным способом, без макроса и без переписывания вызова.
Тем же стали доступны и пути к артефактам зависимостей — то есть тест может запускать не только исполняемый файл самого крейта, но и инструменты, приходящие в комплекте с зависимостями.
Оригинал
feat(test): Make CARGO_BIN_EXE_ available at runtime
Упоминаний: 1 · Просмотров: 2