You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2008/07/19 22:02:46 UTC

svn commit: r678211 - in /incubator/qpid/trunk/qpid/java: module.xml systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java

Author: rhs
Date: Sat Jul 19 13:02:46 2008
New Revision: 678211

URL: http://svn.apache.org/viewvc?rev=678211&view=rev
Log:
QPID-1184: redirect stdout and stderr from QpidTestCase

Modified:
    incubator/qpid/trunk/qpid/java/module.xml
    incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java

Modified: incubator/qpid/trunk/qpid/java/module.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/module.xml?rev=678211&r1=678210&r2=678211&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/module.xml (original)
+++ incubator/qpid/trunk/qpid/java/module.xml Sat Jul 19 13:02:46 2008
@@ -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"/>

Modified: incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java?rev=678211&r1=678210&r2=678211&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java (original)
+++ incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java Sat Jul 19 13:02:46 2008
@@ -120,6 +120,7 @@
     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 @@
     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 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 @@
                 _logger.error("exception stopping broker", e);
             }
             _logger.info("==========  stop " + name + " ==========");
+
+            if (redirected)
+            {
+                System.setErr(oldErr);
+                System.setOut(oldOut);
+                err.close();
+                out.close();
+            }
         }
     }