no warnings('once');
use Syntax::Keyword::Try;
use Benchmark;
-use lib "tests";
use lib "system/modules";
require CNFParser;
>>
-<<MyTemplate<
+<<<MyTemplate
Dear $$$SALUTATION$$$ $$$NAME$$$,
sub _evaluate {
my $value = shift;
if($value =~ s/($meta)//i){
- $value =~ s/^`|`\s*$/""/g; #we strip as a possible monkey copy had now redundant meta in the value.
- $value = '`'.$value.'`';
+ $value =~ s/^[`\s]*|[`\s]*$//g; #we strip as a possible monkey copy had now redundant meta in the value.
+ $value = '`'.$value.'`';
}
## no critic BuiltinFunctions::ProhibitStringyEval
my $ret = eval $value;
# Since CNF properties or collections are global and to be avoid.
$ret = $parser->data()->{$link} if !$ret;
if($ret && ref($ret) eq 'ARRAY'){
- my $pkg = @$ret[0];
+ my $pkg = @$ret[0];
my $sub = @$ret[1];
use Module::Loaded qw(is_loaded);
if(is_loaded($pkg)){
- my $obj = $pkg->new(undef);
+ my $obj = $pkg->new(undef);
$ret = $obj->$sub(@$ret[2]);
}
-
+
}
#Let's anything else next.
$ret = $parser->obtainLink($link) if !$ret;
# $del_keys - is a reference to an array of constance attributes to dynamically remove.
sub new { my ($class, $path, $attrs, $del_keys, $self) = @_;
if ($attrs){
- $self = \%$attrs;
+ $self = \%$attrs; $self->{'ANONS_ARE_PUBLIC'} = 1 if not exists $self->{'ANONS_ARE_PUBLIC'}
}else{
$self = {
DO_ENABLED => 0, # Enable/Disable DO instruction. Which could evaluated potentially be an doom execute destruction.
sub instructPlugin {
my ($self, $struct) = @_;
try{
- $properties{$struct->{'ele'}} = doPlugin($self, $struct);
- $self->log("Plugin instructed -> ". $struct->{'ele'});
+ my $plugin = doPlugin($self, $struct);
+ $properties{$struct->{'ele'}} = $plugin;
+ $self->log("Plugin instructed -> ".
+ $plugin->{element}.'<'.$plugin->{package}.'>.'.$plugin->{subroutine}.'('.$plugin->{property}.')');
}catch($e){
if($self->{STRICT}){
CNFParserException->throw(error=>$e);
$sub = 'setup_with' if !$sub;
$obj-> $sub($self);
$plugin->setPlugin($obj);
+ $plugin->{property} = $instructor;
$plugin->{instructor} = $instructor;
+ $plugin->{subroutine} = $sub;
return $plugin;
}
elsif($instructor eq APP_ARGS){
provider=> 'DatabaseCentralPlugin'
};
+ $db ->disconnect();
$parser -> data() ->{$key} = \$table if @data;
}
}
for my $id (0 .. $#list){
my $entry = $list[$id];
my $type = ref($entry);
- if($type eq 'InstructedDataItem'){
+ if($type eq 'InstructedProcessItem'){
$parser->data()->{$entry->{ele}.'.'.$entry->{aid}} = doInstruction($parser, $entry)
+ }else{
+ $parser -> warn(__PACKAGE__." ->process($property): Unknown Type[$id]: $type")
}
}
return $property;
use Cwd qw(getcwd);
my $CWD = getcwd;
-use lib "./local";
+use lib "system/modules";
use lib "./tests";
try{
+#!/usr/bin/env perl
use warnings; use strict;
-use lib "tests";
-use lib "system/modules";
+use lib::relative ('.','../system/modules');
require TestManager;
require CNFParser;
ClassicAppSettings::_set_defaults(
APP_NAME => "Test Example Application",
SAMPLE_SETTING_1 => "This will be overwritten",
- NEW_SETTING => "New setting not expexted in configuration, APP_SETTINGS_SYNC == 1"
+ NEW_SETTING => "New setting not expected in configuration, APP_SETTINGS_SYNC == 1"
);
- my $parser = CNFParser -> new(undef,{DO_ENABLED=>0});
+ my $parser = CNFParser -> new(undef,{DO_ENABLED=>0,'%LOG'=>{enabled=>1, console=>1}});
$parser->parse(undef,qq(
<<APP_NAME<CONST>Sample App>>
<<CONFIG_SETTINGS <APP_SETTINGS>
use Syntax::Keyword::Try;
#no critic "eval"
-use lib "tests";
use lib "system/modules";
# use lib::relative "../system/modules";
use warnings; use strict;
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
-use lib "system/modules";
+use lib::relative ('.','../system/modules');
require CNFParser;
require TestManager;
my $newInstance =CNFParser->new();
$test->evaluate('Check $newInstance->anon("Exclusive") == $cnf->anon("Exclusive")?', $newInstance->anon("Exclusive"), $private->anon("Exclusive"));
${$private->anon()}{Exclusive2} = 'yes';
- $test->passed("Passed new private instance of CNFParser.");
+ $test->passed("Passed new private i, but script only of origin or settable by designnstance of CNFParser.");
#
$test-> nextCase();
sub testAnons {
-# Anons are by default global, but script only of origin or settable by design.
+# Anons are by default public therefore global.
# Not code. Hence their name.
CNFParser->new()->parse(undef,qq(
));
-my $cnf = CNFParser->new("./old/databaseAnonsTest.cnf");
+my $cnf = CNFParser->new("./old/databaseAnonsTest.cnf",{ENABLE_WARNINGS=>0});
my $find = $cnf->anon('GET_SUB_URL',CNFParser->META);
die "Failed finding GET_SUB_URL" if not $find;
-die "Mismatched found in GET_SUB_URL" if $find ne 'https://www.THE_ONE.acme.com/$$$2$$$';
+die "Mismatched found in GET_SUB_URL:$find" if $find ne 'https://www.THE_ONE.acme.com/$$$2$$$';
+die "GET_URL is:".$cnf->anon()->{GET_URL} if $cnf->anon('GET_URL') ne 'https://www.THE_ONE.acme.com/$$$2$$$';
+die "Missing template property" if not $cnf->anon('MyTemplate');
+
+
# Let's try som JSON crap, lol.
$find = $cnf->anon('GET_SUB_URL',CNFParser->META_TO_JSON);
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
#!/usr/bin/env perl
use warnings; use strict;
use feature 'say';
-use lib "tests";
use lib "system/modules";
require TestManager;
use warnings; use strict;
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
use feature 'say';
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
use feature 'say';
-use lib "tests";
use lib "system/modules";
require TestManager;
use Syntax::Keyword::Try;
#no critic "eval"
use lib "system/modules";
-use lib "tests";
require CNFParser;
require TestManager;
use Benchmark;
use File::stat;
-use lib "tests";
use lib "system/modules";
require TestManager;
use Syntax::Keyword::Try;
use Math::Cartesian::Product;
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
+#!/usr/bin/env perl
use warnings; use strict;
-
-use lib "tests";
-use lib "system/modules";
+use lib::relative ('.','../system/modules');
require TestManager;
require CNFParser;
use warnings; use strict;
use Syntax::Keyword::Try;
use Benchmark;
-
-use lib "tests";
use lib "system/modules";
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
-use lib "system/modules";
+use lib::relative ('.','../system/modules');
require TestManager;
require CNFParser;
my $test = TestManager -> new($0);
my $cnf;
-my $plugin = ExtensionSamplePlugin->new({Language=>'English',DateFormat=>'US'});
+#my $plugin = ExtensionSamplePlugin->new({Language=>'English',DateFormat=>'US'});
try{
###
# Test instance creation.
#
- die $test->failed() if not $cnf = CNFParser->new('./tests/extensions.cnf',{DO_ENABLED=>1,HAS_EXTENSIONS=>1});
+ die $test->failed() if not $cnf = CNFParser->new('./tests/testExtensions.cnf',
+ {DO_ENABLED=>1,HAS_EXTENSIONS=>1,'%LOG'=>{enabled=>1, console=>1}}
+ );
$test->case("Passed new instance CNFParser for:".$cnf->{CNF_CONTENT});
#
$test-> nextCase();
#
my %data = %{$cnf->data()};
- $test->evaluate("Data hash has two keys?", scalar keys %data, 2);
-
my @table = sort keys %data;
- $test->evaluate("First table has 28 entries?", scalar( @{$data{$table[0]}} ), 28);
+ $test->isDefined("%data is defined?",\%data);
+ $test->isDefined("@table is defined?",@table);
+ $test->evaluate("Data hash has two keys?", 2, scalar keys %data);
+ $test->evaluate("First table has 28 entries?", scalar @{$data{$table[0]}}, 28);
$test->evaluate("Second table has 28 entries?", scalar( @{$data{$table[1]}} ), 28);
$test->evaluate("First table has 2 as first value?", $data{$table[0]}[0], 2);
$test->evaluate("Second table has 9 as first value?", $data{$table[1]}[0], 9);
- $test->isDefined("SOME_CONSTANCE",$cnf->{'$SOME_CONSTANCE'}); #<---- Deprecated old convention signifier prefixed upercase as VAR ins. converts.
+ $test->isDefined("SOME_CONSTANCE",$cnf->{'$SOME_CONSTANCE'}); #<---- Deprecated old convention signifier prefixed uppercase as VAR ins. converts.
#----> to use $cnf->{SOME_CONSTANCE} in the code for the future.
use warnings; use strict;
-use lib "tests";
use lib "system/modules";
require TestManager;
use warnings; use strict;
-
use lib "system/modules";
-use lib "tests";
-
-
require TestManager;
require CNFParser;
require MarkdownPlugin;
#!/usr/bin/env perl
use warnings; use strict;
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
require TestManager;
use warnings; use strict;
-
-use lib "tests";
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
-use lib "tests";
use lib "system/modules";
#use lib "system/modules";
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
use PerlKeywords qw(%KEYWORDS %FUNCTIONS &matchForCSS &CAP &span_to_html);
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
use Date::Manip;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
require TestManager;
use warnings; use strict;
use Syntax::Keyword::Try;
use Benchmark;
-
-# use lib::relative 'system/modules';
-
-
-use lib "tests";
use lib "system/modules";
-
require TestManager;
require CNFParser;
require CNFSQL;
use warnings; use strict;
use Syntax::Keyword::Try;
use Benchmark;
-use lib "tests";
use lib "system/modules";
require TestManager;
use warnings; use strict;
use Syntax::Keyword::Try;
use Benchmark;
-use lib "tests";
use lib 'system/modules';
require TestManager;
use Syntax::Keyword::Try;
use Benchmark;
-use lib::relative 'system/modules';
-
-
-use lib "tests";
-use lib "system/modules";
-
-
+use lib::relative '../system/modules';
+#use lib "system/modules";
require TestManager;
require CNFParser;
require CNFSQL;
use warnings; use strict;
use Syntax::Keyword::Try;
use Benchmark;
-
-
-use lib "tests";
use lib "system/modules";
-
require TestManager;
require CNFParser;
require CNFSQL;
use warnings; use strict;
use Syntax::Keyword::Try;
use Benchmark;
-
-use lib "tests";
-use lib 'system/modules';
-# use lib "system/modules";
-
+use lib::relative ('.','../system/modules');
require TestManager;
require CNFParser;
use warnings; use strict;
-
use feature 'say';
use lib "system/modules";
-use lib "tests";
require TestManager;
require ShortLink;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
-#use lib "system/modules";
-
require TestManager;
require CNFParser;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
-
require TestManager;
require CNFParser;
require CNFNode;
#!/usr/bin/env perl
use warnings; use strict;
use Syntax::Keyword::Try;
-
-use lib "tests";
use lib "system/modules";
require TestManager;
#no critic "eval"
###
-use lib "tests";
-use lib "local";
+
use lib::relative "../system/modules";
require CNFParser;
require CNFDateTime;
require TestManager;
my $test = TestManager -> new($0)-> unsuited();
-my $cnf;
-
-try{
- ###
- # Test instance creation.
- #
- # die $test->failed() if not $cnf = CNFParser->blank({DEBUG=>1});
- # $test->case("Passed new instance CNFParser.");
- # #
- # $test-> nextCase();
- # #
- $test->case("Initiate Curses UI.");
-
+my $cnf = CNFParser->blank()->parse(undef,q{
+<<@<@DIRECTORIES>
+Documents, Pictures, Public, Music,
+dev, dev_new, backups,
+.cinnamon, .config, .icons, .local, .vim,
+.ssh, .themes, .fzf, .fonts
+>>
+<<@<@DIRECTORIES>
+.themes, .vim,
+.fzf
+.fonts
+>>
+<<@<@DIRECTORIES_NON>
+ .vim
+>>
+<<@<@EXCLUDES>
+.local/share/Steam, .local/share/flatpak, .local/share/Trash, .local/lib
+*Cache*,
+.config/session,.config/Signal,.config/libreoffice,
+*google-chrome*,
+*cgisess_*,
+*cache*,
+*chromium*
+localperl
+.local/share/Trash
+.local/share/pipx
+*pgadmin4*
+*.vscode*
+.config/Code/logs/*
+>>
+});
use lib "/home/will/dev_new/web_imports_cloned/CPAN/Curses-UI-0.9609/lib";
use Curses::UI;
-use Time::HiRes qw(usleep);
+#use Time::HiRes qw(usleep);
use feature 'say';
+use File::Type;
+
+our $FT = File::Type->new();
+my @FILES;
+my %EXCLUDE_RULES;
+my @EXCLUDE_KEYS;
+my ($title,$editor,$action,$progressbar,$buffer,$other);
+
+
+package FileCollected {
+ our ($total_cnt,$total_bytes) = (0,0);
+ sub new{
+ my $class = shift;
+ my $path = shift;
+ my $mime = $FT->mime_type($path);
+ my @stat = stat $path;
+ my $content_length = $stat[7]; $content_length = 0 if ! $content_length;
+ $total_cnt++;
+ $total_bytes += $content_length;
+ bless {
+ path => $path,
+ mime => $mime,
+ content_length => $content_length,
+ last_modified => $stat[9],
+ }, $class
+ }
+
+}
+
+sub isExcluded{
+ my $path = shift;
+ foreach my $exclude(@EXCLUDE_KEYS){
+ if($path =~ m/$exclude/){
+ return 1 if $EXCLUDE_RULES{$exclude} -> ($path,$exclude)
+ }
+ }
+ return 0
+}
+sub recurseDir{
+ my $dir = shift; $! = 0; # Reset error variable
+ my $HNDL_DIR;
+ if ( ! -d $dir){
+ say "Not valid directory or accessible: $dir";
+ return
+ }
+ opendir ($HNDL_DIR, $dir) or die "Fail to open directory: $dir";
+ my @listing = readdir($HNDL_DIR);
+ if ($!) {
+ die "Error reading directory: $!";
+ }
+ close ($HNDL_DIR); undef $HNDL_DIR;
+ foreach my $node(@listing){
+ next if($node eq '..' || $node eq '.');
+ my $current = $dir . "/" . $node;
+ if(!isExcluded($current)){
+ $action->text($current);
+ $action->draw;
+ if(-d $current){
+ recurseDir($current)
+ }else{
+ $FILES[@FILES] = FileCollected -> new($current);
+ $buffer .= $current."\n" ;
+ }
+ }
+ }
+
+ $editor->focus();
+ $editor->text($buffer);
+ $editor->cursor_to_end();
+
+ $buffer ="";
+}
- # Create the root object.
- my $cui = new Curses::UI (
+sub pathStarts{
+ my $path = shift;
+ my $name = shift;
+ return $path =~ m/^$name.*/m
+}
+sub pathEnds{
+ my $path = shift;
+ my $name = shift;
+ return $path =~ m/.+$name$/m
+}
+sub pathContains{
+ my $path = shift;
+ my $name = shift;
+ return $path =~ m/\/$name\//
+}
+
+
+sub _size_bytes{
+ my $size = shift;
+ if ($size < 1024) {
+ return $size . " bytes";
+ }
+ elsif ($size < (1024 * 1024)) {
+ return sprintf("%.2f KB", $size / 1024);
+ }
+ else {
+ return sprintf("%.2f MB", $size / (1024 * 1024));
+ }
+}
+
+try{
+
+ $test->case("Initiate Curses UI.");
+ my @DIRECTORIES = $cnf -> collection('@DIRECTORIES');
+ my @EXCLUDES = $cnf -> collection('@EXCLUDES');
+ my ($cnt_root_dirs,$cnt_files) = (0,0);
+
+ foreach my $exclude(@EXCLUDES){
+ my @glob = ($exclude =~ m/(^\*?)(.*?)(\**$)/ms);
+ my $start = $glob[0];
+ my $name = $glob[1];
+ my $ends = $glob[2];
+ if($start && $ends){
+ $EXCLUDE_RULES{$name} = \&pathContains;
+ }elsif($start && !$ends){
+ $EXCLUDE_RULES{$name} = \&pathStarts;
+ }elsif($ends){
+ $EXCLUDE_RULES{$name} = \&pathEnds;
+ }else{
+ $EXCLUDE_RULES{$name} = \&pathStarts;
+ }
+ }
+ @EXCLUDE_KEYS = sort keys %EXCLUDE_RULES;
+
+
+# Create the root object.
+ our $cui = new Curses::UI (
-debug => $cnf->{DEBUG},
-color_support => 1, -clear_on_exit => 0
);
-
+ my $end=$cui->{-height}-4;
+ my $top=$cui->{-height}-8;
+ my $cur=$top;
+ $cui->status("Examining Files!");
+ $cui->keys_to_lowercase();
+ $cui->set_binding(sub{$cui->mainloopExit;}, "\cC");
+ $cui->set_binding(sub{$cui->mainloopExit} , "\cQ");
my ($x,$y,$pos)=(0,0,0);
my $win = $cui->add('window_id', 'Window');
- my $editor = $win->add(
- 'editor', 'TextEditor',
- -border => 1,
- -padtop => 0,
- -padbottom => 3,
- -showlines => 0,
- -sbborder => 0,
- -vscrollbar => 1,
- -hscrollbar => 1,
- -showhardreturns => 0,
- -wrapping => 0, # wrapping slows down the editor :-(
- -text => "Fetching..",
-);
-
-# my $progressbar = $win->add(
-# 'myprogressbar', 'Progressbar',
-# #-max => 250,
-# -pos => 0,
-# -fg => "blue",
-# -bfg => "yellow",
-# -y=>$cui->{-height}-4
-# );
-# my $action = $win->add(
-# 'myaction', 'Label',
-# -fg => "red",
-# -text => 'Performing test... ',
-# -pos => 0,
-# -y=>$cui->{-height}-1
-# );
-# while($pos<101){
-# $action->draw;
-# $progressbar->draw;
-# $progressbar->pos(++$pos);
-# usleep(rand(25000));
-# my $text = "Progress position $pos ";
-# $action->text($text);
-# }
-# sleep(1);
+ my $max = @DIRECTORIES;
-
-use File::Type;
- my $ft = File::Type->new();
-my $dir = $ENV{HOME};
-opendir DIR,$dir;
-my @dir = readdir(DIR);
-close DIR;
-
-my $max = @dir;
-my ($buffer,$other);
-$pos = 0;
-
- my $action = $win->add(
- 'myaction', 'Label',
- -fg => "red",
- -text => 'Listing files... ',
- -pos => 0,
- -y=>$cui->{-height}-1
+ $title = $win->add(
+ 'myaction2', 'Label',
+ -text => 'Listing files... ',
+ -width => $cui->{-width},
+ -y=>0,
+ -x=>0,
+ -border => 1,
+ );
+
+
+ $editor = $win->add(
+ 'editor', 'TextEditor',
+ -border => 1,
+ -padtop => 3,
+ -padbottom => 4,
+ -showlines => 0,
+ -sbborder => 1,
+ -vscrollbar => 1,
+ -hscrollbar => 1,
+ -showhardreturns => 0,
+ -wrapping => 0, # wrapping slows down the editor :-(
+ -text => "Fetching..",
);
-my $progressbar = $win->add(
- 'myprogressbar2', 'Progressbar',
+ $action = $win->add(
+ 'myaction', 'Label',
+ -fg => "red",
+ -text => 'Listing files... ',
+ -width => $cui->{-width}-1,
+ -y=>$cui->{-height}-1
+ );
+ $progressbar = $win->add(
+ 'myprogressbar', 'Progressbar',
-max => $max,
-pos => 1,
-fg => "red",
-y=>$cui->{-height}-4
);
-my $end=$cui->{-height}-4;
-my $top=$cui->{-height}-8;
-my $cur=$top;
-$cui->keys_to_lowercase();
-foreach(@dir){
- usleep(rand(5000));
- $progressbar->draw;
- $progressbar->pos($pos);
- $action->draw;
-if (-f $dir . "/" . $_ ){
- my $file = "$dir/$_";
- $action->text($file);
- my $mime_type = $ft->mime_type($file);
- if($mime_type eq 'text/script' || $ft->checktype_filename($file) =~ /x-sh$/){
- $buffer .= $file. " type: ". $mime_type . "\n";
- $editor->text($buffer);
- # $win->add(
- # 'myaction'.$pos, 'Label',
- # -fg => "yellow",
- # -text => $file,
- # -x=>0,
- # -y=>$cur++
- # )->draw;
- # if($cur>=$end){
- # $cur=$top;
- # }
- $editor->cursor_to_end();
- }else{
- $other .= $ft->checktype_filename($file)."::$file\n";
- }
-}
-# elsif(-d $dir . "/" . $_){
-# }
-$progressbar->pos(int(++$pos));
+foreach(@DIRECTORIES){
+ my $dir = $ENV{HOME} .'/'.$_;
+ $progressbar->pos($pos++);
+ $progressbar->draw;
+ $title->text("Listing:".$dir);
+ $title->draw;
+ sleep(1);
+ recurseDir($dir);
+ $cnt_root_dirs++;
}
-$cui->set_binding(sub{$cui->status("DONE! ctrl+Q")}, "\cC");
-$cui->set_binding(sub{$cui->mainloopExit} , "\cQ");
-$editor->focus();
-$cui->mainloop;
+$progressbar->pos($max);
+$progressbar->draw;
+$action->text("Done Filtering, ctrl+q to quit!");
-$cui->leave_curses ();
-
-say $buffer;
-say $other;
-$cui->reset_curses ();
+$cui->status("DONE! ctrl+Q");
+$cui->mainloop;
+$cui->leave_curses ();
+$cui->reset_curses ();
+{
+ say "Number of files collected:" . $FileCollected::total_cnt;
+ say "Size of files collected:" . _size_bytes($FileCollected::total_bytes);
+}
#
$test->done();
#
# TESTING ANY POSSIBLE SUBS ARE FOLLOWING FROM HERE #
-#
\ No newline at end of file
+#
+
+
#!/usr/bin/env perl
-use warnings;
-use strict;
-
-use lib "tests";
+use warnings; use strict;
use lib "system/modules";
require TestManager;
#!/usr/bin/env perl
use warnings; use strict;
-use lib "tests";
use lib "system/modules";
require TestManager;
use warnings; use strict;
use Syntax::Keyword::Try;
-use lib "tests";
use lib "system/modules";
require TestManager;
#no critic "eval"
###
-use lib "tests";
use lib "local";
use Config;
$Config{useithreads} or