Почему груша не распознает регулярные выражения в тестах phpt? - PullRequest
3 голосов
/ 19 ноября 2011

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

В документации по файлу PHPT говорится, что в разделе --EXPECTF-- теста есть флаг %r, который можно использовать для сопоставления с регулярным выражением. Вы можете получить более подробную информацию от: PHPT - макет тестового файла

Я пытался использовать его в своих тестах, но он всегда терпел неудачу! Поэтому я решил написать простой тест, чтобы проверить проблему, и тест выглядел так:

--TEST--
Test the %r tag of EXPECTF in phpt
--FILE--
<?php

echo '1';

?>
--EXPECTF--
%r.%r

Этот тест не проходит, когда я запускаю его с помощью команды run-tests груши. Файл .diff содержит следующее:

001- %r.%r
001+ 1

Кажется, этот тег не распознается бегуном. Поэтому я попытался найти пример, который использует этот тег в тестах исходного кода PHP. С его помощью можно было найти только один тест (внутри: php-src-5.3 / ext / standard / tests / network / gethostbyaddr_basic1.phpt).

Я не уверен, что я здесь делаю неправильно ... Есть идеи?

1 Ответ

2 голосов
/ 19 ноября 2011

Он работает только с run-tests.php, который поставляется с исходным дистрибутивом PHP (в его корне), а не с версией PEAR.

PHPRC=. TEST_PHP_EXECUTABLE=./sapi/cli/php php run-tests.php a.phpt
PASS Test the %r tag of EXPECTF in phpt [a.phpt]

Если вы посмотрите на версию PEAR в<PHP prefix>/lib/php/PEAR/RunTest.php вокруг строки 520, вы заметите, что она не поддерживает %r.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...