summaryrefslogtreecommitdiff
path: root/testprogs/blackbox/subunit.sh
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-04-16 16:12:58 +0200
committerAndrew Bartlett <abartlet@samba.org>2008-04-16 16:12:58 +0200
commit9586462b8f61f4e37b34f45e58293b143de63cb0 (patch)
tree9eb36abddf6d19fd01e1f25d13a7e732055d1451 /testprogs/blackbox/subunit.sh
parenta58df2f54c5847a6a3dddad51465c319f1c387f5 (diff)
parent228f342b1f12accbf3c07e1d2a1c9a5459ed966b (diff)
downloadsamba-9586462b8f61f4e37b34f45e58293b143de63cb0.tar.gz
samba-9586462b8f61f4e37b34f45e58293b143de63cb0.tar.bz2
samba-9586462b8f61f4e37b34f45e58293b143de63cb0.zip
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-abartlet
(This used to be commit 18dd8120cc35fe3d1cd4455c1f6a32b503274d97)
Diffstat (limited to 'testprogs/blackbox/subunit.sh')
-rwxr-xr-xtestprogs/blackbox/subunit.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/testprogs/blackbox/subunit.sh b/testprogs/blackbox/subunit.sh
new file mode 100755
index 0000000000..7a6b21e540
--- /dev/null
+++ b/testprogs/blackbox/subunit.sh
@@ -0,0 +1,67 @@
+#
+# subunit.sh: shell functions to report test status via the subunit protocol.
+# Copyright (C) 2006 Robert Collins <robertc@robertcollins.net>
+# Copyright (C) 2008 Jelmer Vernooij <jelmer@samba.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+
+subunit_start_test () {
+ # emit the current protocol start-marker for test $1
+ echo "test: $1"
+}
+
+
+subunit_pass_test () {
+ # emit the current protocol test passed marker for test $1
+ echo "success: $1"
+}
+
+
+subunit_fail_test () {
+ # emit the current protocol fail-marker for test $1, and emit stdin as
+ # the error text.
+ # we use stdin because the failure message can be arbitrarily long, and this
+ # makes it convenient to write in scripts (using <<END syntax.
+ echo "failure: $1 ["
+ cat -
+ echo "]"
+}
+
+
+subunit_error_test () {
+ # emit the current protocol error-marker for test $1, and emit stdin as
+ # the error text.
+ # we use stdin because the failure message can be arbitrarily long, and this
+ # makes it convenient to write in scripts (using <<END syntax.
+ echo "error: $1 ["
+ cat -
+ echo "]"
+}
+
+testit () {
+ name="$1"
+ shift
+ cmdline="$*"
+ subunit_start_test "$name"
+ $cmdline
+ status=$?
+ if [ x$status = x0 ]; then
+ subunit_pass_test "$name"
+ else
+ subunit_fail_test "$name"
+ fi
+ return $status
+}