More tests added
[dbsrgits/DBM-Deep.git] / t / lib / TestBase.pm
CommitLineData
d0c365a5 1package TestBase;
2
3use 5.6.0;
4
5use strict;
6use warnings;
7
8use File::Path ();
9use File::Temp ();
10use Fcntl qw( :flock );
11
12use base 'Test::Class';
13
14use DBM::Deep;
15
16sub setup_dir : Test(startup) {
17 my $self = shift;
18
aa7ad9c2 19 $self->{workdir} ||= File::Temp::tempdir();
d0c365a5 20
21 return;
22}
23
24sub new_file {
25 my $self = shift;
26
aa7ad9c2 27 $self->setup_dir;
28
d0c365a5 29 my ($fh, $filename) = File::Temp::tempfile(
30 'tmpXXXX', DIR => $self->{workdir}, CLEANUP => 1,
31 );
32 flock( $fh, LOCK_UN );
33
34 return $filename;
35}
36
37sub remove_dir : Test(shutdown) {
38 my $self = shift;
39
40 File::Path::rmtree( $self->{workdir} );
41
42 return;
43}
44
451;
46__END__