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