Skip to main content

Checker for C projects in 21 school

Project description

checker21 v0.2.5a

Установка и запуск:

$ pip3 install checker21 -U

Для установки на школьных компьютерах потребуется добавить checker21 в переменную окружения PATH.

$ echo 'PATH="`dirname ~/any`/Library/Python/3.7/bin:${PATH}"; export PATH' > ~/.checker21

Запуск производится внутри папки с проектом.

$ checker21 test [project name]

На школьных компьютерах команда checker21 может быть не доступна. Нам нужно активировать PATH, чтобы команда заработала.

$ source ~/.checker21

Доступные проекты для тестирования

  • libft
  • get_next_line (gnl)
  • printf

Пример использования чекера запуска

$ git clone [url] some_folder
$ cd some_folder
$ checker21 test gnl

Чекеры:

Возможен запуск конкретного чекера. По умолчанию запускаются все. Для запуска конкретного чекера нужно указать его имя:

$ checker21 test [project name] [check name]

Для многих проектов доступны чекеры общего назначения:

  • files
  • norminette

files проверят репозиторий на наличие запрещённых файлов.

norminette запускает проверку нормы только для файлов из репозитория и раскрашивает результаты проверки.

Libft чекер:

Для тестирования libft используется libft-unit-test, split, libft-tester

https://github.com/alelievr/libft-unit-test

https://github.com/Ysoroko/FT_SPLIT_TESTER

https://github.com/Tripouille/libftTester

GetNextLine чекер:

Для тестирования gnl используется gnltester и gnl-war-machine

https://github.com/Tripouille/gnlTester

https://github.com/PavelICS/gnl-war-machine-v2019

Printf чекер:

Для тестирования printf используется pft

https://github.com/gavinfielder/pft

Работа с norminette:

В версии 0.2 появилась расширенная возможность по работе с нормой.

Для работы этого функционала требуется установка оригинального norminette.

checker21 в отличие от классического norminette добавляет:

  • подствеку результатов
  • кеширование проверок (перепроверяются только последние изменённые файлы)
  • проверка только файлов, добавленных в репозиторий (при его наличие)
  • отображение только строк с ошибками
  • минимальная статистика по норме
  • автоматическое исправление ряда базовых, но частых ошибок

Запуск проверки нормы проекта в текущей директории

$ checker21 norminette

Проверка нормы в директории /home/delyn/projects/minishell

$ checker21 norminette -p /home/delyn/projects/minishell

Если что всегда доступен --help, хоть он пока и не очень подробный

Для очистки кеша, на всякий случай перед финальной проверкой, чтоб убедиться, что у вас всё идеально. Добавьте просто clear, где угодно.

$ checker21 norminette clear
$ checker21 norminette clear -p /home/delyn/projects/minishell
$ checker21 norminette -p /home/delyn/projects/minishell clear

Для отображения только ошибок (сокрытие файлов с надписью OK) нужно добавить errors.

Например,

$ checker21 norminette -p /home/delyn/projects/minishell errors

Для просмотра статистики добавляем stats

$ checker21 norminette -p /home/delyn/projects/minishell stats

Автоматическое исправление ошибок от norminette:

  • ⚠ Предварительно нужно проверить проект на норму, исправление ошибок работает с кешем.
  • ⚠ Убедитесь, что вы закоммитили все файлы и можете, если что их восстановить. Данный режим находится в стадии тестирования, и в нём могут быть баги, которые могут подпортить ваш код.
  • ⚠ Команду нужно запускать несколько раз, т.к. норма сложная штука, за один проход всё не исправить.
  • ⚠ После автоматических изменений соберите и проверьте, что ваш проект запускается. Я проверяю корректность работы программы через создание и просмотр изменений в коммите. Там сразу видно напортачила программа или нет. Сообщение о баге пишите мне (delyn), приложив файл с ошибкой. А сам файл придётся подправить ручками по старинке.

Для запуска автоматического исправления ошибок надо добавить fix. Чтоб checker21 автоматически мог вставлять хедеры в ваши файлы используйте --user=delyn (не забудьте своего пользака подставить ;)

Например,

$ checker21 norminette -p /home/delyn/projects/minishell --user=delyn fix

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checker21-0.2.5a0.tar.gz (57.2 kB view details)

Uploaded Source

Built Distribution

checker21-0.2.5a0-py3-none-any.whl (78.5 kB view details)

Uploaded Python 3

File details

Details for the file checker21-0.2.5a0.tar.gz.

File metadata

  • Download URL: checker21-0.2.5a0.tar.gz
  • Upload date:
  • Size: 57.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.1

File hashes

Hashes for checker21-0.2.5a0.tar.gz
Algorithm Hash digest
SHA256 f54f1fdcd20cb06b80952d2f7608ab9861bcb188982a13f5246c64bb41c1d646
MD5 d653cc09b4fefe60615b3a9b22c4d178
BLAKE2b-256 522efb10e332592e8e32800fd3631c513ea996f1bb100c007370e8217bdf31b5

See more details on using hashes here.

File details

Details for the file checker21-0.2.5a0-py3-none-any.whl.

File metadata

  • Download URL: checker21-0.2.5a0-py3-none-any.whl
  • Upload date:
  • Size: 78.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.1

File hashes

Hashes for checker21-0.2.5a0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0bf65fe5cb4acfd1c4e86f380ae65977667a91dcd364d2086ae0f702c41e6c6
MD5 964f60c1e0b5f14a8ddadb63034e94fe
BLAKE2b-256 cb980b783e8bd7eaa887e62d23aaf8b398cbd88c464bfc68f88c383754728048

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page