From fe17acfa82079559f8c8b30ab32564418a3cc87e Mon Sep 17 00:00:00 2001
From: Andrew Kroeger <andrew@sprocks.gotdns.com>
Date: Wed, 21 May 2008 02:07:45 -0500
Subject: subunit.sh: Properly capture and pass on the command output.

Previously, the output from $cmdline was never captured.  In case of a
failure, there was no output being passed to the subunit_fail_test() function,
but that function contains a call to "cat -".  This caused the script to hang
indefinitely waiting for input.

We now capture $cmdline output (including mapping stderr to stdout) using
backticks, and then pipe that output to the subunit_fail_test() if there is
a failure.
(This used to be commit c0234d13192c1871971b45121249395ef15c5ae5)
---
 testprogs/blackbox/subunit.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'testprogs')

diff --git a/testprogs/blackbox/subunit.sh b/testprogs/blackbox/subunit.sh
index 7a6b21e540..100dfd1a46 100755
--- a/testprogs/blackbox/subunit.sh
+++ b/testprogs/blackbox/subunit.sh
@@ -56,12 +56,12 @@ testit () {
 	shift
 	cmdline="$*"
 	subunit_start_test "$name"
-	$cmdline
+	output=`$cmdline 2>&1`
 	status=$?
 	if [ x$status = x0 ]; then
 		subunit_pass_test "$name"
 	else
-		subunit_fail_test "$name"
+		echo $output | subunit_fail_test "$name"
 	fi
 	return $status
 }
-- 
cgit v1.2.3