**Нарушено правило:** Программы пишутся для пользователей и программистов, а не для компьютера, все должно быть понятно для человека. **Задача:** В тесте создания vm проверить, что нужные параметры в конфиге выставлены верно. **Ошибка:** Сделал проверку с помощью кода: cloudfox vm create ... grep -q "^IP=192.168.1.1" ${VM_CONF} grep -q "^NAME=test_vm" ${VM_CONF} Здесь неявно используется функционал set -e (Exit immediately if a pipeline returns a non-zero status), который мы используем для контроля за ошибками выполнения команд внутри скриптов (если в конфиге опции нет, то grep упадет, тест тоже). **Как надо делать:** Так как проверка опций в конфиге - это основная бизнес-логика теста, мы должны описать это явно на языке bash (желательно с понятным логом): cloudfox vm create ... if ! grep -q "^IP=192.168.1.1" ${VM_CONF}; then echo "В конфиге vm неверно указан сгенерировался IP">&2 exit 1 fi if grep -q "^NAME=test_vm" ${VM_CONF}; then echo "В конфиге vm неверно указан сгенерировался NAME">&2 exit 1 fi ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ {(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2019-08-26_нельзя_использовать_механизм_ошибок_для_бизнес-логики|type=vote|trace=user|tracedetails=1)}