Update from 12
This commit is contained in:
parent
e78f187cda
commit
8912bb7190
10 changed files with 130 additions and 130 deletions
|
|
@ -1,20 +1,20 @@
|
|||
# Инструкция по запуску тестов.
|
||||
|
||||
Помимо тестов на корректные выходные данные система автотестирования будет проверять вашу программу и ее исходный код по
|
||||
Помимо тестов на корректные выходные данные система автотестирования будет проверять твою программу и ее исходный код по
|
||||
следующим пунктам:
|
||||
|
||||
* **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует стандартам, вы можете протестировать
|
||||
ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который
|
||||
* **Стилевые тесты.** Чтобы проверить, насколько красота твоего кода соответствует стандартам, ты можешь протестировать
|
||||
свой код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который
|
||||
содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все
|
||||
файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим
|
||||
файлам с исходным кодом, скопируйте ```.clang-format``` в папку ```src```. \
|
||||
файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к твоим
|
||||
файлам с исходным кодом, скопируй ```.clang-format``` в папку ```src```. \
|
||||
\
|
||||
Чтобы запустить проверку на стиль, выполните следующую команду: \
|
||||
Чтобы запустить проверку на стиль, выполни следующую команду: \
|
||||
```clang-format -n src/sourcefile_name.c``` \
|
||||
\
|
||||
Чтобы скачать _clang-format_, введите в терминал одну из следующих команд: \
|
||||
Чтобы скачать _clang-format_, введи в терминал одну из следующих команд: \
|
||||
```brew install clang-format``` \
|
||||
или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \
|
||||
или, если у тебя есть root-права (для Ubuntu / Linux Mint / Debian) \
|
||||
```sudo apt install clang-format```
|
||||
|
||||
Необходимая версия clang-format: \
|
||||
|
|
@ -27,41 +27,41 @@
|
|||
* **Тест на корректную работу с памятью.** При написании C-программ очень важно следить за утечками памяти. Для этого в
|
||||
Unix-подобных операционных системах довольно часто используют утилиту _valgrind_. Однако, на OS X имеются проблемы с
|
||||
поддержкой _valgrind_, поэтому вместо нее можно использовать утилиту _leaks_. Вдаваться в механизм работы этих утилит
|
||||
мы сейчас не будем — если интересно, можете почитать в гугле.
|
||||
мы сейчас не будем — если интересно, можешь почитать в гугле.
|
||||
|
||||
**_LEAKS_**
|
||||
|
||||
Чтобы запустить ваш исполняемый файл с помощью этой утилиты, наберите в терминале: \
|
||||
Чтобы запустить свой исполняемый файл с помощью этой утилиты, набери в терминале: \
|
||||
```leaks -atExit -- ./main.out | grep LEAK:```
|
||||
|
||||
Обратите внимание на команду ```| grep LEAK:```. Мы используем ее для короткого вывода, чтобы видеть только линии с
|
||||
утечками, если они есть. Если вы хотите увидеть весь вывод, просто удалите эту команду.
|
||||
Обрати внимание на команду ```| grep LEAK:```. Мы используем ее для короткого вывода, чтобы видеть только линии с
|
||||
утечками, если они есть. Если ты хочешь увидеть весь вывод, просто удали эту команду.
|
||||
|
||||
При запуске исполняемого файла с помощью _leaks_ может появиться сообщение об ошибке:
|
||||
> dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found
|
||||
|
||||
Ошибка возникает из-за того, что _leaks_ не может найти библиотеку _libLeaksAtExit.dylib_. \
|
||||
В этом случае вам необходимо ввести следующие команды:
|
||||
В этом случае тебе необходимо ввести следующие команды:
|
||||
```sh
|
||||
cd /usr/local/lib
|
||||
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib
|
||||
```
|
||||
|
||||
_Дополнительно:_ \
|
||||
Используйте флаг ```-exclude``` утилиты _leaks_ для того, чтобы отфильтровать утечки в функциях, где известно об
|
||||
Используй флаг ```-exclude``` утилиты _leaks_ для того, чтобы отфильтровать утечки в функциях, где известно об
|
||||
утечках памяти. Этот флаг позволяет уменьшить количество посторонней информации, сообщаемой _leaks_.
|
||||
|
||||
**_VALGRIND_**
|
||||
|
||||
Чтобы установить _valgrind_ на компьютер, введите одну из следующих команд: \
|
||||
Чтобы установить _valgrind_ на компьютер, введи одну из следующих команд: \
|
||||
```brew install valgrind``` \
|
||||
или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \
|
||||
или, если у тебя есть root-права (для Ubuntu / Linux Mint / Debian) \
|
||||
```sudo apt install valgrind``` \
|
||||
Чтобы запустить ваш исполняемый файл с помощью этой утилиты, наберите в терминале: \
|
||||
Чтобы запустить свой исполняемый файл с помощью этой утилиты, набери в терминале: \
|
||||
```valgrind --tool=memcheck --leak-check=yes ./main.out```
|
||||
|
||||
Не рекомендуется использовать _valgrind_ на OS X, вместо нее лучше использовать _leaks_.
|
||||
|
||||
* **Тест сборки.** Программу можно проверить на корректность сборки на тестовой системе. Для этого потребуется
|
||||
установленный _Docker_. Если на системе есть докер, то можно зайти в директорию `materials/build` и запустить оттуда
|
||||
скрипт run.sh. Скрипт обернет ваше решение в докер и запустит его вместе с типовым сценарием сборки.
|
||||
скрипт run.sh. Скрипт обернет твое решение в докер и запустит его вместе с типовым сценарием сборки.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue