summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-02-15 15:29:22 +0000
committerKeith Wall <kwall@apache.org>2012-02-15 15:29:22 +0000
commit0f3a12e35a1d97b1525793d9a593a310dfc2bc75 (patch)
treee1aa9c4d1ba1a74de415de43805b57a7cfcb482a
parentf78e70d928e27eeaa40ed6064fd3d236d014b1da (diff)
downloadqpid-python-0f3a12e35a1d97b1525793d9a593a310dfc2bc75.tar.gz
QPID-3840: corrected qpid-passwd and qpid-run to handle paths with spaces in them. Modified unit test to capture stderr to aid diagnosis of failures.
Applied patch from Andrew MacBean <andymacbean@gmail.com> and Philip Harvey <phil@philharveyonline.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1244535 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xjava/broker/bin/qpid-passwd6
-rwxr-xr-xjava/common/bin/qpid-run2
-rw-r--r--java/systests/src/main/java/org/apache/qpid/scripts/QpidPasswdTest.java12
3 files changed, 14 insertions, 6 deletions
diff --git a/java/broker/bin/qpid-passwd b/java/broker/bin/qpid-passwd
index f432e00ab8..69246974fa 100755
--- a/java/broker/bin/qpid-passwd
+++ b/java/broker/bin/qpid-passwd
@@ -18,9 +18,9 @@
# under the License.
#
-WHEREAMI=`dirname $0`
if [ -z "$QPID_HOME" ]; then
- export QPID_HOME=`cd $WHEREAMI/../ && pwd`
+ WHEREAMI=`dirname "$0"`
+ export QPID_HOME=`cd "$WHEREAMI/../" && pwd`
fi
# Set classpath to include Qpid jar with all required jars in manifest
@@ -32,4 +32,4 @@ export JAVA=java \
JAVA_MEM=-Xmx1024m \
QPID_CLASSPATH=$QPID_LIBS
-. ${QPID_HOME}/bin/qpid-run org.apache.qpid.tools.security.Passwd "$@"
+. "${QPID_HOME}/bin/qpid-run" org.apache.qpid.tools.security.Passwd "$@"
diff --git a/java/common/bin/qpid-run b/java/common/bin/qpid-run
index ef4363e88b..1e373340ce 100755
--- a/java/common/bin/qpid-run
+++ b/java/common/bin/qpid-run
@@ -110,7 +110,7 @@ fi
log $INFO System Properties set to ${SYSTEM_PROPS[@]}
log $INFO QPID_OPTS set to $QPID_OPTS
-program=$(basename $0)
+program=$(basename "$0")
sourced=${BASH_SOURCE[0]}
if [[ -z ${sourced:-''} ]]; then
sourced=$(which qpid-run) || ${QPID_HOME}/bin/qpid-run
diff --git a/java/systests/src/main/java/org/apache/qpid/scripts/QpidPasswdTest.java b/java/systests/src/main/java/org/apache/qpid/scripts/QpidPasswdTest.java
index f8a2fc15a8..1158a1d220 100644
--- a/java/systests/src/main/java/org/apache/qpid/scripts/QpidPasswdTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/scripts/QpidPasswdTest.java
@@ -23,9 +23,13 @@ import java.util.concurrent.TimeUnit;
import org.apache.qpid.test.utils.Piper;
import org.apache.qpid.test.utils.QpidTestCase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class QpidPasswdTest extends QpidTestCase
{
+ private static final Logger LOGGER = LoggerFactory.getLogger(QpidPasswdTest.class);
+
private static final String PASSWD_SCRIPT = "qpid-passwd";
private static final String EXPECTED_OUTPUT = "user1:rL0Y20zC+Fzt72VPzMSk2A==";
@@ -39,15 +43,19 @@ public class QpidPasswdTest extends QpidTestCase
+ "bin" + File.separatorChar
+ PASSWD_SCRIPT;
+ LOGGER.info("About to run script: " + scriptPath);
+
ProcessBuilder pb = new ProcessBuilder(scriptPath, "user1", "foo");
+ pb.redirectErrorStream(true);
process = pb.start();
Piper piper = new Piper(process.getInputStream(), System.out, EXPECTED_OUTPUT, EXPECTED_OUTPUT);
piper.start();
boolean finishedSuccessfully = piper.await(2, TimeUnit.SECONDS);
- assertTrue("Script should have completed with expected output " + EXPECTED_OUTPUT, finishedSuccessfully);
-
+ assertTrue(
+ "Script should have completed with expected output " + EXPECTED_OUTPUT + ". Check standard output for actual output.",
+ finishedSuccessfully);
process.waitFor();
piper.join();