[КТ] Язык программирования С++
  • О курсе
    • Язык программирования C++ (поток Скакова П. С.)
      • Контакты
      • Краткое напоминание о том, как не получить долг по C/C++
      • Условные обозначения
  • Организационные вопросы
    • Система оценивания
      • Лабораторные работы
      • Проверка работ, сроки и дедлайны
      • Защита работ
    • Технические вопросы
      • Отправка работ
      • GitHub
      • CodeWars
      • Автотесты на GitHub
      • Автотесты (local)
    • Правила оформления и написания работ
      • Требования ко всем работам
      • Оформление исходных текстов
Powered by GitBook
On this page
  • Запуск автотестов (web-интерфейс)
  • Запуск и ход тестирования (консольный интерфейс)
  • Ход тестирования (web-интерфейс)
  • clang-format
  • buildtest
  • results
  1. Организационные вопросы
  2. Технические вопросы

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

PreviousCodeWarsNextАвтотесты (local)

Last updated 3 months ago

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

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

Запускать тесты нужно только вручную. Все запуски от @github-classroom[bot] игнорируйте!

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

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

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

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

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

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

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

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

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

gh workflow run classroom.yml --ref main

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

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

Ход тестирования (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.

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

Подробнее:

gh API
https://cli.github.com/manual/gh_run