Как установить переменную среды в Boost Build для Boost Unit Test Framework?

Обратите внимание, что:

  • Я использую Boost Build и Boost Unit Test Framework. Это означает, что когда я создаю тест, он автоматически запускает его и показывает результат.
  • Для запуска варианта GCC (а не времени компиляции или clang) мне нужно установить переменную среды LC_ALL в C.

Как мне сделать это в моем Jamfile?


person Koosha    schedule 05.01.2020    source источник


Ответы (1)


Я нашел здесь параметр под названием testing.arg, вы можете использовать его для отправки аргументов исполняемому файлу UnitTest перед его запуском.

Здесь вы можете найти информацию о том, что вы можете установить переменную среды, используя следующий синтаксис в командной строке UnitTest --<command_line_argument_name>=<argument_value>.

Объединив обе информации, можно предположить, что это поможет вам:

unit-test helpers_test
    : helpers_test.cpp helpers
    : <testing.arg>"--LC_ALL=C"
;
``
person chwala    schedule 05.01.2020
comment
Я не думаю, что testing.arg или --<command_line_argument_name>=<argument_value> имеют какое-либо отношение к переменным среды. Использование <testing.arg>"--LC_ALL=C" дало мне сообщение An unrecognized parameter in the argument LC_ALL=C. - person Koosha; 05.01.2020
comment
Не проверял, но, возможно, вариант <testing.launcher> с программой env linux может дать вам то, что вам нужно для вариантов unix/osx. Вариант <testing.launcher>env KEY=VALUE расширится до env KEY=VALUE your_program - person Raffi; 02.05.2020