File Coverage

blib/lib/Proc/JobQueue/Sort.pm
Criterion Covered Total %
statement 28 32 87.5
branch 2 4 50.0
condition n/a
subroutine 8 9 88.8
pod 1 5 20.0
total 39 50 78.0


line stmt bran cond sub pod time code
1              
2             package Proc::JobQueue::Sort;
3              
4             # $Id: Sort.pm 13848 2009-07-23 21:34:00Z david $
5              
6 4     4   9936 use strict;
  4         8  
  4         128  
7 4     4   21 use warnings;
  4         6  
  4         240  
8             require Proc::JobQueue::Job;
9             our @ISA = qw(Proc::JobQueue::Job);
10 4     4   3730 use Tie::Function::Examples qw(%q_shell);
  4         14172  
  4         646  
11              
12             use overload
13 4     4   33 '""' => \&describe;
  4         9  
  4         48  
14              
15             sub new
16             {
17 40     40 0 124698 my ($pkg, $opts, $config, $dest, @inputs) = @_;
18 40         300 return $pkg->SUPER::new(
19             config => $config,
20             opts => $opts,
21             dest => $dest,
22             inputs => \@inputs,
23             desc => "Sort to $dest",
24             );
25             }
26              
27             sub describe
28             {
29 483     483 0 2701 my ($job) = @_;
30 483 50       768 if (@{$job->{inputs}} > 5) {
  483         1855  
31 0         0 return "Sort $job->{inputs}[0], $job->{inputs}[1] ... > $job->{dest}";
32             } else {
33 483         716 return "Sort @{$job->{inputs}} > $job->{dest}";
  483         4080  
34             }
35             }
36              
37             sub command
38             {
39 40     40 0 75 my ($job) = @_;
40 40         218 my $mem = '';
41 40         110 my $config = $job->{config};
42 40 50       292 if ($config->{unix_sort_memory_buffer}) {
43 0         0 $mem = "--buffer-size=$config->{unix_sort_memory_buffer}";
44             }
45 40         4747 return "sort $mem -o $q_shell{$job->{dest}} @q_shell{@{$job->{inputs}}}";
  40         3094  
46             }
47              
48             sub success
49             {
50 40     40 0 74 my ($job) = @_;
51 40         71 unlink(@{$job->{inputs}});
  40         2244676  
52             }
53              
54             sub failed
55             {
56 0     0 1   my ($job) = @_;
57 0           unlink($job->{dest});
58             }
59              
60             1;
61              
62             __END__