use strict; use warnings; no warnings 'once'; use FindBin qw/$Bin/; use lib "$Bin/lib"; use Test::More; use File::Spec; use File::Temp qw/ tempdir /; my $temp; BEGIN { $temp = tempdir( CLEANUP => 1 ); $ENV{CATALYST_HOME} = $temp; open(my $psgi, '>', File::Spec->catfile($temp, 'testapp.psgi')) or die; print $psgi q{ use strict; use TestApp; $main::have_loaded_psgi = 1; TestApp->setup_engine('PSGI'); my $app = sub { TestApp->run(@_) }; }; close($psgi); } use Catalyst::Test qw/ TestApp /; ok !$main::have_loaded_psgi, 'legacy psgi file got ignored'; like do { my $warning; local $SIG{__WARN__} = sub { $warning = $_[0] }; ok request('/'); $warning; }, qr/ignored/, 'legacy psgi files raise a warning'; done_testing;