Вот результаты теста.
prove -lv t/02-fail.t
t/02-fail.t ..
not ok 1
1..1
# Failed test at t/02-fail.t line 15.
# STDOUT is:
# ok 1 - corpus/fail/FooBar.pm version 1.0.1 is valid
# not ok 2 - corpus/fail/FooBarBaz.pm version is valid
#
# not:
# ok 1 - corpus/fail/FooBar.pm version 1.0.1 is valid
#
# not ok 2 - corpus/fail/FooBarBaz.pm version is valid
#
# as expected
# STDERR is:
# # Failed test 'corpus/fail/FooBarBaz.pm version is valid'
# # at /home/xenoterracide/projects/Test-HasValidVersion/lib/Test/HasValidVersion.pm line 60.
# # corpus/fail/FooBarBaz.pm VERSION is not a valid verion
#
# not:
#
# as expected
Failed 1/1 subtests
Test Summary Report
-------------------
t/02-fail.t (Wstat: 0 Tests: 1 Failed: 1)
Failed test: 1
Files=1, Tests=1, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.04 cusr 0.01 csys = 0.08 CPU)
Result: FAIL
и сам тест
#!/usr/bin/perl
use 5.006;
use strict;
use warnings;
use Test::Builder::Tester;
use Test::More;
use Test::HasValidVersion qw( version_all_ok );
test_out( 'ok 1 - corpus/fail/FooBar.pm version 1.0.1 is valid',
'not ok 2 - corpus/fail/FooBarBaz.pm version is valid'
);
version_all_ok( 'corpus/fail' );
test_test;
done_testing;
(примечание: вот ссылка на репозиторий github тестовый код там немного другой, но примерно одинаковый. Модуль не отличается. Если вы клонируете репозиторий, убедитесь, что Вы проверяете коммит daaab6a7c452958399f74150406915657f2cfa33 при обновлении главной ветки)
Я не уверен, почему это терпит неудачу, похоже, что вводится целая строка, которую документы не упоминают.
Может кто-нибудь помочь мне исправить код, чтобы он прошел?