You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ri...@apache.org on 2007/05/18 15:51:00 UTC

svn commit: r539470 - in /incubator/qpid/branches/M2/java/broker: pom.xml python-test.xml src/main/java/org/apache/qpid/server/Main.java src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java

Author: ritchiem
Date: Fri May 18 06:50:59 2007
New Revision: 539470

URL: http://svn.apache.org/viewvc?view=rev&rev=539470
Log:
QPID-401 Integrated python tests with maven tested on windows CMD.exe and linux FC5

Added:
    incubator/qpid/branches/M2/java/broker/python-test.xml   (with props)
    incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java   (with props)
Modified:
    incubator/qpid/branches/M2/java/broker/pom.xml
    incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/Main.java

Modified: incubator/qpid/branches/M2/java/broker/pom.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/pom.xml?view=diff&rev=539470&r1=539469&r2=539470
==============================================================================
--- incubator/qpid/branches/M2/java/broker/pom.xml (original)
+++ incubator/qpid/branches/M2/java/broker/pom.xml Fri May 18 06:50:59 2007
@@ -120,6 +120,7 @@
                 </configuration>
             </plugin>
 
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
@@ -144,6 +145,52 @@
                 </includes>
             </testResource>
         </testResources>
+
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>${antrun.version}</version>
+                    <dependencies>
+                        <dependency>
+                            <groupId>ant</groupId>
+                            <artifactId>ant-nodeps</artifactId>
+                            <version>1.6.5</version>
+                        </dependency>
+                    </dependencies>
+
+                    <executions>
+                        <execution>
+                            <id>python_test</id>
+                            <phase>test</phase>
+                            <configuration>
+                                <tasks>
+
+                                    <condition property="broker.dir" 
+                                             value="${user.dir}${file.separator}..${file.separator}broker"
+                                             else="${user.dir}">
+                                        <equals arg1="${topDirectoryLocation}" arg2="." />
+                                    </condition>
+
+                                    <property name="command" 
+                                              value="bash -c 'python run-tests -v -I java_failing.txt'"/>
+
+                                    <ant antfile="python-test.xml" inheritRefs="true">
+                                        <target name="run-tests" />
+                                    </ant>
+
+                                </tasks>
+                            </configuration>
+                            <goals>
+                                <goal>run</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
 
     </build>
 

Added: incubator/qpid/branches/M2/java/broker/python-test.xml
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/python-test.xml?view=auto&rev=539470
==============================================================================
--- incubator/qpid/branches/M2/java/broker/python-test.xml (added)
+++ incubator/qpid/branches/M2/java/broker/python-test.xml Fri May 18 06:50:59 2007
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above.        -->
+<!-- ====================================================================== -->
+
+<project basedir="." default="default">
+
+  <target name="default" >
+      <echo message="Used via maven to run python tests."/>
+  </target>
+
+  <property name="pythondir" value="../../python"/>
+
+  <target name="run-tests" >
+
+	<echo message="Starting Broker with command"/>
+
+	<java classname="org.apache.qpid.server.RunBrokerWithCommand"
+			fork="true"
+			dir="${pythondir}"
+			failonerror="true"
+			>
+		<arg value="${command}"/>
+		
+		<classpath refid="maven.test.classpath"/>
+		<sysproperty key="QPID_HOME" value="${broker.dir}"/>
+		<sysproperty key="QPID_WORK" value="${broker.dir}${file.separator}target"/>
+	</java>
+
+	</target>
+</project>

Propchange: incubator/qpid/branches/M2/java/broker/python-test.xml
------------------------------------------------------------------------------
    svn:executable = *

Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/Main.java?view=diff&rev=539470&r1=539469&r2=539470
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/Main.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/Main.java Fri May 18 06:50:59 2007
@@ -24,6 +24,7 @@
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
+import java.net.BindException;
 import java.util.Collection;
 import java.util.List;
 import java.util.StringTokenizer;
@@ -160,7 +161,8 @@
         }
         else if (commandLine.hasOption("v"))
         {
-            String ver = "Qpid 0.9.0.0";
+            String ver = QpidProperties.getVersionString();
+
             StringBuilder protocol = new StringBuilder("AMQP version(s) [major.minor]: ");
 
             boolean first = true;
@@ -333,7 +335,7 @@
         }
     }
 
-    protected void bind(int port, ConnectorConfiguration connectorConfig)
+    protected void bind(int port, ConnectorConfiguration connectorConfig) throws BindException
     {
         String bindAddr = commandLine.getOptionValue("b");
         if (bindAddr == null)
@@ -401,6 +403,8 @@
         catch (Exception e)
         {
             _logger.error("Unable to bind service to registry: " + e, e);
+            //fixme this need tidying up
+            throw new BindException(e.getMessage());
         }
     }
 

Added: incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java?view=auto&rev=539470
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java (added)
+++ incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java Fri May 18 06:50:59 2007
@@ -0,0 +1,130 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.    
+ *
+ * 
+ */
+package org.apache.qpid.server;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Level;
+
+import java.io.InputStream;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+
+public class RunBrokerWithCommand
+{
+    public static void main(String[] args)
+    {
+        //Start broker
+
+        try
+        {
+
+            String[] fudge = new String[1];
+            fudge[0] = "-v";
+            new Main(fudge).startup();
+        }
+        catch (Exception e)
+        {
+            System.out.println("Unable to start broker due to: " + e.getMessage());
+
+            e.printStackTrace();
+            exit(1);
+        }
+
+        Logger.getRootLogger().setLevel(Level.ERROR);
+
+        //run command
+        try
+        {
+            Process task = Runtime.getRuntime().exec(args[0]);
+            System.out.println("Started Proccess: " + args[0]);
+
+            InputStream inputStream = task.getInputStream();
+
+            InputStream errorStream = task.getErrorStream();
+
+            Thread out = new Thread(new Outputter("[OUT]", new BufferedReader(new InputStreamReader(inputStream))));
+            Thread err = new Thread(new Outputter("[ERR]", new BufferedReader(new InputStreamReader(errorStream))));
+
+            out.start();
+            err.start();
+
+            out.join();
+            err.join();
+
+            System.out.println("Waiting for process to exit: " + args[0]);
+            task.waitFor();
+            System.out.println("Done Proccess: " + args[0]);
+
+        }
+        catch (IOException e)
+        {
+            System.out.println("Proccess had problems: " + e.getMessage());
+            exit(1);
+        }
+        catch (InterruptedException e)
+        {
+            System.out.println("Proccess had problems: " + e.getMessage());
+
+            exit(1);
+        }
+
+
+        exit(0);
+    }
+
+    private static void exit(int i)
+    {
+        Logger.getRootLogger().setLevel(Level.INFO);
+        System.exit(i);
+    }
+
+    static class Outputter implements Runnable
+    {
+
+        BufferedReader reader;
+        String prefix;
+
+        Outputter(String s, BufferedReader r)
+        {
+            prefix = s;
+            reader = r;
+        }
+
+        public void run()
+        {
+            String line;
+            try
+            {
+                while ((line = reader.readLine()) != null)
+                {
+                    System.out.println(prefix + line);
+                }
+            }
+            catch (IOException e)
+            {
+                System.out.println("Error occured reading; " + e.getMessage());
+            }
+        }
+
+    }
+
+}

Propchange: incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/qpid/branches/M2/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date