From 0181216222989429b67c7c3255a7b505b1d5569b Mon Sep 17 00:00:00 2001 From: Andreas Guldstrand Date: Tue, 2 Aug 2016 19:44:20 +0200 Subject: Test::Sbotools: add load() for loading the code of a script --- t/Test/Sbotools.pm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/t/Test/Sbotools.pm b/t/Test/Sbotools.pm index 4cdd286..ab7468c 100644 --- a/t/Test/Sbotools.pm +++ b/t/Test/Sbotools.pm @@ -32,6 +32,7 @@ our @EXPORT_OK = qw/ make_slackbuilds_txt restore_perf_dummy replace_tags_txt + load /; local $Test::Builder::Level = $Test::Builder::Level + 1; @@ -149,4 +150,22 @@ END { } } +sub load { + my ($script, %opts) = @_; + + local @ARGV = exists $opts{argv} ? @{ $opts{argv} } : '-h'; + my ($ret, $exit, $out, $do_err); + my $eval = eval { + $out = capture_merged { $exit = exit_code { + $ret = do "$RealBin/../$script"; + $do_err = $@; + }; }; + 1; + }; + my $err = $@; + + note explain { ret => $ret, exit => $exit, out => $out, eval => $eval, err => $err, do_err => $do_err } if $opts{explain}; +} + + 1; -- cgit v1.2.3