aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Guldstrand <andreas.guldstrand@gmail.com>2015-12-31 17:09:55 +0100
committerAndreas Guldstrand <andreas.guldstrand@gmail.com>2015-12-31 22:52:46 +0100
commitbf3417815e57d71e307b7b1d65ebfdaa46162f92 (patch)
tree28ce8e425201090f8b5151f0a7ff22d4f0b7b2a4
parentb50e3a707b9c040af8a6b574436e765323ebf50e (diff)
downloadsbotools2-bf3417815e57d71e307b7b1d65ebfdaa46162f92.tar.xz
Add tests for malformed slackbuilds. See #23
-rw-r--r--t/LO-fail/malformed-info/README1
-rw-r--r--t/LO-fail/malformed-info/malformed-info.SlackBuild15
-rw-r--r--t/LO-fail/malformed-info/malformed-info.info4
-rw-r--r--t/LO-fail/malformed-noinfo/README1
-rw-r--r--t/LO-fail/malformed-noinfo/malformed-noinfo.SlackBuild15
-rw-r--r--t/LO-fail/malformed-readme/malformed-readme.SlackBuild15
-rw-r--r--t/LO-fail/malformed-readme/malformed-readme.info10
-rw-r--r--t/LO-fail/malformed-slackbuild/README1
-rw-r--r--t/LO-fail/malformed-slackbuild/malformed-slackbuild.info10
-rwxr-xr-xt/fail.t27
10 files changed, 98 insertions, 1 deletions
diff --git a/t/LO-fail/malformed-info/README b/t/LO-fail/malformed-info/README
new file mode 100644
index 0000000..6d388bb
--- /dev/null
+++ b/t/LO-fail/malformed-info/README
@@ -0,0 +1 @@
+This doesn't exist!
diff --git a/t/LO-fail/malformed-info/malformed-info.SlackBuild b/t/LO-fail/malformed-info/malformed-info.SlackBuild
new file mode 100644
index 0000000..755db2e
--- /dev/null
+++ b/t/LO-fail/malformed-info/malformed-info.SlackBuild
@@ -0,0 +1,15 @@
+#!/bin/bash
+PRGNAM="malformed-info"
+VERSION=${VERSION:-1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+TMP=${TMP:-/tmp/SBo}
+OUTPUT=${OUTPUT:-/tmp}
+
+mkdir -p $TMP/$PRGNAM-$VERSION
+cp README $TMP/$PRGNAM-$VERSION
+mkdir -p $OUTPUT/package-$PRGNAM/usr/doc/$PRGNAM-$VERSION
+cp README $OUTPUT/package-$PRGNAM/usr/doc/$PRGNAM-$VERSION
+cd $OUTPUT/package-$PRGNAM
+
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-noarch-$BUILD$TAG.tgz
diff --git a/t/LO-fail/malformed-info/malformed-info.info b/t/LO-fail/malformed-info/malformed-info.info
new file mode 100644
index 0000000..d6aa202
--- /dev/null
+++ b/t/LO-fail/malformed-info/malformed-info.info
@@ -0,0 +1,4 @@
+PRGNAM="malformed-info"
+VERSION="1.0"
+MAINTAINER="Andreas Guldstrand"
+EMAIL="doesnt@matter.org"
diff --git a/t/LO-fail/malformed-noinfo/README b/t/LO-fail/malformed-noinfo/README
new file mode 100644
index 0000000..6d388bb
--- /dev/null
+++ b/t/LO-fail/malformed-noinfo/README
@@ -0,0 +1 @@
+This doesn't exist!
diff --git a/t/LO-fail/malformed-noinfo/malformed-noinfo.SlackBuild b/t/LO-fail/malformed-noinfo/malformed-noinfo.SlackBuild
new file mode 100644
index 0000000..e586357
--- /dev/null
+++ b/t/LO-fail/malformed-noinfo/malformed-noinfo.SlackBuild
@@ -0,0 +1,15 @@
+#!/bin/bash
+PRGNAM="malformed-noinfo"
+VERSION=${VERSION:-1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+TMP=${TMP:-/tmp/SBo}
+OUTPUT=${OUTPUT:-/tmp}
+
+mkdir -p $TMP/$PRGNAM-$VERSION
+cp README $TMP/$PRGNAM-$VERSION
+mkdir -p $OUTPUT/package-$PRGNAM/usr/doc/$PRGNAM-$VERSION
+cp README $OUTPUT/package-$PRGNAM/usr/doc/$PRGNAM-$VERSION
+cd $OUTPUT/package-$PRGNAM
+
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-noarch-$BUILD$TAG.tgz
diff --git a/t/LO-fail/malformed-readme/malformed-readme.SlackBuild b/t/LO-fail/malformed-readme/malformed-readme.SlackBuild
new file mode 100644
index 0000000..04345e3
--- /dev/null
+++ b/t/LO-fail/malformed-readme/malformed-readme.SlackBuild
@@ -0,0 +1,15 @@
+#!/bin/bash
+PRGNAM="malformed-readme"
+VERSION=${VERSION:-1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+TMP=${TMP:-/tmp/SBo}
+OUTPUT=${OUTPUT:-/tmp}
+
+mkdir -p $TMP/$PRGNAM-$VERSION
+cp README $TMP/$PRGNAM-$VERSION
+mkdir -p $OUTPUT/package-$PRGNAM/usr/doc/$PRGNAM-$VERSION
+cp README $OUTPUT/package-$PRGNAM/usr/doc/$PRGNAM-$VERSION
+cd $OUTPUT/package-$PRGNAM
+
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-noarch-$BUILD$TAG.tgz
diff --git a/t/LO-fail/malformed-readme/malformed-readme.info b/t/LO-fail/malformed-readme/malformed-readme.info
new file mode 100644
index 0000000..ae1d2ff
--- /dev/null
+++ b/t/LO-fail/malformed-readme/malformed-readme.info
@@ -0,0 +1,10 @@
+PRGNAM="malformed-readme"
+VERSION="1.0"
+HOMEPAGE="http://www.example.com"
+DOWNLOAD="http://www.pastemobile.org/perf.dummy"
+MD5SUM="9cba6c70fb57a22a155073d54748b614"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Andreas Guldstrand"
+EMAIL="doesnt@matter.org"
diff --git a/t/LO-fail/malformed-slackbuild/README b/t/LO-fail/malformed-slackbuild/README
new file mode 100644
index 0000000..6d388bb
--- /dev/null
+++ b/t/LO-fail/malformed-slackbuild/README
@@ -0,0 +1 @@
+This doesn't exist!
diff --git a/t/LO-fail/malformed-slackbuild/malformed-slackbuild.info b/t/LO-fail/malformed-slackbuild/malformed-slackbuild.info
new file mode 100644
index 0000000..470b755
--- /dev/null
+++ b/t/LO-fail/malformed-slackbuild/malformed-slackbuild.info
@@ -0,0 +1,10 @@
+PRGNAM="malformed-slackbuild"
+VERSION="1.0"
+HOMEPAGE="http://www.example.com"
+DOWNLOAD="http://www.pastemobile.org/perf.dummy"
+MD5SUM="9cba6c70fb57a22a155073d54748b614"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Andreas Guldstrand"
+EMAIL="doesnt@matter.org"
diff --git a/t/fail.t b/t/fail.t
index f33c4e5..8eee566 100755
--- a/t/fail.t
+++ b/t/fail.t
@@ -11,7 +11,7 @@ use lib "$RealBin/../SBO-Lib/lib";
use Test::Execute;
if ($ENV{TEST_INSTALL}) {
- plan tests => 9;
+ plan tests => 13;
} else {
plan skip_all => 'Only run these tests if TEST_INSTALL=1';
}
@@ -31,6 +31,10 @@ sub cleanup {
unlink "$RealBin/LO-fail/nonexistentslackbuild2/perf.dummy";
unlink "$RealBin/LO-fail/nonexistentslackbuild3/perf.dummy";
unlink "$RealBin/LO-fail/nonexistentslackbuild4/perf.dummy";
+ unlink "$RealBin/LO-fail/malformed-noinfo/perf.dummy";
+ unlink "$RealBin/LO-fail/malformed-info/perf.dummy";
+ unlink "$RealBin/LO-fail/malformed-readme/perf.dummy";
+ unlink "$RealBin/LO-fail/malformed-slackbuild/perf.dummy";
system(qw!rm -rf /tmp/SBo/failingslackbuild-1.0!);
system(qw!rm -rf /tmp/SBo/failingslackbuild2-1.0!);
system(qw!rm -rf /tmp/SBo/failingdownload-1.0!);
@@ -41,6 +45,10 @@ sub cleanup {
system(qw!rm -rf /tmp/SBo/nonexistentslackbuild2-1.0!);
system(qw!rm -rf /tmp/SBo/nonexistentslackbuild3-1.0!);
system(qw!rm -rf /tmp/SBo/nonexistentslackbuild4-1.0!);
+ system(qw!rm -rf /tmp/SBo/malformed-noinfo-1.0!);
+ system(qw!rm -rf /tmp/SBo/malformed-info-1.0!);
+ system(qw!rm -rf /tmp/SBo/malformed-readme-1.0!);
+ system(qw!rm -rf /tmp/SBo/malformed-slackbuild-1.0!);
system(qw!rm -rf /tmp/package-failingslackbuild!);
system(qw!rm -rf /tmp/package-failingslackbuild2!);
system(qw!rm -rf /tmp/package-failingdownload!);
@@ -51,6 +59,10 @@ sub cleanup {
system(qw!rm -rf /tmp/package-nonexistentslackbuild2!);
system(qw!rm -rf /tmp/package-nonexistentslackbuild3!);
system(qw!rm -rf /tmp/package-nonexistentslackbuild4!);
+ system(qw!rm -rf /tmp/package-malformed-noinfo!);
+ system(qw!rm -rf /tmp/package-malformed-info!);
+ system(qw!rm -rf /tmp/package-malformed-readme!);
+ system(qw!rm -rf /tmp/package-malformed-slackbuild!);
};
}
@@ -116,6 +128,19 @@ SKIP: {
script (qw/ sboinstall failingmd5sum2 /, { input => "y\ny\ny\nn", expected => qr!Failures:\n!, exit => 4 });
}
+# 10: Malformed slackbuild - no .info
+script (qw/ sboinstall malformed-noinfo /, { expected => "A fatal script error has occurred:\nopen_fh, $RealBin/LO-fail/malformed-noinfo/malformed-noinfo.info is not a file\nExiting.\n", exit => 2 });
+
+# 11: Malformed slackbuild - malformed .info
+script (qw/ sboinstall malformed-info /, { input => "y\ny\nn", expected => qr!Failures:\n malformed-info: Unable to get download info from $RealBin/LO-fail/malformed-info/malformed-info[.]info\n!, exit => 7 });
+
+# 12: Malformed slackbuild - no readme
+script (qw/ sboinstall malformed-readme /, { expected => "A fatal script error has occurred:\nopen_fh, $RealBin/LO-fail/malformed-readme/README is not a file\nExiting.\n", exit => 2 });
+
+# 13: Malformed slackbuild - no .SlackBuild
+script (qw/ sboinstall malformed-slackbuild /,
+ { input => "y\ny", expected => qr!\QFailures:\n malformed-slackbuild: Unable to backup $RealBin/LO-fail/malformed-slackbuild/malformed-slackbuild.SlackBuild to $RealBin/LO-fail/malformed-slackbuild/malformed-slackbuild.SlackBuild.orig\E!, exit => 6 });
+
# Cleanup
END {
set_lo('delete');