Автотесты на GitHub

В ваших репозиториях настроены автотесты для проверки, что код в состоянии собраться и собранный исполняемый файл отрабатывает верно.

Мотивация запуска для вас: увидеть до защиты, сколько баллов по критерию "Тесты" вы получите в лабораторной работе. На защите проверяющие будут запускать сдаваемый код и забирать баллы за Тесты прямо из логов тестирования.

Запуск автотестов (web-интерфейс)

В репозиториях курса можно запускать все тесты сразу.

Для этого нужно:

  1. Загрузить в репозиторий курса файлы с исходным кодом.

  2. Перейти в раздел Actions. Там выбрать слева единственный workflow CI/CD, после чего в меню запуска нажать Run workflow (можно выбрать опции, если есть).

  1. Дождаться окончания запуска. Новый запуск (run) появляется в списке запусков с некоторой задержкой (до 10 секунд), так что наберитесь терпения или press F5.

  2. Ознакомиться с результатами запуска. Если всё прошло успешно, то в Summary запуска вы увидите наиполезнейшую информацию:

Здесь говорится о том, что проверка будет только на цветной картинке.

Запуск и ход тестирования (консольный интерфейс)

Запускать автотесты можно как через web-интерфейс, так и с использованием gh API

gh workflow run classroom.yml --ref main

Проверка статуса: gh run list --workflow=classroom.yaml

Просмотр прогресса: gh run watch -i 1

Подробнее: https://cli.github.com/manual/gh_run

Ход тестирования (web-интерфейс)

Все логи отображаются в Summary. Не нужно лезть в консольные логи.

Запуск состоит из 3 блоков: clang-format, buildtest и results. Без прохождения первого не будет запуска второго.

clang-format

В первом блоке проверяется соответствие приложенному clang-format файлу.

В случае несоответствия формату в Summary будет отображаться в каких файлах обнаружено несоответствие:

Подробный лог clang-format в логах запуска:

buildtest

Сборка и запуск с санитайзерами в разных конфигурациях под несколькими компиляторами.

Набор тестов одинаков для всех запусков на всех конфигурациях.

Чтобы посмотреть логи сборки (build logs), нужно перейти в подзадачу и найти там пункт Build *:

Ошибки настройки и сборки

Если в разделе ошибок наблюдаются ошибки вида:

В таком случае нужно сверху справа нажать Re-run и выбрать Re-run failed job

results

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

В первую очередь отображаются баллы, которые пойдут в таблицу курса.

Затем приведена сводная таблица по конфигурациям с легендой.

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

Подробные логи можно почитать в логах аналогично clang-format.

Last updated