File Coverage

lib/Rex/Interface/File.pm
Criterion Covered Total %
statement 240 240 100.0
branch 3 4 75.0
condition n/a
subroutine 80 80 100.0
pod 0 1 0.0
total 323 325 99.3


line stmt bran cond sub pod time code
1             #
2             # (c) Jan Gehring
3             #
4              
5             package Rex::Interface::File;
6              
7 97     97   1330 use v5.12.5;
  97         364  
8 97     97   740 use warnings;
  97         295  
  97         4012  
9              
10             our $VERSION = '1.14.3'; # VERSION
11              
12 97     97   5415 use Rex;
  97         332  
  97         578  
13              
14             sub create {
15 195     193 0 2389 my ( $class, $type ) = @_;
16              
17 193 100       998 unless ($type) {
18              
19             #$type = Rex::Commands::task()->get_connection_type;
20 184         719 $type = Rex::get_current_connection()->{conn}->get_connection_type;
21              
22             #Rex::Commands::task()->get_connection_type;
23             #if(Rex::is_ssh() && ! Rex::is_sudo()) {
24             # $type = "SSH";
25             #}
26             #elsif(Rex::is_sudo()) {
27             # $type = "Sudo";
28             #}
29             #else {
30             # $type = "Local";
31             #}
32             }
33              
34 193         1540 my $class_name = "Rex::Interface::File::$type";
35 193     18   30520 eval "use $class_name;";
  18     16   451  
  18     13   218  
  17     11   203  
  15     9   276  
  15     9   183  
  13     8   346  
  11     8   264  
  11     8   144  
  11     1   417  
  11     1   241  
  11     1   135  
  11     1   333  
  9     1   209  
  9     1   89  
  9     1   235  
  9     1   189  
  9     1   119  
  9     1   285  
  8     1   183  
  8     1   127  
  8     1   278  
  8     1   208  
  8     1   108  
  8     1   254  
  8     1   198  
  8     1   162  
  8     1   334  
  1     1   15  
  1     1   38  
  1     1   24  
  1     1   5  
  1     1   23  
  1     1   31  
  1     1   16  
  1     1   56  
  1     1   31  
  1     1   19  
  1     1   33  
  1     1   24  
  1     1   12  
  1     1   46  
  1     1   31  
  1     1   11  
  1     1   35  
  1     1   17  
  1     1   9  
  1     1   20  
  1     1   33  
  1     1   13  
  1     1   44  
  1     1   19  
  1     1   9  
  1     1   18  
  1     1   32  
  1     1   12  
  1     1   58  
  1     1   26  
  1     1   11  
  1     1   22  
  1     1   31  
  1     1   12  
  1     1   34  
  1     1   33  
  1     1   12  
  1     1   34  
  1     1   27  
  1     1   12  
  1     1   47  
  1     1   32  
  1     1   13  
  1     1   55  
  1     1   30  
  1     1   19  
  1     1   34  
  1     1   34  
  1         10  
  1         40  
  1         37  
  1         13  
  1         45  
  1         30  
  1         11  
  1         37  
  1         31  
  1         13  
  1         38  
  1         37  
  1         13  
  1         40  
  1         31  
  1         13  
  1         30  
  1         32  
  1         9  
  1         45  
  1         32  
  1         13  
  1         37  
  1         32  
  1         14  
  1         36  
  1         29  
  1         13  
  1         51  
  1         32  
  1         16  
  1         37  
  1         35  
  1         14  
  1         41  
  1         41  
  1         12  
  1         57  
  1         38  
  1         12  
  1         64  
  1         24  
  1         3  
  1         18  
  1         33  
  1         15  
  1         40  
  1         19  
  1         13  
  1         19  
  1         36  
  1         11  
  1         46  
  1         21  
  1         8  
  1         31  
  1         32  
  1         9  
  1         37  
  1         19  
  1         13  
  1         35  
  1         18  
  1         13  
  1         13  
  1         34  
  1         11  
  1         38  
  1         29  
  1         862  
  1         40  
  1         17  
  1         9  
  1         14  
  1         31  
  1         10  
  1         38  
  1         29  
  1         8  
  1         36  
  1         21  
  1         11  
  1         25  
  1         31  
  1         12  
  1         36  
  1         28  
  1         13  
  1         44  
  1         18  
  1         12  
  1         21  
  1         31  
  1         9  
  1         39  
  1         38  
  1         10  
  1         51  
  1         20  
  1         10  
  1         22  
  1         33  
  1         12  
  1         41  
  1         32  
  1         12  
  1         39  
  1         21  
  1         12  
  1         21  
  1         30  
  1         12  
  1         41  
  1         35  
  1         13  
  1         46  
  1         21  
  1         7  
  1         21  
  1         32  
  1         12  
  1         36  
  1         29  
  1         15  
  1         35  
  1         21  
  1         11  
  1         21  
  1         31  
  1         14  
  1         49  
  1         25  
  1         13  
  1         33  
  1         30  
  1         15  
  1         41  
  1         24  
  1         11  
  1         36  
  1         31  
  1         12  
  1         40  
  1         27  
  1         16  
  1         40  
  1         34  
  1         13  
  1         38  
36 193 50       4993 if ($@) { die("Error loading file interface $type.\n$@"); }
  4         114  
37              
38 193         2330 return $class_name->new;
39             }
40              
41             1;