Какие шаги предпринять в случае сбоя установки CPAN?

9184
pythonic metaphor

Я использовал 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 

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

0
Возможно, вам больше повезет с этим вопросом на StackOverflow. В качестве отправной точки введите «look Thread :: Conveyor :: Monitored», чтобы попасть в каталог, который CPAN использует для компиляции исходного кода, и попробуйте найти способ получить дополнительную информацию из шага «make test» («proof»). -p "похоже, что стоит попробовать, исходя из ошибки." Доказательство --verbose "также стоило бы попробовать). Steve Simms 14 лет назад 1

2 ответа на вопрос

2
Steve Simms

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

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

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

Я думаю, что это правильно. pythonic metaphor 14 лет назад 0
0
Satanicpuppy

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

Я попытался сделать это из источника, и когда я запускаю make test, я получаю те же диагностические сообщения. С самим make все в порядке - на самом деле, я думаю, что это чистый Perl-модуль, поэтому делать нечего. Проблема в том, что тесты не пройдены. pythonic metaphor 14 лет назад 0
Стив был прав, я думаю. Тесты плохо написаны. pythonic metaphor 14 лет назад 0
@ Pythonic метафора: круто. Satanicpuppy 14 лет назад 0