между моим lint и модульными тестами, я хочу проверить, генерирует ли какой-либо php-файл какой-либо вывод.
я пытаюсь что-то вроде этого, которые, очевидно, не работают:
.PHONY: php_inc
php_inc:
ifneq (,$(shell php -e src/*inc))
$(error PHP include files should not have any output when parsed)
endif
предложения о том, как написать это, или лучший способ подойти к проблеме?
Вы могли бы сделать это, чтобы избежать выполнения php
дважды:
@output=`php -e src/*inc`; \
if [ ! -z "$$output" ]; then \
echo "PHP include files should not output. Got:"; \
echo $$output; \
exit 1; \
fi
Я не знаю, в какой момент вывод может стать слишком большим для оболочки, чтобы обрабатывать. Всякий раз, когда мне приходилось работать с инструментами, статус которых мне приходилось проверять, основываясь на состоянии вывода, а не на состоянии выхода, вывод был довольно скромным.
документирование моей текущей работы вокруг:
@if [ ! -z "`php -e src/*inc`" ]; then \
echo "PHP include files should not output. Got:"; \
php -e src/*inc; \
exit 1; \
fi
или немного более притворно … но мне нравятся цитаты там. дай мне теплое чувство безопасности 🙂
@if [ ! -z $(shell $(PHP) -e src/*inc) ]; then \