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:
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;