DBIx-TempDB

 view release on metacpan or  search on metacpan

lib/DBIx/TempDB/Util.pm  view on Meta::CPAN


  $url = URI::db->new($url);
  $url->dbname($database_name);
  $url->query(undef);
  my $dsn = $url->dbi_dsn;

  $opt{AutoCommit}          //= 1;
  $opt{AutoInactiveDestroy} //= 1;
  $opt{PrintError}          //= 0;
  $opt{RaiseError}          //= 1;
  $opt{sqlite_unicode}      //= 1;

  return $dsn, "", "", \%opt;
}

sub _on_process_end_double_fork {
  my $code = shift;
  my $ppid = $$;

  warn "[TempDB:$$] Watching process using double fork.\n" if DEBUG;
  local $SIG{CHLD} = 'DEFAULT';

t/sqlite-offline.t  view on Meta::CPAN

my $path = File::Spec->catfile(File::Spec->tmpdir, 'foo.sqlite');
ok !-e $path, 'sqlite does not exist';

my $tmpdb = DBIx::TempDB->new('sqlite:', drop_from_child => 0, template => 'foo');
is $tmpdb->url->dbname, $path, 'dbname';

is_deeply(
  [$tmpdb->dsn],
  [
    "dbi:SQLite:dbname=$path", "", "",
    {AutoCommit => 1, AutoInactiveDestroy => 1, PrintError => 0, RaiseError => 1, sqlite_unicode => 1}
  ],
  'dsn for foo'
);

ok -e $path, 'sqlite db created';
is -s $path, 0, 'sqlite db is empty';

undef $tmpdb;
ok !-e $path, 'sqlite cleaned up';



( run in 0.496 second using v1.01-cache-2.11-cpan-f29a10751f0 )