diff options
author | Keith Wall <kwall@apache.org> | 2012-02-15 15:29:22 +0000 |
---|---|---|
committer | Keith Wall <kwall@apache.org> | 2012-02-15 15:29:22 +0000 |
commit | 0f3a12e35a1d97b1525793d9a593a310dfc2bc75 (patch) | |
tree | e1aa9c4d1ba1a74de415de43805b57a7cfcb482a | |
parent | f78e70d928e27eeaa40ed6064fd3d236d014b1da (diff) | |
download | qpid-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-x | java/broker/bin/qpid-passwd | 6 | ||||
-rwxr-xr-x | java/common/bin/qpid-run | 2 | ||||
-rw-r--r-- | java/systests/src/main/java/org/apache/qpid/scripts/QpidPasswdTest.java | 12 |
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(); |