Я использовал CPAN для установки модулей Perl довольно часто, но мне посчастливилось просто заставить его работать. К сожалению, я пытался установить Thread::Pool сегодня, и одна из необходимых зависимостей Thread::Converyor::Monitored не прошла тест:

Test Summary Report
-------------------
t/Conveyor-Monitored02.t (Wstat: 65280 Tests: 89 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Tests out of sequence.  Found (2) but expected (4)
                Tests out of sequence.  Found (4) but expected (5)
                Tests out of sequence.  Found (5) but expected (6)
                Tests out of sequence.  Found (3) but expected (7)
                Tests out of sequence.  Found (6) but expected (8)
Displayed the first 5 of 86 TAP syntax errors.
Re-run prove with the -p option to see them all.
Files=3, Tests=258,  6 wallclock secs ( 0.07 usr  0.03 sys +  4.04 cusr  1.25 csys =  5.39 CPU)
Result: FAIL
Failed 1/3 test programs. 0/258 subtests failed.
make: *** [test_dynamic] Error 255
  ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz: make_test NO

Какие шаги вы предпринимаете, чтобы понять, почему установка не удалась? Я даже не уверен, как начать отслеживать, что не так.

2 ответа2

2

Глядя на модуль, кажется, что он не подходит для всех, согласно отчетам об испытаниях.

Из сообщения об ошибке я думаю, что он запускает тесты в отдельных потоках, а некоторые более поздние тесты занимают меньше времени, чем предыдущие. Когда они завершаются, это выводит результаты теста не по порядку, что приводит к сбою.

Это, вероятно, означает, что тесты плохие, а не сам код, и вы можете force install Thread::Conveyor::Monitored чтобы обойти тестирование.

0

Ну, во-первых, я бы попробовал собрать модуль из исходного кода. Много раз вы можете получать ошибки там лучше, и, если не больше, по крайней мере, у вас все равно будет весь журнал make для просмотра (обязательно передайте его в файл).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .