Путь к исполняемому файлу теста теперь доступен и во время самого теста

07.01.2026

Переменные окружения с путями к исполняемым файлам тестов стали доступны не только при сборке теста, но и при его выполнении.

Какая была проблема

Тест, который запускает другую программу, должен знать, где она лежит. Путь сообщался только на этапе сборки, а на этапе выполнения переменная отсутствовала.

Обходной путь был один: код полностью собирался внутри макроса, который подставлял путь как константу. Именно так работает популярная библиотека для тестов запуска программ, у которой больше двух тысяч зависимых крейтов — и она не может использовать собственный путь, потому что у неё нет макроса.

Что даёт

Путь доступен как обычная переменная окружения во время выполнения. То есть библиотека может получить его обычным способом, без макроса и без переписывания вызова.

Тем же стали доступны и пути к артефактам зависимостей — то есть тест может запускать не только исполняемый файл самого крейта, но и инструменты, приходящие в комплекте с зависимостями.

Оригинал

feat(test): Make CARGO_BIN_EXE_ available at runtime

Упоминаний: 1 · Просмотров: 2