diff --git a/README.md b/README.md index 5f316d7..6aa2fff 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ 1. При использовании EDT версии 2024.1.0 и выше вместо ring используется 1cedtcli, который должен быть прописан в PATH на агенте. 1. Для запуска шагов, работающих с 1С (подготовка, синтаксический контроль и т.д.) требуется агент с меткой, совпадающей со значением в поле `v8version` файла конфигурации. 1. В качестве ИБ используется файловая база, создаваемая в каталоге `./build/ib`. При необходимости вы можете создать пользователей на фазе инициализации ИБ. -1. Для замеров покрытия на агентах должны быть установлены [Coverage41C](https://github.com/1c-syntax/Coverage41C), EDT и сервер отладки dbgs. Вместо установки EDT целиком можно использовать только отдельные ее компоненты, см. [Coverage41C/README.md](https://github.com/1c-syntax/Coverage41C). 1. На данный момент ошибка в [vanessa-add](https://github.com/vanessa-opensource/add/issues/1152) не позволяет собирать замеры производительности в дымовых тестах по открытию всех форм на клиенте тестирования. 1. Для параллельного выполнения шагов `bdd` и `smoke` с включенными замерами покрытия на одной ноде необходимо, чтобы в `jobConfiguration.json` были указаны **разные** порты сервера отладки для каждого шага. Параллельные билды с замерами покрытия на одной ноде не поддерживаются. @@ -248,3 +247,61 @@ pipeline1C() * При использовании SonarQube версии <10.3 и `stebi` формат отчета должен быть `Generic_Issue` (параметр `resultsTransform` -> `genericIssueFormat`) * Трансформацию результатов может выполнять `edt-ripper` (параметр `resultsTransform` -> `transformer`). В этом случае замечания будут загружены в SonarQube в формате BSL LS, что позволяет полноценно управлять ими в SonarQube. + +## Сбор замеров покрытия + +* Для сбора замеров покрытия на агентах требуется: + * oscript с библиотекой v8find, которая по умолчанию есть в составе дистрибутива oscript + * сервер отладки dbgs, который есть в составе дистрибутива платформы 1С:Предприятие + * [Coverage41C](https://github.com/1c-syntax/Coverage41C), его необходимо установить на агент отдельно + * EDT нужной версии или отдельные jar-файлы из его каталога установки, подробнее см. в [Coverage41C/README.md](https://github.com/1c-syntax/Coverage41C) +* Если на агенте Coverage41C не включен в PATH, необходимо указать полный путь к нему в параметре `coverage41CPath` +* Сбор замеров покрытия активируется для каждого стейджа отдельно с помощью установки параметра `"coverage": true` +* поддерживаются `bdd` и `yaxunit`, для использования замеров на стейже `smoke` ожидается исправление vanessa-add в этом [PR](https://github.com/vanessa-opensource/add/pull/1153) +* Чтобы замеры в `bdd`, `yaxunit`, `smoke` могли выполняться параллельно **на одном агенте**, необходимо указывать для них разные порты отладки в параметре `dbgsPort`. +* Не забудьте настроить подключение клиентов тестирования к серверу отладки. + +Пример настройки подключения для `bdd`: + +jobConfiguration.json +```json +"bdd": { + "vrunnerSteps": [ + "vanessa --settings ./tools/vrunner.json" + ], + "coverage": true, + "dbgsPort": 1550 + }, +``` + +./tools/vrunner.json +```json + "vanessa": { + "--vanessasettings": "tools/VAParams.json", + } +``` + +./tools/VAParams.json +```json +"КлиентТестирования": { + "ЗапускатьТестКлиентВРежимеОтладки": true, + "КлючиОтладки": "-http", + "АдресОтладчика": "http://127.0.0.1:1550", +``` + +Для `yaxunit`: +``` +"default": { + "--additional": "/debug -http -attach /debuggerURL http://localhost:1550" +} +``` + +Для `smoke` (после исправления ошибки в vanessa-add): +``` +"xunit": { + "--testclient-additional": "/debug -http -attach /debuggerURL http://localhost:1550" +} +``` + +* При изменении портов отладки в jobConfiguration.json не забывайте менять порты в настройках соответствующих шагов (и наоборот) +* Настоятельно рекомендуется использовать не "постоянные" агенты Jenkins, а контейнеры docker. При выполнении билдов в контейнерах можно использовать исключительно стандартный порт 1550.