File Coverage

blib/lib/Nagios/Passive/Role/Tempfile.pm
Criterion Covered Total %
statement 12 22 54.5
branch 0 4 0.0
condition n/a
subroutine 4 6 66.6
pod n/a
total 16 32 50.0


line stmt bran cond sub pod time code
1             package Nagios::Passive::Role::Tempfile;
2              
3 2     2   1513 use Moo::Role;
  2         3  
  2         18  
4 2     2   791 use MooX::late;
  2         3  
  2         16  
5 2     2   310 use File::Temp;
  2         7  
  2         238  
6 2     2   12 use Fcntl qw/:DEFAULT :flock/;
  2         4  
  2         1603  
7              
8             requires 'checkresults_dir';
9              
10             has 'tempfile' => ( is => 'ro', isa => 'File::Temp', lazy_build => 1);
11              
12             sub _build_tempfile {
13 0     0     my $self = shift;
14 0           my $fh = File::Temp->new(
15             TEMPLATE => "cXXXXXX",
16             DIR => $self->checkresults_dir,
17             );
18 0           $fh->unlink_on_destroy(0);
19 0           return $fh;
20             }
21              
22             sub _touch_file {
23 0     0     my $self = shift;
24 0           my $fh = $self->tempfile;
25 0           my $file = $fh->filename.".ok";
26 0 0         sysopen my $t,$file,O_WRONLY|O_CREAT|O_NONBLOCK|O_NOCTTY
27             or croak("Can't create $file : $!");
28 0 0         close $t or croak("Can't close $file : $!");
29 0           return;
30             }
31              
32             1;
33              
34             __END__