Тестирование

AddressSanitizer и UBSan: ловим ошибки памяти

Компилятор встраивает проверки выхода за границы, утечек и неопределённого поведения.

Команды и конфиги

gcc -g -O1 -fsanitize=address,undefined -fno-omit-frame-pointer app.c -o app
ASAN_OPTIONS=detect_leaks=1 ./app

На что обратить внимание

Санитайзеры замедляют программу, поэтому включайте их в тестовой сборке.

Читайте также

Тестирование

bats: автотесты для shell-скриптов

Тестируйте коды возврата и вывод скриптов так же, как обычный код.

Тестирование

testinfra: проверяем состояние серверов на pytest

Тесты описывают, какими должны быть пакеты, службы и порты после настройки.

Тестирование

stress-ng: нагрузочное тестирование системы

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