diff options
author | Andreas Guldstrand <andreas.guldstrand@gmail.com> | 2015-12-31 13:03:27 +0100 |
---|---|---|
committer | Andreas Guldstrand <andreas.guldstrand@gmail.com> | 2015-12-31 22:52:46 +0100 |
commit | a45734855de8a67cd67afea31c7f28be2a0b0ac4 (patch) | |
tree | 8412cf3602f5c589bdbb2455ebab2fe144841348 | |
parent | 0ac3f4cccdaa429b8fdb718db798f09afdab0a0c (diff) | |
download | sbotools2-a45734855de8a67cd67afea31c7f28be2a0b0ac4.tar.xz |
Move failure tests to their own testing structure
-rw-r--r-- | t/LO-fail/failingslackbuild/README (renamed from t/LO/failingslackbuild/README) | 0 | ||||
-rw-r--r-- | t/LO-fail/failingslackbuild/failingslackbuild.SlackBuild (renamed from t/LO/failingslackbuild/failingslackbuild.SlackBuild) | 0 | ||||
-rw-r--r-- | t/LO-fail/failingslackbuild/failingslackbuild.info (renamed from t/LO/failingslackbuild/failingslackbuild.info) | 0 | ||||
-rwxr-xr-x | t/fail.t | 66 | ||||
-rwxr-xr-x | t/install.t | 5 |
5 files changed, 67 insertions, 4 deletions
diff --git a/t/LO/failingslackbuild/README b/t/LO-fail/failingslackbuild/README index 6d388bb..6d388bb 100644 --- a/t/LO/failingslackbuild/README +++ b/t/LO-fail/failingslackbuild/README diff --git a/t/LO/failingslackbuild/failingslackbuild.SlackBuild b/t/LO-fail/failingslackbuild/failingslackbuild.SlackBuild index 626bced..626bced 100644 --- a/t/LO/failingslackbuild/failingslackbuild.SlackBuild +++ b/t/LO-fail/failingslackbuild/failingslackbuild.SlackBuild diff --git a/t/LO/failingslackbuild/failingslackbuild.info b/t/LO-fail/failingslackbuild/failingslackbuild.info index 5d1991a..5d1991a 100644 --- a/t/LO/failingslackbuild/failingslackbuild.info +++ b/t/LO-fail/failingslackbuild/failingslackbuild.info diff --git a/t/fail.t b/t/fail.t new file mode 100755 index 0000000..e741350 --- /dev/null +++ b/t/fail.t @@ -0,0 +1,66 @@ +#!/usr/bin/env perl + +use 5.16.0; +use strict; +use warnings FATAL => 'all'; +use Test::More; +use Capture::Tiny qw/ capture_merged /; +use FindBin '$RealBin'; +use lib $RealBin; +use lib "$RealBin/../SBO-Lib/lib"; +use Test::Execute; + +if ($ENV{TEST_INSTALL}) { + plan tests => 1; +} else { + plan skip_all => 'Only run these tests if TEST_INSTALL=1'; +} +$ENV{TEST_ONLINE} //= 0; + +$path = "$RealBin/../"; + +sub cleanup { + capture_merged { + unlink "$RealBin/LO-fail/failingslackbuild/perf.dummy"; + system(qw!rm -rf /tmp/SBo/failingslackbuild-1.0!); + system(qw!rm -rf /tmp/package-failingslackbuild!); + }; +} + +sub make_slackbuilds_txt { + state $made = 0; + my $fname = "/usr/sbo/repo/SLACKBUILDS.TXT"; + if ($_[0]) { + if ($made) { return system(qw!rm -rf!, $fname); } + } else { + if (not -e $fname) { $made = 1; system('mkdir', '-p', '/usr/sbo/repo'); system('touch', $fname); } + } +} + +sub set_lo { + state $set = 0; + state $lo; + if ($_[0]) { + if ($set) { script (qw/ sboconfig -o /, $lo, { test => 0 }); } + } else { + ($lo) = script (qw/ sboconfig -l /, { expected => qr/LOCAL_OVERRIDES=(.*)/, test => 0 }); + $lo //= 'FALSE'; + note "Saving original value of LOCAL_OVERRIDES: $lo"; + $set = 1; + script (qw/ sboconfig -o /, "$RealBin/LO-fail", { test => 0 }); + } +} + +cleanup(); +make_slackbuilds_txt(); +set_lo(); + +# 1: Failing slackbuild script +script (qw/ sboinstall failingslackbuild /, { input => "y\ny", expected => qr/Failures:\n failingslackbuild: failingslackbuild.SlackBuild return non-zero\n\z/, exit => 3 }); + +# Cleanup +END { + set_lo('delete'); + make_slackbuilds_txt('delete'); + cleanup(); +} diff --git a/t/install.t b/t/install.t index 33753e4..db1c87a 100755 --- a/t/install.t +++ b/t/install.t @@ -11,7 +11,7 @@ use lib "$RealBin/../SBO-Lib/lib"; use Test::Execute; if ($ENV{TEST_INSTALL}) { - plan tests => 9; + plan tests => 8; } else { plan skip_all => 'Only run these tests if TEST_INSTALL=1'; } @@ -95,9 +95,6 @@ script (qw/ sboremove nonexistentslackbuild5 /, { input => "y\ny", test => 0 }); script (qw/ sboinstall nonexistentslackbuild4 /, { input => "y\ny", expected => qr/nonexistentslackbuild5 added to install queue.*Install queue: nonexistentslackbuild5/s }); script (qw/ sboremove nonexistentslackbuild4 nonexistentslackbuild5 /, { input => "y\ny\ny", test => 0 }); -# 9: sboinstall failingslackbuild -script (qw/ sboinstall failingslackbuild /, { input => "y\ny", expected => qr/Failures:\n failingslackbuild: failingslackbuild.SlackBuild return non-zero\n\z/, exit => 3 }); - # Cleanup END { set_lo('delete'); |