Автотесты на GitHub
Last updated
Last updated
В ваших репозиториях настроены автотесты для проверки, что код в состоянии собраться и собранный исполняемый файл отрабатывает верно.
Мотивация запуска для вас: увидеть до защиты, сколько баллов по критерию "Тесты" вы получите в лабораторной работе. На защите проверяющие будут запускать сдаваемый код и забирать баллы за Тесты прямо из логов тестирования.
Запускать тесты нужно только вручную. Все запуски от @github-classroom[bot]
игнорируйте!
В репозиториях курса можно запускать все тесты сразу.
Для этого нужно:
Загрузить в репозиторий курса файлы с исходным кодом.
Перейти в раздел Actions. Там выбрать слева единственный workflow CI/CD
, после чего в меню запуска нажать Run workflow
(можно выбрать опции, если есть).
Дождаться окончания запуска. Новый запуск (run) появляется в списке запусков с некоторой задержкой (до 10 секунд), так что наберитесь терпения или press F5
.
Ознакомиться с результатами запуска. Если всё прошло успешно, то в Summary запуска вы увидите наиполезнейшую информацию:
Здесь говорится о том, что проверка будет только на цветной картинке.
Запускать автотесты можно как через web-интерфейс, так и с использованием gh API
Проверка статуса: gh run list --workflow=classroom.yaml
Просмотр прогресса: gh run watch -i 1
Подробнее: https://cli.github.com/manual/gh_run
Все логи отображаются в Summary. Не нужно лезть в консольные логи.
Запуск состоит из 3 блоков: clang-format
, buildtest
и results
. Без прохождения первого не будет запуска второго.
В первом блоке проверяется соответствие приложенному clang-format
файлу.
В случае несоответствия формату в Summary будет отображаться в каких файлах обнаружено несоответствие:
Подробный лог clang-format
в логах запуска:
Сборка и запуск с санитайзерами в разных конфигурациях под несколькими компиляторами.
Набор тестов одинаков для всех запусков на всех конфигурациях.
Чтобы посмотреть логи сборки (build logs), нужно перейти в подзадачу и найти там пункт Build *
:
Если в разделе ошибок наблюдаются ошибки вида:
В таком случае нужно сверху справа нажать Re-run и выбрать Re-run failed job
Для всех конфигураций, где есть хоть один непройденный тест, в Summary будет отображаться таблица с непройденными тестами и данными по ним.
В первую очередь отображаются баллы, которые пойдут в таблицу курса.
Затем приведена сводная таблица по конфигурациям с легендой.
Если хоть по одной конфигурации есть непройденные тесты, то далее будут отображаться таблицы по каждой из таких конфигураций с полными логами тестов.
Подробные логи можно почитать в логах аналогично clang-format.