Hi Peter
On Tue, 2008-05-20 at 09:18 -0400, Peter Karman via RT wrote:
Show quoted text> <URL:
http://rt.cpan.org/Ticket/Display.html?id=36026 >
>
> On Tue May 20 03:44:41 2008, RSAVAGE wrote:
> > Makefile.PL needs Test::Harness in order to pick up App::Prove.
> >
> > I don't know if Test::More can then be chopped from Makefile.PL.
>
> It's not clear to me what the problem is. You are saying that
> Test::Harness needs to be explicitly listed in the Makefile.PL?
> Test::Harness is already an explicit prereq of Test::More, and
> Test::More is (as you indicate) an explicit prereq of RDG.
>
> Sounds like maybe your perl install is missing some stuff? I'm not
> seeing this error in any of the CPAN tester reports.
Debian upgraded Perl from 5.8.8 to 5.10.0 yesterday, so yes, this Perl
is 'missing some stuff'.
Here's the context, with the error message near the end, ignoring the
test failure for the moment:
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Rose::DBx::Garden
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ cat Makefile.PL
use strict;
use warnings;
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Rose::DBx::Garden',
AUTHOR => 'Peter Karman <karman@cpan.org>',
VERSION_FROM => 'lib/Rose/DBx/Garden.pm',
ABSTRACT_FROM => 'lib/Rose/DBx/Garden.pm',
PL_FILES => {},
PREREQ_PM => {
'Test::More' => 0,
'Rose::DBx::TestDB' => 0, # testing only
'Data::Dump' => 0, # testing only
'Path::Class' => 0,
'File::Slurp' => 0,
'Rose::DB::Object' => 0,
'Rose::HTML::Objects' => 0,
'File::Basename' => 0,
'Rose::HTMLx::Form::Field::Boolean' => 0.01,
'Rose::HTMLx::Form::Field::Autocomplete' => 0
},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'Rose-DBx-Garden-*' },
);
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ make
cp lib/Rose/DBx/Garden.pm blib/lib/Rose/DBx/Garden.pm
Manifying blib/man3/Rose::DBx::Garden.3pm
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load...........ok 1/1# Testing Rose::DBx::Garden 0.11, Perl
5.010000, /usr/bin/perl
t/00-load...........ok
t/01-make_garden....Name "DBD::SQLite::sqlite_version" used only once:
possible typo at /usr/lib/perl/5.10/DynaLoader.pm line 219.
t/01-make_garden....ok 11/16#
Rose::HTML::Form::Field::Hidden=HASH(0x91fd900)
# Failed test 'require MyRDBO::XuozpANcGK::Foo::Manager'
# at t/01-make_garden.t line 100.
t/01-make_garden....NOK 16/16# Can't locate object method "meta" via
package "MyRDBO::XuozpANcGK::Foo"
at /usr/local/share/perl/5.10.0/Rose/DB/Object/Manager.pm line 195.
# Compilation failed in require at (eval 822) line 2.
# BEGIN failed--compilation aborted at (eval 822) line 2.
# Looks like you failed 1 test of 16.
t/01-make_garden....dubious
Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 16
Failed 1/16 tests, 93.75% okay
t/02-mysql..........ok
25/25 skipped: various reasons
t/boilerplate.......ok
t/pod-coverage......ok
t/pod...............ok
Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/01-make_garden.t 1 256 16 1 16
25 subtests skipped.
Failed 1/6 test scripts. 1/47 subtests failed.
Files=6, Tests=47, 24 wallclock secs (23.60 cusr + 0.23 csys = 23.83
CPU)
Failed 1/6 test programs. 1/47 subtests failed.
make: *** [test_dynamic] Error 255
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ dir
total 56
drwxr-xr-x 8 ron ron 4096 2008-05-20 17:35 blib/
-rw-r--r-- 1 ron ron 2059 2008-02-02 02:35 Changes
drwx------ 3 ron ron 4096 2008-02-02 02:35 lib/
-rw-r--r-- 1 ron ron 23869 2008-05-20 17:34 Makefile
-rw-r--r-- 1 ron ron 863 2007-11-11 17:01 Makefile.PL
-rw-r--r-- 1 ron ron 266 2008-02-02 02:35 MANIFEST
-rw------- 1 ron ron 816 2008-02-02 02:35 META.yml
-rw-r--r-- 1 ron ron 0 2008-05-20 17:35 pm_to_blib
-rw-r--r-- 1 ron ron 856 2007-10-26 00:53 README
drwx------ 2 ron ron 4096 2008-02-02 02:35 t/
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ dir t
total 24
-rw-r--r-- 1 ron ron 161 2007-10-23 05:55 00-load.t
-rw-r--r-- 1 ron ron 3271 2007-12-14 02:21 01-make_garden.t
-rw-r--r-- 1 ron ron 1932 2008-01-09 07:22 02-mysql.t
-rw-r--r-- 1 ron ron 1238 2007-10-23 05:55 boilerplate.t
-rw-r--r-- 1 ron ron 172 2007-10-23 05:55 pod-coverage.t
-rw-r--r-- 1 ron ron 140 2007-10-23 05:55 pod.t
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ prove -v t/00-load.t
Can't locate App/Prove.pm in @INC (@INC
contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/local/bin/prove line 7.
BEGIN failed--compilation aborted at /usr/local/bin/prove line 7.
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ cpan App::Prove
The last line triggers installation of Test::Harness.
On the test failure (what I assume is a different issue):
After that installation, I changed the prove line (adding -l), but it
always issues the same error. I added some debugging code, a call to
File::Find's find() and printed the file list. Output:
ron@zoe:~/perl.modules/Rose-DBx-Garden-0.11$ prove -l -v
t/01-make_garden.t
t/01-make_garden......
1..16
ok 1 - table foo created
ok 2 - garden obj created
MyRDBO written to MyRDBO.pm
mkdir rose_garden_81Xc/MyRDBO
MyRDBO::MZlqf7xsgF written to MyRDBO/MZlqf7xsgF.pm
mkdir rose_garden_81Xc/MyRDBO/MZlqf7xsgF
MyRDBO::MZlqf7xsgF::Foo written to MyRDBO/MZlqf7xsgF/Foo.pm
mkdir rose_garden_81Xc/MyRDBO/MZlqf7xsgF/Foo
MyRDBO::MZlqf7xsgF::Foo::Manager written to
MyRDBO/MZlqf7xsgF/Foo/Manager.pm
MyRDBO::Form written to MyRDBO/Form.pm
MyRDBO::MZlqf7xsgF::Foo::Form written to MyRDBO/MZlqf7xsgF/Foo/Form.pm
ok 3 - make_garden
--------------------------------------------------
rose_garden_81Xc
rose_garden_81Xc/MyRDBO.pm
rose_garden_81Xc/MyRDBO
rose_garden_81Xc/MyRDBO/Form.pm
rose_garden_81Xc/MyRDBO/MZlqf7xsgF.pm
rose_garden_81Xc/MyRDBO/MZlqf7xsgF
rose_garden_81Xc/MyRDBO/MZlqf7xsgF/Foo.pm
rose_garden_81Xc/MyRDBO/MZlqf7xsgF/Foo
rose_garden_81Xc/MyRDBO/MZlqf7xsgF/Foo/Form.pm
rose_garden_81Xc/MyRDBO/MZlqf7xsgF/Foo/Manager.pm
--------------------------------------------------
ok 4 - base class exists
ok 5 - table class exists
ok 6 - form class exists
ok 7 - manager class exists
ok 8 - require MyRDBO
ok 9 - require MyRDBO::Form
ok 10 - require MyRDBO::MZlqf7xsgF::Foo
ok 11 - require MyRDBO::MZlqf7xsgF::Foo::Form
ok 12 - new MyRDBO::MZlqf7xsgF::Foo::Form
ok 13 - label callback works
ok 14 - my_int -> Integer field
# Rose::HTML::Form::Field::Hidden=HASH(0x918d0f8)
ok 15 - id field is hidden
not ok 16 - require MyRDBO::MZlqf7xsgF::Foo::Manager
# Failed test 'require MyRDBO::MZlqf7xsgF::Foo::Manager'
# at t/01-make_garden.t line 115.
# Can't locate object method "meta" via package
"MyRDBO::MZlqf7xsgF::Foo"
at /usr/local/share/perl/5.10.0/Rose/DB/Object/Manager.pm line 195.
# Compilation failed in require at (eval 822) line 2.
# BEGIN failed--compilation aborted at (eval 822) line 2.
# Looks like you failed 1 test of 16.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/16 subtests
Test Summary Report
-------------------
t/01-make_garden.t (Wstat: 256 Tests: 16 Failed: 1)
Failed test: 16
Non-zero exit status: 1
Files=1, Tests=16, 9 wallclock secs ( 0.12 usr 0.01 sys + 7.85 cusr
0.06 csys = 8.04 CPU)
Result: FAIL
HTH.
--
Ron Savage
ron@savage.net.au
http://savage.net.au/index.html