aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testing/roundup/APKBUILD47
-rw-r--r--testing/roundup/roundup-avoid-bash-syntax-in-tests.patch17
-rw-r--r--testing/roundup/roundup-fix-busybox-shell-opts.patch19
3 files changed, 83 insertions, 0 deletions
diff --git a/testing/roundup/APKBUILD b/testing/roundup/APKBUILD
new file mode 100644
index 0000000000..81ebce21de
--- /dev/null
+++ b/testing/roundup/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Christian Kampka <christian@kampka.net>
+pkgname=roundup
+pkgver=0.0.6
+pkgrel=1
+pkgdesc="A a unit testing tool for running roundup(5) test plans which are
+written in any POSIX shell."
+url=https://github.com/bmizerany/roundup/
+arch="all"
+license="MIT"
+depends=
+makedeps="ncurses"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bmizerany/$pkgname/archive/v$pkgver.tar.gz
+ $pkgname-fix-busybox-shell-opts.patch
+ $pkgname-avoid-bash-syntax-in-tests.patch
+ "
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ #patches
+ cd "$_builddir"
+ for i in $source; do
+ local p=${i##*/}
+ case $i in
+ *.patch) msg $p; patch -p1 -i "$srcdir"/$p || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd $_builddir
+ /bin/sh roundup.sh roundup-1-test.sh
+}
+
+package() {
+ install -Dm755 $_builddir/roundup.sh $pkgdir/usr/bin/$pkgname
+}
+
+md5sums="607023b4fe4e42fdc2f0cb14b4138b2e roundup-0.0.6.tar.gz
+a7d12efbf88919a1e2fc9b7ed143fd9c roundup-fix-busybox-shell-opts.patch
+dddd5610d03f2c1237c295c564c291c4 roundup-avoid-bash-syntax-in-tests.patch"
+sha256sums="20741043ed5be7cbc54b1e9a7c7de122a0dacced77052e90e4ff08e41736f01c roundup-0.0.6.tar.gz
+31e00fc54fa806aaa1a3199dd13b596b36e8f57685c7524db125bf87a949845b roundup-fix-busybox-shell-opts.patch
+e8829b4459a5e3d65949e564cf69e307e7b6fe11758d9becc9426a164bb4a812 roundup-avoid-bash-syntax-in-tests.patch"
+sha512sums="a7a249d16467bd3835d555288ec6c3d84a36f2f7f2ae5da90e7624bc76a7741788499fd635d3001c086923914870392c23d765ca07ab7c97e58b9deec9989827 roundup-0.0.6.tar.gz
+13cf848227958e83fabf6cde96e1ac347199ad107d6a5daa07e23a976cc8613a0368447295afb310a817c8d6aeb52b96d12d58984a929114decc2c16098ddd7c roundup-fix-busybox-shell-opts.patch
+526cca7805fb55de24df79482e3daa2253fc26db2db662229894b8ad56e79a8a45ad716e0c0241765455bda0a4c45344a9ea7c001860d3f8ca41f0c00e3954f9 roundup-avoid-bash-syntax-in-tests.patch"
diff --git a/testing/roundup/roundup-avoid-bash-syntax-in-tests.patch b/testing/roundup/roundup-avoid-bash-syntax-in-tests.patch
new file mode 100644
index 0000000000..ecd2f076ea
--- /dev/null
+++ b/testing/roundup/roundup-avoid-bash-syntax-in-tests.patch
@@ -0,0 +1,17 @@
+diff --git a/roundup-5-test.sh b/roundup-5-test.sh
+index 250a586..8e8739a 100644
+--- a/roundup-5-test.sh
++++ b/roundup-5-test.sh
+@@ -87,10 +87,10 @@ it_runs_after_if_a_test_fails_part_2() {
+
+ # Output the correct return code of a failing command of a testcase.
+ it_outputs_the_return_code_7() {
+- function f() { return 42; }
++ f() { return 42; }
+ x=$(echo asdf)
+
+- function g() { return 7; }
++ g() { return 7; }
+ g
+ }
+
diff --git a/testing/roundup/roundup-fix-busybox-shell-opts.patch b/testing/roundup/roundup-fix-busybox-shell-opts.patch
new file mode 100644
index 0000000000..b6185e96ab
--- /dev/null
+++ b/testing/roundup/roundup-fix-busybox-shell-opts.patch
@@ -0,0 +1,19 @@
+diff --git a/roundup.sh b/roundup.sh
+index d7465dc..38d7efe 100755
+--- a/roundup.sh
++++ b/roundup.sh
+@@ -258,9 +258,11 @@ do
+
+ # exit subshell with return code of last failing command. This
+ # is needed to see the return code 253 on failed assumptions.
+- # But, only do this if the error handling is activated.
+- set -E
+- trap 'rc=$?; set +x; set -o | grep "errexit.*on" >/dev/null && exit $rc' ERR
++ # But, only do this if the error handling is activated and only if the shell supports it
++ if set -o | grep "^errtrace" >/dev/null; then
++ set -o errtrace
++ trap 'rc=$?; set +x; set -o | grep "errexit.*on" >/dev/null && exit $rc' ERR
++ fi
+
+ # If `before` wasn't redefined, then this is `:`.
+ before