Один из моих проектов «Makefile запускает кучу тестов в безгласном браузере для функционального тестового шага. Большая часть теста предназначена для интерфейсного кода, но я также проверяю на наличие ошибок/предупреждений на бэкэнд.лучший способ проверить журналы после команды Makefile
В настоящее время мы очищаем журнал веб-сервера, выполняем все (очень медленные) тесты, а затем grepping в журнале сервера для любой ошибки или предупреждения.
Мне было интересно, есть ли способ прослушать прослушиватель журнала (например, tail -f | grep
), начиная с фона, и убить цель make, если она обнаруживает какую-либо ошибку/предупреждение во время тестового прогона.
, что я получил до сих пор был
- начать долгоживущих Grep в фоновом режиме и хранить PID.
- испытания.
- контрольная выработка долгоживущих grep
- kill PID.
- при любой ошибке, неисправность.
Это только купило мне то преимущество, что теперь я не теряю журналы сервера в своем блоке dev каждый раз, так как мне не нужно их чистить каждый раз. Но я все еще должен ждать много времени (минут) для отказа, который мог произойти в самом первом.
есть какое-либо решение?
Используйте что-то более гибкое, чем 'grep'? Как 'awk' или insert-favorite-scripting-language, который может запускать произвольные команды по совпадениям по мере их возникновения? –
@ EtanReisner, что должно быть хорошо, я действительно не забочусь о grep или нет. Но до сих пор неясно, как захватить сообщение журнала из awk или что-то еще, после того, как выложите его в фоновом режиме. – gcb
Хм? awk может напрямую выполнять команды, поскольку он обрабатывает свой вход и может выйти, когда это необходимо. –