2012-04-02 2 views
0

Я провожу SeleniumRC, и страница зависает, поэтому я нажал Ctrl-C, чтобы остановить тестирование и решить проблему. Если я прохожу текстовый файл с помощью командной строки следующим образом:Когда я заканчиваю умирающий тестовый прогон Perl с использованием метода -v, почему результаты не сохраняются в текстовом файле через STDOUT?

prove -v some.t :: data.csv > testresults.txt 

... я либо ничего не получить или «Прекратить пакетное задание (Y/N)?» В текстовом файле. Обратите внимание: если я не передаю файл для вывода через командную строку, результаты прокручиваются так, как ожидалось.

У вас есть возможность записать файл через stdout, не являющийся -v?

Этот вопрос сохраняется, когда я добавляю $| = 1; в любой форме в prove.pm или some.t. Есть ли что-то в доказательстве или Test :: Harness, которое отменяет настройку автозапуска?

Я также попробовал этот вариант: prove -v some.t > testresults.txt :: data.csv

ответ

2

Звуки, как вы страдаете от буферизации. Выход буферизуется (когда его не отправляют на терминал), и эти буферы не очищаются при заполнении приложения с помощью Ctrl-C.

Если результат исходит из сценария Perl, попробуйте добавить к нему $| = 1;.

+0

Хмм .. Я не могу сделать эту работу для меня, событие после 'select (STDOUT)' – kyoob

+0

Добавлено в 'proove'? – ikegami

+0

Ах. Я наркоман. Повторюсь, когда вернусь в офис. – kyoob

 Смежные вопросы

  • Нет связанных вопросов^_^