File Coverage

blib/lib/Apache/Sling.pm
Criterion Covered Total %
statement 31 36 86.1
branch 6 6 100.0
condition 2 2 100.0
subroutine 8 8 100.0
pod 2 2 100.0
total 49 54 90.7


line stmt bran cond sub pod time code
1             #!/usr/bin/perl -w
2             package Apache::Sling;
3              
4 11     11   459166 use 5.008001;
  11         45  
  11         432  
5 11     11   60 use strict;
  11         23  
  11         325  
6 11     11   62 use warnings;
  11         23  
  11         300  
7 11     11   60 use Carp;
  11         17  
  11         1899  
8 11     11   7430 use Apache::Sling::Authn;
  11         39  
  11         773  
9              
10             require Exporter;
11              
12 11     11   61 use base qw(Exporter);
  11         16  
  11         7492  
13              
14             our @EXPORT_OK = ();
15              
16             our $VERSION = '0.27';
17              
18             #{{{sub new
19              
20             sub new {
21 11     11 1 107 my ( $class, $max_allowed_forks ) = @_;
22              
23             # control the maximum number of forks that can be
24             # created when testing concurrency:
25 11 100       44 $max_allowed_forks =
26             ( defined $max_allowed_forks ? $max_allowed_forks : 32 );
27 11         26 my $auth;
28             my $authn;
29 0         0 my $help;
30 0         0 my $log;
31 0         0 my $man;
32 11         25 my $number_forks = 1;
33 11         17 my $password;
34             my $url;
35 0         0 my $user;
36 0         0 my $verbose;
37              
38 11         129 my $sling = {
39             MaxForks => $max_allowed_forks,
40             Auth => $auth,
41             Authn => $authn,
42             Help => $help,
43             Log => $log,
44             Man => $man,
45             Pass => $password,
46             Threads => $number_forks,
47             URL => $url,
48             User => $user,
49             Verbose => $verbose
50             };
51 11         31 bless $sling, $class;
52 11         43 return $sling;
53             }
54              
55             #}}}
56              
57             #{{{sub check_forks
58              
59             sub check_forks {
60 12     12 1 1428 my ($sling) = @_;
61 12   100     66 $sling->{'Threads'} = ( $sling->{'Threads'} || 1 );
62 12 100       95 $sling->{'Threads'} =
63             ( $sling->{'Threads'} =~ /^[0-9]+$/xms ? $sling->{'Threads'} : 1 );
64 12 100       67 $sling->{'Threads'} =
65             ( $sling->{'Threads'} < $sling->{'MaxForks'} ? $sling->{'Threads'} : 1 );
66 12         46 return 1;
67             }
68              
69             #}}}
70              
71             1;
72             __END__