передача аргументов времени выполнения в erlang при запуске модуля арматуры

В моем сценарии запуска я запускаю erlang с помощью:

erl -args_file vm.args

В настоящее время, пытаясь запустить модульные тесты с помощью rebar eunit, есть ли способ передать пользовательские аргументы времени выполнения, такие как параметр -args_file, в процесс erlang, который запускает арматуру? Я искал документы вверх и вниз, но безрезультатно...

Я ценю помощь.


person jshadyjlo    schedule 24.04.2012    source источник


Ответы (2)


Я ответил на свой вопрос. Я использую переменную ERL_FLAGS для передачи аргументов командной строки. Вот фрагмент моего Makefile:

ERL_FLAGS="-args_file test/conf/vm.eunit.args" ./rebar skip_deps=true eunit
person jshadyjlo    schedule 03.05.2012

Первый метод удовлетворяет вашим ограничениям: 1. в вашей тестовой функции eunit использовать "os:cmd("erl -name bar -detached arguments")." erlang для запуска другого узла erlang. В аргументах вы можете вставить что угодно. Но проверка евнита будет затруднена, потому что тест будет пересекать узлы.

Второй способ - изменить ваше ограничение: 1. Использовать "конфигурационный файл" для передачи аргументов, а не использовать параметр команды для передачи параметров.

person Chen Yu    schedule 25.04.2012