1use strict; 2use warnings; 3 4use Test::More; 5use Test::Exception; 6use lib 't/lib'; 7 8use File::Temp (); 9use DBICTest; 10use DBICTest::Schema; 11 12plan tests => 2; 13my $wait_for = 30; # how many seconds to wait 14 15for my $close (0,1) { 16 17 my $tmp = File::Temp->new( 18 UNLINK => 1, 19 TMPDIR => 1, 20 SUFFIX => '.sqlite', 21 EXLOCK => 0, # important for BSD and derivatives 22 ); 23 24 my $tmp_fn = $tmp->filename; 25 close $tmp if $close; 26 27 local $SIG{ALRM} = sub { die sprintf ( 28 "Timeout of %d seconds reached (tempfile still open: %s)", 29 $wait_for, $close ? 'No' : 'Yes' 30 )}; 31 32 alarm $wait_for; 33 34 lives_ok (sub { 35 my $schema = DBICTest::Schema->connect ("DBI:SQLite:$tmp_fn"); 36 DBICTest->deploy_schema ($schema); 37 #DBICTest->populate_schema ($schema); 38 }); 39 40 alarm 0; 41} 42