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