diff --git a/t/gnu_ln.t b/t/gnu_ln.t index 96c39f12b..feeeeb038 100644 --- a/t/gnu_ln.t +++ b/t/gnu_ln.t @@ -1,88 +1,44 @@ #!/usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir catfile}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir catfile }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw{ :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -my $VERBOSE = 1; - -## Constants -Readonly my $SPACE => q{ }; -Readonly my $NEWLINE => qq{\n}; - -###User Options -GetOptions( - q{h|help} => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - q{v|version} => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - q{vb|verbose} => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE }; +use MIP::Test::Commands qw{ test_function }; BEGIN { -### Check all internal dependency modules and imports -##Modules with import - my %perl_module; - - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - PERL_MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } + use MIP::Test::Fixtures qw{ test_import }; -##Modules - my @modules = (q{MIP::Program::Gnu::Coreutils}); +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( q{MIP::Program::Gnu::Coreutils} => [qw{ gnu_ln }], ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Program::Gnu::Coreutils qw{gnu_ln}; -use MIP::Test::Commands qw{test_function}; +use MIP::Program::Gnu::Coreutils qw{ gnu_ln }; -diag( q{Test gnu_ln } - . $MIP::Program::Gnu::Coreutils::VERSION - . q{, Perl } +diag( q{Test gnu_ln from MODULE.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE . $PERL_VERSION . $SPACE . $EXECUTABLE_NAME ); @@ -91,6 +47,10 @@ diag( q{Test gnu_ln } my @function_base_commands = qw{ ln }; my %base_argument = ( + filehandle => { + input => undef, + expected_output => \@function_base_commands, + }, stderrfile_path => { input => q{stderrfile.test}, expected_output => q{2> stderrfile.test}, @@ -103,10 +63,6 @@ my %base_argument = ( input => q{stdoutfile.test}, expected_output => q{> stdoutfile.test}, }, - filehandle => { - input => undef, - expected_output => \@function_base_commands, - }, ); ## Can be duplicated with %base and/or %specific to enable testing of each individual argument @@ -122,14 +78,14 @@ my %required_argument = ( ); my %specific_argument = ( - symbolic => { - input => 1, - expected_output => q{--symbolic}, - }, force => { input => 1, expected_output => q{--force}, }, + symbolic => { + input => 1, + expected_output => q{--symbolic}, + }, ); ## Coderef - enables generalized use of generate call @@ -139,51 +95,15 @@ my $module_function_cref = \&gnu_ln; my @arguments = ( \%required_argument, \%specific_argument ); foreach my $argument_href (@arguments) { - my @commands = test_function( + test_function( { argument_href => $argument_href, - required_argument_href => \%required_argument, - module_function_cref => $module_function_cref, function_base_commands_ref => \@function_base_commands, do_test_base_command => 1, + module_function_cref => $module_function_cref, + required_argument_href => \%required_argument, } ); } done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw(Could not parse arguments!); - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/gnu_wait.t b/t/gnu_wait.t index 255ba76d5..ea11261f9 100644 --- a/t/gnu_wait.t +++ b/t/gnu_wait.t @@ -1,90 +1,56 @@ #!/usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw(FATAL utf8); -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw( :encoding(UTF-8) :std ); -use charnames qw( :full :short ); +use 5.026; use Carp; -use English qw(-no_match_vars); -use Params::Check qw(check allow last_error); - -use FindBin qw($Bin); #Find directory of script -use File::Basename qw(dirname basename); -use File::Spec::Functions qw(catfile catdir devnull); -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; +use utf8; +use warnings qw{ FATAL utf8 }; -## Third party module(s) -use List::Util qw(any); +## CPANM +use autodie qw{ :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw(help); -use MIP::Test::Writefile qw(test_write_to_file); - -our $USAGE = build_usage( {} ); - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - print {*STDOUT} $USAGE, "\n"; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - print {*STDOUT} "\n" . basename($PROGRAM_NAME) . q{ }, "\n\n"; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE }; +use MIP::Test::Commands qw{ test_function }; BEGIN { -### Check all internal dependency modules and imports -##Modules with import - my %perl_module; - - $perl_module{'MIP::Script::Utils'} = [qw(help)]; + use MIP::Test::Fixtures qw{ test_import }; - while ( my ( $module, $module_import ) = each %perl_module ) { - - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } - -##Modules - my @modules = ('MIP::Program::Gnu::Bash'); - - for my $module (@modules) { +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( q{MIP::Program::Gnu::Bash} => [qw{ gnu_wait }], ); - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Program::Gnu::Bash qw(gnu_wait); -use MIP::Test::Commands qw(test_function); +use MIP::Program::Gnu::Bash qw{ gnu_wait }; -diag("Test gnu_wait $MIP::Program::Gnu::Bash::VERSION, Perl $^V, $EXECUTABLE_NAME"); +diag( q{Test gnu_wait from Bash.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments -my @function_base_commands = 'wait'; +my @function_base_commands = qw{ wait }; my %base_argument = ( + filehandle => { + input => undef, + expected_output => q{wait}, + }, stderrfile_path => { input => q{stderrfile.test}, expected_output => q{2> stderrfile.test}, @@ -93,10 +59,6 @@ my %base_argument = ( input => q{stderrfile.test}, expected_output => q{2>> stderrfile.test}, }, - filehandle => { - input => undef, - expected_output => q{wait}, - }, ); ## Specific arguments @@ -115,49 +77,13 @@ my @arguments = ( \%base_argument, \%specific_argument ); foreach my $argument_href (@arguments) { - my @commands = test_function( + test_function( { argument_href => $argument_href, - module_function_cref => $module_function_cref, function_base_commands_ref => \@function_base_commands, + module_function_cref => $module_function_cref, } ); } done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw(Could not parse arguments!); - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_add_job_id_dependency_tree.t b/t/processes_add_job_id_dependency_tree.t index 4b3f6d51a..ab8b8dbe8 100644 --- a/t/processes_add_job_id_dependency_tree.t +++ b/t/processes_add_job_id_dependency_tree.t @@ -1,91 +1,49 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -#### Copyright 2017 Henrik Stranneheim - -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports + use MIP::Test::Fixtures qw{ test_import }; - ## Modules with import - my %perl_module; - - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - PERL_MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => [qw{ add_job_id_dependency_tree }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes qw{add_job_id_dependency_tree}; +use MIP::Processmanagement::Processes qw{ add_job_id_dependency_tree }; -diag( -"Test add_job_id_dependency_tree $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test add_job_id_dependency_tree from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $sample_id = q{sample1}; @@ -108,8 +66,8 @@ my $job_id_returned = q{job_id_7}; add_job_id_dependency_tree( { - job_id_href => \%job_id, chain_key => $case_id_chain_key, + job_id_href => \%job_id, job_id_returned => $job_id_returned, } ); @@ -118,39 +76,3 @@ my $result = join $SPACE, @{ $job_id{$case_id_chain_key}{$case_id_chain_key} }; is( $result, q{job_id_6 job_id_7}, q{Pushed to job_id to arbitrary chain key} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_add_pan_job_id_to_sample_id_dependency_tree.t b/t/processes_add_pan_job_id_to_sample_id_dependency_tree.t index aeaaf5997..7c67a85ff 100644 --- a/t/processes_add_pan_job_id_to_sample_id_dependency_tree.t +++ b/t/processes_add_pan_job_id_to_sample_id_dependency_tree.t @@ -1,89 +1,49 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; + use MIP::Test::Fixtures qw{ test_import }; - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => [qw{ add_pan_job_id_to_sample_id_dependency_tree }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes qw{add_pan_job_id_to_sample_id_dependency_tree}; +use MIP::Processmanagement::Processes qw{ add_pan_job_id_to_sample_id_dependency_tree }; -diag( -"Test add_pan_job_id_to_sample_id_dependency_tree $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test add_pan_job_id_to_sample_id_dependency_tree from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $sample_id = q{sample2}; @@ -106,14 +66,13 @@ my $pan_chain_key = $case_id_chain_key . $UNDERSCORE . $sample_id_chain_key; add_pan_job_id_to_sample_id_dependency_tree( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, + job_id_href => \%job_id, sample_id_chain_key => $sample_id_chain_key, } ); -my $no_pan_push_result = join $SPACE, - @{ $job_id{$case_id_chain_key}{$sample_id_chain_key} }; +my $no_pan_push_result = join $SPACE, @{ $job_id{$case_id_chain_key}{$sample_id_chain_key} }; is( $no_pan_push_result, q{job_id_3}, q{No pan job_id} ); ## Add previous pan job @@ -121,8 +80,8 @@ $job_id{$case_id_chain_key}{$pan_chain_key} = [qw{job_id_0 job_id_1}]; add_pan_job_id_to_sample_id_dependency_tree( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, + job_id_href => \%job_id, sample_id_chain_key => $sample_id_chain_key, } ); @@ -131,39 +90,3 @@ my $pan_push_result = join $SPACE, @{ $job_id{$case_id_chain_key}{$sample_id_cha is( $pan_push_result, q{job_id_3 job_id_0 job_id_1}, q{Pushed pan job_id} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_add_parallel_chains_job_ids_to_job_id_dependency_string.t b/t/processes_add_parallel_chains_job_ids_to_job_id_dependency_string.t index 09cb58f99..106ec65a6 100644 --- a/t/processes_add_parallel_chains_job_ids_to_job_id_dependency_string.t +++ b/t/processes_add_parallel_chains_job_ids_to_job_id_dependency_string.t @@ -1,90 +1,50 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; + use MIP::Test::Fixtures qw{ test_import }; - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => + [qw{ add_parallel_chains_job_ids_to_job_id_dependency_string }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes - qw{add_parallel_chains_job_ids_to_job_id_dependency_string}; +use MIP::Processmanagement::Processes qw{ add_parallel_chains_job_ids_to_job_id_dependency_string }; -diag( -"Test add_parallel_chains_job_ids_to_job_id_dependency_string $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test add_parallel_chains_job_ids_to_job_id_dependency_string from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $case_id = q{case1}; @@ -125,10 +85,10 @@ my %job_id = ( my $job_id_string = add_parallel_chains_job_ids_to_job_id_dependency_string( { + case_id => $case_id, job_id_href => \%job_id, - sample_ids_ref => \@sample_ids, parallel_chains_ref => \@parallel_chains, - case_id => $case_id, + sample_ids_ref => \@sample_ids, } ); @@ -139,39 +99,3 @@ is( ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_add_parallel_job_id_to_case_id_dependency_tree.t b/t/processes_add_parallel_job_id_to_case_id_dependency_tree.t index 1366a5d2a..505816c08 100644 --- a/t/processes_add_parallel_job_id_to_case_id_dependency_tree.t +++ b/t/processes_add_parallel_job_id_to_case_id_dependency_tree.t @@ -1,89 +1,50 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; + use MIP::Test::Fixtures qw{ test_import }; - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => + [qw{ add_parallel_job_id_to_case_id_dependency_tree }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes qw{add_parallel_job_id_to_case_id_dependency_tree}; +use MIP::Processmanagement::Processes qw{ add_parallel_job_id_to_case_id_dependency_tree }; -diag( -"Test add_parallel_job_id_to_case_id_dependency_tree $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test add_parallel_job_id_to_case_id_dependency_tree from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $case_id = q{case1}; @@ -111,9 +72,9 @@ my $pan_chain_key = $case_id_chain_key . $UNDERSCORE . $sample_id_chain_key; add_parallel_job_id_to_case_id_dependency_tree( { - job_id_href => \%job_id, - case_id_chain_key => $case_id_chain_key . q{no_parallel}, case_id => $case_id . q{no_parallel}, + case_id_chain_key => $case_id_chain_key . q{no_parallel}, + job_id_href => \%job_id, path => $path, sbatch_script_tracker => $sbatch_script_tracker, } @@ -124,55 +85,15 @@ is( $no_push_result, q{job_id_6}, q{No parallel job_ids} ); add_parallel_job_id_to_case_id_dependency_tree( { - job_id_href => \%job_id, - case_id_chain_key => $case_id_chain_key, case_id => $case_id, + case_id_chain_key => $case_id_chain_key, + job_id_href => \%job_id, path => $path, sbatch_script_tracker => $sbatch_script_tracker, } ); my $pan_push_result = join $SPACE, @{ $job_id{$case_id_chain_key}{$case_id_chain_key} }; -is( - $pan_push_result, - q{job_id_6 job_id_10 job_id_11}, - q{Pushed parallel job_id to sample_id} -); +is( $pan_push_result, q{job_id_6 job_id_10 job_id_11}, q{Pushed parallel job_id to sample_id} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_add_sample_job_id_to_case_id_dependency_tree.t b/t/processes_add_sample_job_id_to_case_id_dependency_tree.t index fa1a38fb9..62074c01f 100644 --- a/t/processes_add_sample_job_id_to_case_id_dependency_tree.t +++ b/t/processes_add_sample_job_id_to_case_id_dependency_tree.t @@ -1,89 +1,50 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; + use MIP::Test::Fixtures qw{ test_import }; - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => + [qw{ add_sample_job_id_to_case_id_dependency_tree }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes qw{add_sample_job_id_to_case_id_dependency_tree}; +use MIP::Processmanagement::Processes qw{ add_sample_job_id_to_case_id_dependency_tree }; -diag( -"Test add_sample_job_id_to_case_id_dependency_tree $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test add_sample_job_id_to_case_id_dependency_tree from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $sample_id = q{sample3}; @@ -104,8 +65,8 @@ my %job_id = ( add_sample_job_id_to_case_id_dependency_tree( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, + job_id_href => \%job_id, sample_id_chain_key => q{no_sample_chain}, } ); @@ -125,39 +86,3 @@ my $push_result = join $SPACE, @{ $job_id{$case_id_chain_key}{$case_id_chain_key is( $push_result, q{job_id_6 job_id_4 job_id_5}, q{Pushed sample_id to case_id job_id} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_add_to_job_id_dependency_string.t b/t/processes_add_to_job_id_dependency_string.t index 4d1d583c7..40f9044aa 100644 --- a/t/processes_add_to_job_id_dependency_string.t +++ b/t/processes_add_to_job_id_dependency_string.t @@ -1,90 +1,49 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $EMPTY_STR => q{}; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $EMPTY_STR $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; + use MIP::Test::Fixtures qw{ test_import }; - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => [qw{ add_to_job_id_dependency_string }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes qw{add_to_job_id_dependency_string}; +use MIP::Processmanagement::Processes qw{ add_to_job_id_dependency_string }; -diag( -"Test add_to_job_id_dependency_string $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test add_to_job_id_dependency_string from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $sample_id = q{sample2}; @@ -108,9 +67,9 @@ my $sample_id_chain_key = $sample_id . $UNDERSCORE . $path; my $job_ids_string = add_to_job_id_dependency_string( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, chain_key => $sample_id_chain_key, + job_id_href => \%job_id, } ); my $expected_job_id_string = q{:job_id_3}; @@ -123,9 +82,9 @@ $sample_id_chain_key = $sample_id . $UNDERSCORE . $path; ## Add to job_id string $job_ids_string = add_to_job_id_dependency_string( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, chain_key => $sample_id_chain_key, + job_id_href => \%job_id, } ); @@ -168,39 +127,3 @@ $expected_job_id_string = $EMPTY_STR; is( $job_ids_string, $expected_job_id_string, q{Nothing was added to job_id_string} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_clear_all_job_ids_within_chain_key_dependency_tree.t b/t/processes_clear_all_job_ids_within_chain_key_dependency_tree.t index b6bcf6bdf..942f7408c 100644 --- a/t/processes_clear_all_job_ids_within_chain_key_dependency_tree.t +++ b/t/processes_clear_all_job_ids_within_chain_key_dependency_tree.t @@ -1,91 +1,50 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; +use utf8; +use warnings qw{ FATAL utf8 }; + +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; ## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $EMPTY_STR => q{}; -Readonly my $UNDERSCORE => q{_}; - -my $VERBOSE = 1; - -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; + use MIP::Test::Fixtures qw{ test_import }; - $perl_module{'MIP::Script::Utils'} = [qw{help}]; - - PERL_MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = ( + q{MIP::Processmanagement::Processes} => + [qw{ clear_all_job_ids_within_chain_key_dependency_tree }], - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); + ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes - qw{clear_all_job_ids_within_chain_key_dependency_tree}; +use MIP::Processmanagement::Processes qw{ clear_all_job_ids_within_chain_key_dependency_tree }; -diag( -"Test clear_all_job_ids_within_chain_key_dependency_tree $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test clear_all_job_ids_within_chain_key_dependency_tree from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $case_id = q{case1}; @@ -120,8 +79,8 @@ my %job_id = ( clear_all_job_ids_within_chain_key_dependency_tree( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, + job_id_href => \%job_id, } ); @@ -135,39 +94,3 @@ my $expected_result = 0; is( $result, $expected_result, q{Cleared case chain_key job_ids} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -} diff --git a/t/processes_clear_case_id_job_id_dependency_tree.t b/t/processes_clear_case_id_job_id_dependency_tree.t index 82b81c6c1..54c435a58 100644 --- a/t/processes_clear_case_id_job_id_dependency_tree.t +++ b/t/processes_clear_case_id_job_id_dependency_tree.t @@ -1,90 +1,47 @@ -#!/usr/bin/env perl +#! /usr/bin/env perl -use Modern::Perl qw{ 2018 }; -use warnings qw{FATAL utf8}; -use autodie; -use 5.026; #Require at least perl 5.18 -use utf8; -use open qw{ :encoding(UTF-8) :std }; -use charnames qw{ :full :short }; +use 5.026; use Carp; -use English qw{-no_match_vars}; -use Params::Check qw{check allow last_error}; - -use FindBin qw{$Bin}; #Find directory of script -use File::Basename qw{dirname basename}; -use File::Spec::Functions qw{catdir}; -use Getopt::Long; +use charnames qw{ :full :short }; +use English qw{ -no_match_vars }; +use File::Basename qw{ dirname }; +use File::Spec::Functions qw{ catdir }; +use FindBin qw{ $Bin }; +use open qw{ :encoding(UTF-8) :std }; +use Params::Check qw{ allow check last_error }; use Test::More; -use Readonly; - -## MIPs lib/ -use lib catdir( dirname($Bin), 'lib' ); -use MIP::Script::Utils qw{help}; - -our $USAGE = build_usage( {} ); - -##Constants -Readonly my $NEWLINE => qq{\n}; -Readonly my $SPACE => q{ }; -Readonly my $EMPTY_STR => q{}; -Readonly my $UNDERSCORE => q{_}; +use utf8; +use warnings qw{ FATAL utf8 }; -my $VERBOSE = 1; +## CPANM +use autodie qw { :all }; +use Modern::Perl qw{ 2018 }; -###User Options -GetOptions( - 'h|help' => sub { - done_testing(); - say {*STDOUT} $USAGE; - exit; - }, #Display help text - 'v|version' => sub { - done_testing(); - say {*STDOUT} $NEWLINE . basename($PROGRAM_NAME) . $SPACE . $NEWLINE; - exit; - }, #Display version number - 'vb|verbose' => $VERBOSE, - ) - or ( - done_testing(), - help( - { - USAGE => $USAGE, - exit_code => 1, - } - ) - ); +## MIPs lib/ +use lib catdir( dirname($Bin), q{lib} ); +use MIP::Constants qw{ $COMMA $SPACE $UNDERSCORE }; BEGIN { -### Check all internal dependency modules and imports - - ## Modules with import - my %perl_module; - - $perl_module{'MIP::Script::Utils'} = [qw{help}]; + use MIP::Test::Fixtures qw{ test_import }; - PERL_MODULES: - while ( my ( $module, $module_import ) = each %perl_module ) { - use_ok( $module, @{$module_import} ) - or BAIL_OUT q{Cannot load } . $module; - } - - ## Modules - my @modules = ('MIP::Processmanagement::Processes'); +### Check all internal dependency modules and imports +## Modules with import + my %perl_module = + ( q{MIP::Processmanagement::Processes} => [qw{ clear_case_id_job_id_dependency_tree }], ); - MODULES: - for my $module (@modules) { - require_ok($module) or BAIL_OUT q{Cannot load } . $module; - } + test_import( { perl_module_href => \%perl_module, } ); } -use MIP::Processmanagement::Processes qw{clear_case_id_job_id_dependency_tree}; +use MIP::Processmanagement::Processes qw{ clear_case_id_job_id_dependency_tree }; -diag( -"Test clear_case_id_job_id_dependency_tree $MIP::Processmanagement::Processes::VERSION, Perl $^V, $EXECUTABLE_NAME" -); +diag( q{Test clear_case_id_job_id_dependency_tree from Processes.pm} + . $COMMA + . $SPACE . q{Perl} + . $SPACE + . $PERL_VERSION + . $SPACE + . $EXECUTABLE_NAME ); ## Base arguments my $case_id = q{case1}; @@ -110,8 +67,8 @@ my %job_id = ( ## Add job_ids from MAIN chain to job_id_string clear_case_id_job_id_dependency_tree( { - job_id_href => \%job_id, case_id_chain_key => $case_id_chain_key, + job_id_href => \%job_id, } ); @@ -120,39 +77,3 @@ my $expected_result = 0; is( @{$result_ref}, $expected_result, q{Cleared job_ids from case_id job_id chain} ); done_testing(); - -###################### -####SubRoutines####### -###################### - -sub build_usage { - -##build_usage - -##Function : Build the USAGE instructions -##Returns : "" -##Arguments: $program_name -## : $program_name => Name of the script - - my ($arg_href) = @_; - - ## Default(s) - my $program_name; - - my $tmpl = { - program_name => { - default => basename($PROGRAM_NAME), - strict_type => 1, - store => \$program_name, - }, - }; - - check( $tmpl, $arg_href, 1 ) or croak qw{Could not parse arguments!}; - - return <<"END_USAGE"; - $program_name [options] - -vb/--verbose Verbose - -h/--help Display this help message - -v/--version Display version -END_USAGE -}