sbotools2

Maintenance fork of the original sbotools version 2
Log | Files | Refs | README

commit 0181216222989429b67c7c3255a7b505b1d5569b
parent c8924920c00a522f04535739d5bd4d86f80ac3f4
Author: Andreas Guldstrand <andreas.guldstrand@gmail.com>
Date:   Tue,  2 Aug 2016 19:44:20 +0200

Test::Sbotools: add load() for loading the code of a script

Diffstat:
Mt/Test/Sbotools.pm | 19+++++++++++++++++++
1 file changed, 19 insertions(+), 0 deletions(-)

diff --git 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;