aboutsummaryrefslogtreecommitdiff
path: root/t/31-template.t
diff options
context:
space:
mode:
Diffstat (limited to 't/31-template.t')
-rwxr-xr-xt/31-template.t216
1 files changed, 0 insertions, 216 deletions
diff --git a/t/31-template.t b/t/31-template.t
deleted file mode 100755
index 250e2f6..0000000
--- a/t/31-template.t
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/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 Test::Sbotools qw/ make_slackbuilds_txt set_lo sboinstall sboremove restore_perf_dummy /;
-use File::Temp qw/ tempdir /;
-
-if ($ENV{TEST_INSTALL}) {
- plan tests => 29;
-} else {
- plan skip_all => 'Only run these tests if TEST_INSTALL=1';
-}
-
-sub cleanup {
- capture_merged {
- system(qw!/sbin/removepkg envsettingtest!);
- system(qw!/sbin/removepkg envsettingtest2!);
- system(qw!/sbin/removepkg commandinreadme!);
- system(qw!/sbin/removepkg commandinreadmespanslines!);
- unlink "$RealBin/LO-readme/envsettingtest/perf.dummy";
- unlink "$RealBin/LO-readme/envsettingtest2/perf.dummy";
- unlink "$RealBin/LO-readme/commandinreadme/perf.dummy";
- unlink "$RealBin/LO-readme/commandinreadmespanslines/perf.dummy";
- system(qw!rm -rf /tmp/SBo/envsettingtest-1.0!);
- system(qw!rm -rf /tmp/SBo/envsettingtest2-1.0!);
- system(qw!rm -rf /tmp/SBo/commandinreadme-1.0!);
- system(qw!rm -rf /tmp/SBo/commandinreadmespanslines-1.0!);
- system(qw!rm -rf /tmp/package-envsettingtest!);
- system(qw!rm -rf /tmp/package-envsettingtest2!);
- system(qw!rm -rf /tmp/package-commandinreadme!);
- system(qw!rm -rf /tmp/package-commandinreadmespanslines!);
- };
-}
-
-cleanup();
-make_slackbuilds_txt();
-set_lo("$RealBin/LO-readme");
-restore_perf_dummy();
-
-my $tempdir = tempdir(CLEANUP => 1);
-
-# 1-3: sboinstall envsettingtest - fail
-sboinstall '-i', '--create-template', "$tempdir/1.temp", 'envsettingtest', { input => "n\ny\ny", expected => qr!Template \Q$tempdir/1.temp saved.\E\n!, exit => 3 };
-is (scalar capture_merged { system cat => "$tempdir/1.temp" }, <<"TEMP1", "1.temp is correct");
-{
- "build_queue" : [
- "envsettingtest"
- ],
- "commands" : {
- "envsettingtest" : null
- },
- "options" : {
- "envsettingtest" : null
- }
-}
-TEMP1
-sboinstall '--use-template', "$tempdir/1.temp", { exit => 3, expected => qr{FOO isn't bar!.*envsettingtest: envsettingtest.SlackBuild return non-zero}s };
-
-# 4-6: sboinstall envsettingtest - fail 2
-sboinstall '-i', '--create-template', "$tempdir/2.temp", 'envsettingtest', { input => "y\nFOO=foo\ny\ny", expected => qr!Template \Q$tempdir/2.temp saved.\E\n!, exit => 3 };
-is (scalar capture_merged { system cat => "$tempdir/2.temp" }, <<"TEMP2", "2.temp is correct");
-{
- "build_queue" : [
- "envsettingtest"
- ],
- "commands" : {
- "envsettingtest" : null
- },
- "options" : {
- "envsettingtest" : "FOO=foo"
- }
-}
-TEMP2
-sboinstall '--use-template', "$tempdir/2.temp", { exit => 3, expected => qr{FOO isn't bar!.*envsettingtest: envsettingtest.SlackBuild return non-zero}s };
-
-# 7-9: sboinstall envsettingtest - success
-sboinstall '-i', '--create-template', "$tempdir/3.temp", 'envsettingtest', { input => "y\nFOO=bar\ny\ny", expected => qr!Template \Q$tempdir/3.temp saved.\E\n! };
-is (scalar capture_merged { system cat => "$tempdir/3.temp" }, <<"TEMP3", "3.temp is correct");
-{
- "build_queue" : [
- "envsettingtest"
- ],
- "commands" : {
- "envsettingtest" : null
- },
- "options" : {
- "envsettingtest" : "FOO=bar"
- }
-}
-TEMP3
-sboinstall '--use-template', "$tempdir/3.temp", { expected => qr{Install queue: envsettingtest.*Cleaning for envsettingtest-1[.]0}s };
-sboremove 'envsettingtest', { input => "y\ny", test => 0 };
-
-# 10-12: sboinstall envsettingtest2 - fail prereq
-sboinstall '-i', '--create-template', "$tempdir/4.temp", 'envsettingtest2', { input => "n\ny\ny\nFOO=quux\ny\ny\nn", expected => qr!Template \Q$tempdir/4.temp saved.\E\n!, exit => 3 };
-is (scalar capture_merged { system cat => "$tempdir/4.temp" }, <<"TEMP4", "4.temp is correct");
-{
- "build_queue" : [
- "envsettingtest",
- "envsettingtest2"
- ],
- "commands" : {
- "envsettingtest" : null,
- "envsettingtest2" : null
- },
- "options" : {
- "envsettingtest" : null,
- "envsettingtest2" : "FOO=quux"
- }
-}
-TEMP4
-sboinstall '--use-template', "$tempdir/4.temp", { exit => 3, expected => qr{Install queue: envsettingtest envsettingtest2.*FOO isn't bar!.*envsettingtest: envsettingtest.SlackBuild return non-zero}s };
-
-# 13-15: sboinstall envsettingtest2 - success
-sboinstall '-i', '--create-template', "$tempdir/5.temp", 'envsettingtest2', { input => "y\nFOO=bar\ny\ny\nFOO=quux\ny\ny", expected => qr!Template \Q$tempdir/5.temp saved.\E\n! };
-is (scalar capture_merged { system cat => "$tempdir/5.temp" }, <<"TEMP5", "5.temp is correct");
-{
- "build_queue" : [
- "envsettingtest",
- "envsettingtest2"
- ],
- "commands" : {
- "envsettingtest" : null,
- "envsettingtest2" : null
- },
- "options" : {
- "envsettingtest" : "FOO=bar",
- "envsettingtest2" : "FOO=quux"
- }
-}
-TEMP5
-sboinstall '--use-template', "$tempdir/5.temp", { expected => qr{Install queue: envsettingtest envsettingtest2.*Cleaning for envsettingtest2-1[.]0}s };
-sboremove 'envsettingtest2', { input => "n\ny\ny\ny", test => 0 };
-
-# 16-18: sboinstall commandinreadme
-SKIP: {
- skip "Only run useradd/groupadd commands under Travis CI", 3 unless (defined $ENV{TRAVIS} and $ENV{TRAVIS} eq 'true');
- skip "Only run useradd/groupadd commands if there is no test user/group", 3, if (defined getgrnam('test') or defined getpwnam('test'));
-
- sboinstall '-i', '--create-template', "$tempdir/6.temp", 'commandinreadme', { input => "y\ny\ny", expected => qr!Template \Q$tempdir/6.temp saved.\E\n! };
- capture_merged { system(qw/ userdel test /); system(qw/ groupdel test /); };
- is (scalar capture_merged { system cat => "$tempdir/6.temp" }, <<"TEMP6", "6.temp is correct");
-{
- "build_queue" : [
- "commandinreadme"
- ],
- "commands" : {
- "commandinreadme" : [
- "groupadd -g 199 test",
- "useradd -u 199 -g 199 -d /tmp test"
- ]
- },
- "options" : {
- "commandinreadme" : 0
- }
-}
-TEMP6
- sboinstall '--use-template', "$tempdir/6.temp", { expected => sub { ! m/exited non-zero/ } };
- sboremove 'commandinreadme', { input => "y\ny", test => 0 };
-
- capture_merged { system(qw/ userdel test /); system(qw/ groupdel test /); };
-}
-
-# 19-22: sboinstall envsettingtest - unreadable template
-mkdir "$tempdir/7.temp";
-sboinstall '--create-template', "$tempdir/7.temp", 'envsettingtest', { input => "n\ny\ny", expected => qr!Unable to open \Q$tempdir/7.temp.\E\n!, exit => 6 };
-sboinstall '--use-template', "$tempdir/7.temp", { expected => qr!Could not read template from \Q$tempdir/7.temp.\E\n!, exit => 6 };
-system touch => "$tempdir/8.temp";
-sboinstall '--use-template', "$tempdir/8.temp", { expected => qr!Could not read template from \Q$tempdir/8.temp.\E\n!, exit => 6 };
-system "echo foo > $tempdir/9.temp";
-sboinstall '--use-template', "$tempdir/9.temp", { expected => qr!Could not read template from \Q$tempdir/9.temp.\E\n!, exit => 6 };
-
-# 23-26: sboinstall with erroneous arguments for --use-template and --create-template
-sboinstall '--use-template', { expected => qr/Usage/, exit => 1 };
-sboinstall '--use-template', '', { expected => qr/Usage/, exit => 1 };
-sboinstall '--use-template', '', '', { expected => qr/Usage/, exit => 1 };
-sboinstall '--create-template', '', '', { expected => qr/Usage/, exit => 1 };
-
-# 27-29: sboinstall commandinreadmespanslines
-SKIP: {
- skip "Only run useradd/groupadd commands under Travis CI", 3 unless (defined $ENV{TRAVIS} and $ENV{TRAVIS} eq 'true');
- skip "Only run useradd/groupadd commands if there is no test user/group", 3 if (defined getgrnam('test') or defined getpwnam('test'));
-
- sboinstall '-i', '--create-template', "$tempdir/10.temp", 'commandinreadmespanslines', { input => "y\ny\ny", expected => qr!Template \Q$tempdir/10.temp saved.\E\n! };
- capture_merged { system(qw/ userdel test /); system(qw/ groupdel test /); };
- is (scalar capture_merged { system cat => "$tempdir/10.temp" }, <<'TEMP10', "10.temp is correct");
-{
- "build_queue" : [
- "commandinreadmespanslines"
- ],
- "commands" : {
- "commandinreadmespanslines" : [
- "groupadd -g 199 test",
- "useradd -u 199 -g 199 -d /tmp \\\n -s /bin/sh test"
- ]
- },
- "options" : {
- "commandinreadmespanslines" : 0
- }
-}
-TEMP10
- sboinstall '--use-template', "$tempdir/10.temp", { expected => sub { ! m/exited non-zero/ } };
- sboremove 'commandinreadmespanslines', { input => "y\ny", test => 0 };
-
- capture_merged { system(qw/ userdel test /); system(qw/ groupdel test /); };
-}
-
-# Cleanup
-END {
- cleanup();
-}