Commit | Line | Data |
d0c365a5 |
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__ |