summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-07-19 20:02:46 +0000
committerRafael H. Schloming <rhs@apache.org>2008-07-19 20:02:46 +0000
commit50567244c0879ba624b70bb06be0db48e8b43900 (patch)
tree7f45b79db26de16e4dcaa63f178f7b20baf57022 /qpid/java
parent8f84b0db27ba46ce5a4048435c2e3609b4476cf9 (diff)
downloadqpid-python-50567244c0879ba624b70bb06be0db48e8b43900.tar.gz
QPID-1184: redirect stdout and stderr from QpidTestCase
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@678211 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/module.xml1
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java26
2 files changed, 27 insertions, 0 deletions
diff --git a/qpid/java/module.xml b/qpid/java/module.xml
index 6ca4211087..38f8a1a779 100644
--- a/qpid/java/module.xml
+++ b/qpid/java/module.xml
@@ -223,6 +223,7 @@
<sysproperty key="broker.ready" value="${broker.ready}" />
<sysproperty key="test.excludes" value="${test.excludes}"/>
<sysproperty key="test.excludesfile" value="${test.excludesfile}"/>
+ <sysproperty key="test.output" value="${module.results}"/>
<sysproperty key="max_prefetch" value ="${max_prefetch}"/>
<sysproperty key="example.plugin.target" value="${project.root}/build/lib/plugins"/>
<sysproperty key="QPID_EXAMPLE_HOME" value="${project.root}/broker"/>
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
index 0b41c5040c..8533442207 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
@@ -120,6 +120,7 @@ public class QpidTestCase extends TestCase
private static final String BROKER_CLEAN = "broker.clean";
private static final String BROKER_VERSION = "broker.version";
private static final String BROKER_READY = "broker.ready";
+ private static final String TEST_OUTPUT = "test.output";
// values
protected static final String VM = "vm";
@@ -130,6 +131,7 @@ public class QpidTestCase extends TestCase
protected String _broker = System.getProperty(BROKER, VM);
private String _brokerClean = System.getProperty(BROKER_CLEAN, null);
private String _brokerVersion = System.getProperty(BROKER_VERSION, VERSION_08);
+ private String _output = System.getProperty(TEST_OUTPUT);
private Process _brokerProcess;
@@ -153,6 +155,22 @@ public class QpidTestCase extends TestCase
public void runBare() throws Throwable
{
String name = getClass().getSimpleName() + "." + getName();
+ String qname = getClass().getName() + "." + getName();
+
+ PrintStream oldOut = System.out;
+ PrintStream oldErr = System.err;
+ PrintStream out = null;
+ PrintStream err = null;
+ boolean redirected = _output != null && _output.length() > 0;
+ if (redirected)
+ {
+ out = new PrintStream(String.format("%s/TEST-%s.out", _output, qname));
+ err = new PrintStream(String.format("%s/TEST-%s.err", _output, qname));
+ }
+
+ System.setOut(out);
+ System.setErr(err);
+
_logger.info("========== start " + name + " ==========");
startBroker();
try
@@ -170,6 +188,14 @@ public class QpidTestCase extends TestCase
_logger.error("exception stopping broker", e);
}
_logger.info("========== stop " + name + " ==========");
+
+ if (redirected)
+ {
+ System.setErr(oldErr);
+ System.setOut(oldOut);
+ err.close();
+ out.close();
+ }
}
}