I think I solved this now by adding the missing dependency on Plack::Middleware::Session. It's used only in the app.psgi file - so Dist::Zilla did not find it automatically. The reports now are all green confirming that this was the problem: http://cpantesters.org/distro/P/Plack-Middleware-Auth-Form.html
What about the error message? I think I have an explanation for this. When I do 'do $psgi_file' the perl interpreter tries load the Plack::Middleware::Session from the many directories in @INC and fails each time - this sets $! to 'No such file or directory' - and it is not cleared later. $@ is still set by the failing 'do' as described in the documentation - but since I was checking $! first I was getting tripped. Thank you all for helping me with this problem and David Golden in particular for putting me on the right track. Cheers, Zbigniew On Sat, Mar 5, 2011 at 9:15 AM, Zbigniew Lukasiak <zzb...@gmail.com> wrote: > > > On Fri, Mar 4, 2011 at 4:57 PM, David Cantrell <da...@cantrell.org.uk>wrote: > >> On Fri, Mar 04, 2011 at 09:16:14AM -0500, Shawn H Corey wrote: >> > On 11-03-04 01:54 AM, Zbigniew Lukasiak wrote: >> > >my $psgi_file = File::Spec->catfile( 't', 'app.psgi' ); >> > I thought the tests were done in the t directory. If so, then the file >> > its looking for would be: t/t/app.psgi >> >> Nope. The cwd is normally that into which the distribution was >> unpacked. I do that sort of thing all the time. >> > > I think I can confirm that now. I changed the code to: > > if( -d 't' ){ > chdir 't'; > } > else{ > warn 'I am in: ' . getcwd(); > } > > my $psgi_file = 'app.psgi'; > my $app = do $psgi_file || die $! ? "Cannot find '$psgi_file': $!" : > "Cannot compile '$psgi_file': $@"; > > but I don't see 'I am in: ' in the test results: > http://www.cpantesters.org/distro/P/Plack-Middleware-Auth-Form.html > > Still half of the tests fail. > > Any idea what this can be? > > -- > Zbigniew > -- Zbigniew Lukasiak http://brudnopis.blogspot.com/ http://perlalchemy.blogspot.com/