aboutsummaryrefslogtreecommitdiff
path: root/t/Test
diff options
context:
space:
mode:
Diffstat (limited to 't/Test')
-rw-r--r--t/Test/Sbotools.pm19
1 files changed, 19 insertions, 0 deletions
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;