Файл спецификации покрытия Erlang Common Test - Относительные пути

Я использую Общий тест для анализа покрытия кода в моем проекте erlang.

Файловая структура

myProject/
    ebin/
    src/
    test/
        myProject.coverspec

.Beam-файлы для исходного кода находятся в ebin/, а для тестов они находятся в тесте / вместе с исходными текстами тестов.

В настоящее время я использую абсолютные пути к файлам.beam в.coverspec-файле.

myProject.coverspec:

{level,details}.
{incl_dirs, ["/home/user/myProject/ebin", "/home/user/myProject/test"]}.

Это работает, но далеко не оптимально, так как разработка проекта распространяется.

ct_run вызывается из базы проекта, myProject, пути кажутся не относительными к myProject, а где-то еще.

Я пробовал пути относительно myProject и myProject / test без успеха.

Мой вопрос, где пути в myProject.coverspec относительно?

1 ответ

В моем последнем проекте Erlang, где я использовал CT а также cover моя установка выглядела так:

  • cover.spec в корневом каталоге проекта:

    {incl_dirs, ["apps/application_manager/ebin", "apps/session_counter/ebin", "apps/session_heartbeat/ebin", "apps/session_api/ebin"]}.
    
  • Тесты выполнены из корня проекта через;

    ct_run -pa apps/*/ebin -pa deps/*/ebin -dir apps/*/test/ -logdir tests -- cover cover.spec
    

Не уверен, решит ли это вашу проблему, но это сработало для меня.

Другие вопросы по тегам